Skip to content

Move unit tests to new macOS & iOS #20

Move unit tests to new macOS & iOS

Move unit tests to new macOS & iOS #20

Workflow file for this run

name: Unit Tests
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Swiftlint
uses: norio-nomura/action-swiftlint@3.2.1
with:
args: --strict
macos:
name: macOS
needs: lint
runs-on: macos-14
steps:
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: 15
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
- name: Build
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild build-for-testing -scheme ChromaSwift -destination "platform=macos,arch=arm64" -enableCodeCoverage YES | xcbeautify
- name: Test
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild test-without-building -scheme ChromaSwift -destination "platform=macos,arch=arm64" -enableCodeCoverage YES | xcbeautify
- name: Codecov upload
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
ios:
name: iOS
needs: lint
runs-on: macos-14
steps:
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: 15
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
- name: Build
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild build-for-testing -scheme ChromaSwift -destination "platform=iOS Simulator,OS=latest,name=iPhone 15" | xcbeautify
- name: Test
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild test-without-building -scheme ChromaSwift -destination "platform=iOS Simulator,OS=latest,name=iPhone 15" | xcbeautify
tvOS:
name: tvOS
needs: lint
runs-on: macos-14
steps:
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: 15
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
- name: Build
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild build-for-testing -scheme ChromaSwift -destination "platform=tvOS Simulator,OS=latest,name=Apple TV" | xcbeautify
- name: Test
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild test-without-building -scheme ChromaSwift -destination "platform=tvOS Simulator,OS=latest,name=Apple TV" | xcbeautify