Apply swift format #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |