Skip to content

New runloop observer #3505

New runloop observer

New runloop observer #3505

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