Skip to content

Apply swift format

Apply swift format #3

Workflow file for this run

name: tests
on:
push:
branches:
- 'develop'
- 'release/**'
jobs:
Tests:
name: Tests
runs-on: macOS-13
env:
DEVELOPER_DIR: /Applications/Xcode_14.3.1.app/Contents/Developer
PROJECT: VirgilE3Kit.xcodeproj
strategy:
matrix:
include:
- destination: "OS=17.0,name=iPhone 14"
prefix: "iOS"
test: "1"
- destination: "arch=x86_64"
prefix: "macOS"
test: "1"
- destination: "OS=17.0,name=Apple TV"
prefix: "tvOS"
test: "1"
- destination: "OS=10.0,name=Apple Watch Series 7 - 45mm"
prefix: "watchOS"
test: "0"
steps:
- uses: actions/checkout@v3
- name: Decrypt tests config
env:
ENCRYPTION_KEY: ${{ secrets.ENCRYPTION_KEY }}
ENCRYPTION_IV: ${{ secrets.ENCRYPTION_IV }}
run: ./CI/decrypt-config.sh
- name: Run ${{ matrix.prefix }} Tests
uses: nick-fields/retry@v2
with:
max_attempts: 20
timeout_minutes: 30
retry_on: error
command: |
set -o pipefail
SCHEME="VirgilE3Kit ${{ matrix.prefix }}"
if [ "${{ matrix.test }}" == "1" ]; then
# Build & Test Framework
xcodebuild -verbose -project "$PROJECT" -scheme "$SCHEME" -destination "${{ matrix.destination }}" -configuration Debug clean test | xcpretty;
else
# Build Only
xcodebuild -verbose -project "$PROJECT" -scheme "$SCHEME" -destination "${{ matrix.destination }}" -configuration Release clean build | xcpretty;
fi
SPM:
runs-on: macOS-13
env:
DEVELOPER_DIR: /Applications/Xcode_14.3.1.app/Contents/Developer
steps:
- uses: actions/checkout@v3
- name: Decrypt tests config
env:
ENCRYPTION_KEY: ${{ secrets.ENCRYPTION_KEY }}
ENCRYPTION_IV: ${{ secrets.ENCRYPTION_IV }}
run: ./CI/decrypt-config.sh
- name: SPM test build
run: |
brew install coreutils # install 'timeout' utility
swift --version
# fix for Swift Package Manager when it fails to download binary targets
timeout 5m bash -c 'until swift build; do rm -fr .build && sleep 10; done'
- name: SPM test run
uses: nick-fields/retry@v2
with:
max_attempts: 10
timeout_minutes: 5
retry_on: error
command: swift test
Swiftlint:
runs-on: macOS-13
env:
DEVELOPER_DIR: /Applications/Xcode_14.3.1.app/Contents/Developer
steps:
- uses: actions/checkout@v3
- name: Swiftlint
run: |
brew outdated swiftlint || brew upgrade swiftlint
swiftlint