mirror of
https://github.com/mattrubin/Authenticator.git
synced 2026-05-20 13:40:34 +00:00
56 lines
1.7 KiB
YAML
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
|