Repository navigation
Add Xcode 26 CI jobs for iOS and macOS - #1642
Merged
Merged
Conversation
CedricGuillemet
force-pushed
the
test/xcode-26
branch
3 times, most recently
from
March 20, 2026 17:03
57dbd1b to
08f1008
Compare
CedricGuillemet
marked this pull request as ready for review
March 23, 2026 10:57
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the Azure DevOps pipeline and Apple platform code to support selecting specific Xcode versions per job (including new Xcode 26-targeting jobs) and to address iOS 26 deprecations in a few UIKit API usages.
Changes:
- Add an
xcodeVersionparameter to iOS/macOS CI job templates and switch Xcode selection to use that parameter. - Add new macOS and iOS pipeline jobs intended to run under “Xcode 26”.
- Update iOS orientation and display-scale retrieval code paths to use newer APIs when running on iOS 26.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
azure-pipelines.yml |
Removes global Xcode version var; passes explicit xcodeVersion into Apple job templates; adds “Xcode 26” jobs. |
.github/jobs/macos.yml |
Adds xcodeVersion parameter and uses it for xcode-select. |
.github/jobs/ios.yml |
Adds xcodeVersion parameter and uses it for xcode-select. |
.github/jobs/test_install_macos.yml |
Adds xcodeVersion parameter and uses it for xcode-select in installation tests. |
.github/jobs/test_install_ios.yml |
Adds xcodeVersion parameter and uses it for xcode-select in installation tests. |
Plugins/NativeCamera/Source/Apple/CameraDevice.mm |
Uses iOS 26+ orientation API (effectiveGeometry) with deprecated fallback suppressed. |
Dependencies/xr/Source/ARKit/XR.mm |
Same iOS 26+ orientation API update as NativeCamera. |
Core/Graphics/Source/DeviceImpl_iOS.mm |
Avoids deprecated UIScreen.mainScreen on newer iOS by reading display scale from a window scene when possible. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
bghgary
reviewed
Mar 23, 2026
Use effectiveGeometry.interfaceOrientation on iOS 26+ while keeping the old interfaceOrientation call for earlier iOS versions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use effectiveGeometry.interfaceOrientation on iOS 26+ with pragma guards around the old API for older iOS versions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace deprecated UIScreen.mainScreen.scale with UIWindowScene.traitCollection.displayScale (iOS 17+). Retains a pragma-suppressed fallback for older iOS versions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
CedricGuillemet
force-pushed
the
test/xcode-26
branch
from
April 16, 2026 08:43
53b6905 to
9af888c
Compare
Add xcode-version input to build-ios, build-macos, test-install-ios, and test-install-macos reusable workflows (defaults to 16.4). Add MacOS_Xcode26 and iOS_Xcode26 jobs targeting Xcode 26.4. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
CedricGuillemet
force-pushed
the
test/xcode-26
branch
from
April 16, 2026 08:54
9af888c to
bd96f38
Compare
bghgary
added a commit
to bghgary/JsRuntimeHost
that referenced
this pull request
Apr 17, 2026
Add macOS_Xcode26 and iOS_Xcode26 jobs on the macos-26 runner with Xcode 26.4 (iPhone 17 simulator for iOS). Remove iOS_Xcode152 which ran on the soon-to-be-retired macos-14 runner. Mirrors BabylonJS/BabylonNative#1642. No source changes needed — JsRuntimeHost has no iOS UI code affected by the iOS 26 deprecations. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
bghgary
added a commit
to BabylonJS/JsRuntimeHost
that referenced
this pull request
Apr 17, 2026
[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>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add iOS and macOS build jobs targeting Xcode 26