Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,11 @@ jobs:
- name: Install Slather
run: gem install slather

# Based on a comment in CircleCI forum, we need to boot the simulator for Xcode 26: https://discuss.circleci.com/t/xcode-26-rc/54066/18
- name: Boot simulator
if: ${{matrix.platform == 'iOS' && matrix.test-destination-os == '26.0'}}
run: ./scripts/ci-boot-simulator.sh --xcode ${{matrix.xcode}}

# We split building and running tests in two steps so we know how long running the tests takes.
- name: Build tests
id: build_tests
Expand Down Expand Up @@ -421,6 +426,14 @@ jobs:
path: |
~/Library/Logs/DiagnosticReports/**

- name: Archiving Test Results
uses: actions/upload-artifact@v4
if: ${{ failure() || cancelled() }}
with:
name: result-bundle-${{matrix.platform}}-xcode-${{matrix.xcode}}-os-${{matrix.test-destination-os}}
path: |
results.xcresult

- name: Gather code coverage information via slather
run: slather coverage --configuration TestCI --scheme Sentry

Expand Down Expand Up @@ -463,6 +476,12 @@ jobs:
if: failure()
run: ./scripts/ci-diagnostics.sh

- name: Store screenshot
uses: ./.github/actions/capture-screenshot
if: failure()
with:
suffix: unit-tests-${{ matrix.platform }}-xcode-${{ matrix.xcode }}-os-${{ matrix.test-destination-os }}

# This check validates that either all unit tests passed or were skipped, which allows us
# to make unit tests a required check with only running the unit tests when required.
# So, we don't have to run unit tests, for example, for Changelog or ReadMe changes.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ui-tests-critical.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
runs-on: macos-15
xcode: "26.0.1"
platform: "iOS"
device: "iPhone 16 Pro"
device: "iPhone 17 Pro"
test-destination-os: "26.0"

secrets:
Expand Down
5 changes: 5 additions & 0 deletions scripts/ci-boot-simulator.sh
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,11 @@ case "$XCODE_VERSION" in
IOS_VERSION="18.4"
log_notice "Selected: $SIMULATOR with iOS $IOS_VERSION for Xcode $XCODE_VERSION"
;;
"26.0.1")
SIMULATOR="iPhone 17 Pro"
IOS_VERSION="26.0"
log_notice "Selected: $SIMULATOR with iOS $IOS_VERSION for Xcode $XCODE_VERSION"
;;
*)
SIMULATOR="iPhone 16 Pro" # Default fallback
IOS_VERSION="18.4"
Expand Down
1 change: 1 addition & 0 deletions scripts/sentry-xcodebuild.sh
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ if [ $RUN_TEST_WITHOUT_BUILDING == true ]; then
"${TEST_PLAN_ARGS[@]+${TEST_PLAN_ARGS[@]}}" \
-configuration "$CONFIGURATION" \
-destination "$DESTINATION" \
-resultBundlePath "results.xcresult" \
test-without-building 2>&1 |
tee raw-test-output.log |
xcbeautify --report junit
Expand Down
Loading