New runloop observer #3505
This file contains hidden or 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: UI Tests Critical | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
paths: | |
- "Sources/**" | |
- ".github/workflows/ui-tests-critical.yml" | |
- ".github/workflows/ui-tests-common.yml" | |
- "fastlane/**" | |
- "TestSamples/**" | |
- "**/*.xctestplan" | |
# Explicitly list used scripts to avoid unnecessary runs | |
- "scripts/ci-boot-simulator.sh" | |
- "scripts/ci-select-xcode.sh" | |
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
run-tests: | |
name: Test iOS on Xcode ${{matrix.platform.xcode}} - ${{ matrix.command.fastlane_command }} - V4 # Up the version with every change to keep track of flaky tests | |
uses: ./.github/workflows/ui-tests-common.yml | |
with: | |
fastlane_command: ${{ matrix.command.fastlane_command }} | |
build_with_make: true | |
xcode_version: ${{matrix.platform.xcode}} | |
macos_version: ${{matrix.platform.runs-on}} | |
files_suffix: _${{matrix.platform.xcode}} | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: | |
# As of 25th March 2025, the preinstalled iOS simulator version is 16.4 for macOS 13 and Xcode 14.3.1; see | |
# https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md#installed-sdks | |
- runs-on: macos-13 | |
xcode: "14.3.1" | |
# macos-14 iOS 17 not included due to the XCUIServerNotFound errors causing flaky tests | |
# As of 25th March 2025, the preinstalled iOS simulator version is 18.2 for macOS 15 and Xcode 16.2; see | |
# https://github.com/actions/runner-images/blob/main/images/macos/macos-15-Readme.md#installed-sdks | |
- runs-on: macos-15 | |
xcode: "16.2" | |
command: | |
- fastlane_command: ui_critical_tests_ios_swiftui_envelope | |
run-swiftui-crash-test: | |
name: Run SwiftUI Crash Test | |
runs-on: macos-15 | |
timeout-minutes: 15 | |
steps: | |
- uses: actions/checkout@v4 | |
- run: ./scripts/ci-select-xcode.sh 16.2 | |
- run: make init-ci-build | |
- run: make xcode-ci | |
- name: Boot simulator | |
run: ./scripts/ci-boot-simulator.sh | |
- name: Run SwiftUI Crash Test | |
run: | | |
./TestSamples/SwiftUICrashTest/test-crash-and-relaunch.sh --screenshots-dir "swiftui-crash-test-screenshots" | |
- name: Upload SwiftUI Crash Test Screenshots | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: swiftui-crash-test-screenshots | |
path: swiftui-crash-test-screenshots |