Files
2026-04-10 14:49:10 -04:00

56 lines
1.7 KiB
YAML

name: Build & Test
on:
- push
- pull_request
jobs:
ios:
name: "Build & Test (Xcode ${{ matrix.env.xcode }}, ${{ matrix.env.runtime }}, ${{ matrix.env.device }})"
runs-on: macos-15
strategy:
fail-fast: false
matrix:
env:
- xcode: 26.2
runtime: "iOS 16.4"
device: "iPhone XR"
- xcode: 26.2
runtime: "iOS 17.5"
device: "iPhone SE (2nd generation)"
- xcode: 26.2
runtime: "iOS 18.6"
device: "iPhone 16e"
- xcode: 26.2
runtime: "iOS 26.2"
device: "iPhone 17 Pro Max"
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- name: "Select Xcode ${{ matrix.env.xcode }}"
uses: ./.github/actions/xcode-select
with:
version: ${{ matrix.env.xcode }}
- name: "Cache downloaded simulator runtimes"
uses: actions/cache@v5
with:
path: ~/Library/Caches/XcodeInstall/*.dmg
key: Xcode ${{ matrix.env.xcode }}+${{ matrix.env.runtime }}
- name: "Prepare simulator"
id: prepare-simulator
uses: ./.github/actions/prepare-simulator
with:
runtime: ${{ matrix.env.runtime }}
device: ${{ matrix.env.device }}
- name: "Build and test"
run: |
set -o pipefail
xcodebuild test -workspace "Authenticator.xcworkspace" -scheme "Authenticator" -destination "id=${{ steps.prepare-simulator.outputs.destination-id }}" | xcpretty -c
# - uses: sersoft-gmbh/swift-coverage-action@v5
# with:
# target-name-filter: ^Authenticator$
# - uses: codecov/codecov-action@v6
# with:
# fail_ci_if_error: true