Skip to content

Commit 5b3fb7c

Browse files
bghgaryCopilot
andauthored
Add Xcode 26 CI jobs and drop Xcode 15.2 (#163)
[Created by Copilot on behalf of @bghgary] Add CI coverage for Xcode 26 (`macos-26` runner) and drop Xcode 15.2. ## Changes - **Added** `macOS_Xcode264` — builds + tests on `macos-26` with Xcode 26.4. - **Added** `macOS_Xcode264_Sanitizers` — ASan/UBSan on `macos-26` with Xcode 26.4. - **Added** `macOS_Xcode264_ThreadSanitizer` — TSan on `macos-26` with Xcode 26.4. - **Added** `iOS_Xcode264` — builds + tests on `macos-26` with Xcode 26.4, iPhone 17 simulator. - **Removed** `iOS_Xcode152` — the `macos-14` runner and Xcode 15.2 are on their way to being retired; Xcode 16.4 (`macos-latest`) is our baseline and Xcode 26 now exercises the latest toolchain. The Xcode 16.4 sanitizer jobs are retained alongside the new 26.4 sanitizer jobs. Major Xcode bumps have historically introduced sanitizer-runtime regressions (instrumentation gaps as the toolchain catches up to new system libraries), and TSan on arm64 is less battle-tested than on x86. Running both lets us catch regressions on the newer toolchain without losing coverage if Xcode 26 has sanitizer issues. Once Xcode 26 sanitizers have been stable for a while, the 16.4 sanitizer jobs can be dropped. Mirrors the approach taken in BabylonJS/BabylonNative#1642. No source changes were needed — JsRuntimeHost has no iOS/macOS UI code (no `UIScreen.mainScreen`, `connectedScenes`, or `statusBarOrientation` usages), so the iOS 26 deprecations addressed in #1642 don't apply here. ## Dropping Xcode 15.2 Xcode 15.2 coverage came from the `macos-14` runner, which is being phased out on GitHub Actions. With `macos-latest` pinned to Xcode 16.4 and the new `macos-26` job exercising Xcode 26.4, the 15.2 slot is redundant and unsupported. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent e2ea160 commit 5b3fb7c

1 file changed

Lines changed: 23 additions & 4 deletions

File tree

.github/workflows/ci.yml

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,25 @@ jobs:
9090
runs-on: macos-latest
9191
enable-thread-sanitizer: true
9292

93+
macOS_Xcode264:
94+
uses: ./.github/workflows/build-macos.yml
95+
with:
96+
xcode-version: '26.4'
97+
runs-on: macos-26
98+
99+
macOS_Xcode264_Sanitizers:
100+
uses: ./.github/workflows/build-macos.yml
101+
with:
102+
xcode-version: '26.4'
103+
runs-on: macos-26
104+
enable-sanitizers: true
105+
106+
macOS_Xcode264_ThreadSanitizer:
107+
uses: ./.github/workflows/build-macos.yml
108+
with:
109+
xcode-version: '26.4'
110+
runs-on: macos-26
111+
enable-thread-sanitizer: true
93112

94113
# ── iOS ───────────────────────────────────────────────────────
95114
iOS_Xcode164:
@@ -99,12 +118,12 @@ jobs:
99118
runs-on: macos-latest
100119
simulator: 'iPhone 16'
101120

102-
iOS_Xcode152:
121+
iOS_Xcode264:
103122
uses: ./.github/workflows/build-ios.yml
104123
with:
105-
xcode-version: '15.2'
106-
runs-on: macos-14
107-
simulator: 'iPhone 15'
124+
xcode-version: '26.4'
125+
runs-on: macos-26
126+
simulator: 'iPhone 17'
108127

109128
# ── Linux ─────────────────────────────────────────────────────
110129
Ubuntu_gcc:

0 commit comments

Comments
 (0)