Skip to content

Commit 91ad768

Browse files
committed
Treat legacy-OS CI test entries as best-effort
Recent runs surfaced a host/runtime ABI fragility that's not worth patching with more workarounds: with Xcode 26.3 pinned everywhere, PatronArchiverKitTests' swift-testing cases reliably pass on macos-26 + iOS 26 sim, but reliably SIGSEGV on macos-15 + iOS 18.6 sim. The UI tests (XCTest) pass on both. The same shape applies to macOS 15 native — Apple's secondary-OS support tends to lag and is the thing blocking CI green. Make the secondary OSes informative rather than gating: - `strategy.fail-fast: false` so one entry's failure doesn't hide results from the rest - `continue-on-error: true` on macOS 15 and every iOS 18 entry, driven via a matrix field so the job condition is explicit - macOS 26 and every iOS 26 entry remain must-pass Status checks for the legacy entries still show up red/yellow in the Actions UI when they fail, so regressions stay visible; they just don't gate the workflow. Drop the flag once Apple's swift-testing ABI settles across the host/sim combos.
1 parent 4a924f0 commit 91ad768

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,9 @@ jobs:
7272
name: Test (${{ matrix.destination-name }})
7373
needs: build
7474
runs-on: ${{ matrix.runs-on || 'macos-latest' }}
75+
continue-on-error: ${{ matrix.continue-on-error || false }}
7576
strategy:
77+
fail-fast: false
7678
matrix:
7779
include:
7880
# macOS — native, no simulator
@@ -84,6 +86,7 @@ jobs:
8486
destination-name: macOS 15 - Mac
8587
test-destination: 'platform=macOS'
8688
runs-on: macos-15
89+
continue-on-error: true
8790
# iOS — all run on macos-26 so build and test share the same
8891
# Xcode toolchain. The iOS 18.6 runtime is missing from this
8992
# image and is installed on-demand by the setup step.
@@ -127,36 +130,43 @@ jobs:
127130
device-name: iPhone 16 Pro Max
128131
os-version: '18.6'
129132
runs-on: macos-15
133+
continue-on-error: true
130134
- platform: iOS
131135
destination-name: iOS 18 - iPhone 16
132136
device-name: iPhone 16
133137
os-version: '18.6'
134138
runs-on: macos-15
139+
continue-on-error: true
135140
- platform: iOS
136141
destination-name: iOS 18 - iPhone 16e
137142
device-name: iPhone 16e
138143
os-version: '18.6'
139144
runs-on: macos-15
145+
continue-on-error: true
140146
- platform: iOS
141147
destination-name: iOS 18 - iPad Pro 13-inch (M4)
142148
device-name: iPad Pro 13-inch (M4)
143149
os-version: '18.6'
144150
runs-on: macos-15
151+
continue-on-error: true
145152
- platform: iOS
146153
destination-name: iOS 18 - iPad Air 11-inch (M2)
147154
device-name: iPad Air 11-inch (M2)
148155
os-version: '18.6'
149156
runs-on: macos-15
157+
continue-on-error: true
150158
- platform: iOS
151159
destination-name: iOS 18 - iPad (10th generation)
152160
device-name: iPad (10th generation)
153161
os-version: '18.6'
154162
runs-on: macos-15
163+
continue-on-error: true
155164
- platform: iOS
156165
destination-name: iOS 18 - iPad mini (A17 Pro)
157166
device-name: iPad mini (A17 Pro)
158167
os-version: '18.6'
159168
runs-on: macos-15
169+
continue-on-error: true
160170
steps:
161171
- name: Select Xcode 26.3
162172
run: sudo xcodes select 26.3

0 commit comments

Comments
 (0)