Skip to content

[release/10.0.1xx] Update to use stable Xcode 26.6 - #25851

Merged
dalexsoto merged 4 commits into
release/10.0.1xxfrom
dev/alex/xc266Stable
Jun 29, 2026
Merged

[release/10.0.1xx] Update to use stable Xcode 26.6#25851
dalexsoto merged 4 commits into
release/10.0.1xxfrom
dev/alex/xc266Stable

Conversation

@dalexsoto

Copy link
Copy Markdown
Member

No description provided.

dalexsoto and others added 4 commits June 9, 2026 22:05
Co-authored-by: dalexsoto <204671+dalexsoto@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Copilot AI review requested due to automatic review settings June 29, 2026 13:41
@dalexsoto
dalexsoto requested a review from rolfbjarne as a code owner June 29, 2026 13:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the release/10.0.1xx pipeline/tooling to target stable Xcode 26.6 and improves CI reliability by routing jobs to the ACES shared pool and ensuring Xcode selection is consistently captured after provisioning.

Changes:

  • Bump required Xcode version to 26.6 and make Xcode developer root overrideable via configure.inc / ./configure --xcode=....
  • Add useACES plumbing across build/api-diff/test pipeline templates to run workloads on the ACES shared pool.
  • Improve CI robustness by forwarding VM detection into test processes and adding CI ignores for VM- and network-timeout-related flakiness.

Reviewed changes

Copilot reviewed 31 out of 31 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tools/devops/automation/templates/variables/common.yml Adds documented ACES shared-pool variables (pool name, image, URL) and explains useACES wiring.
tools/devops/automation/templates/tests/stage.yml Adds useACES parameter and switches simulator-test jobs to ACES pool when enabled (also sets VM gating variable).
tools/devops/automation/templates/tests/build.yml Moves ./configure to after provisioning and passes --xcode=$(xcode-select -p) to avoid baking the wrong Xcode.
tools/devops/automation/templates/tests-stage.yml Threads useACES through the higher-level tests stage template.
tools/devops/automation/templates/pipelines/run-tests-pipeline.yml Adds a useACES pipeline parameter and passes it into tests-stage.yml.
tools/devops/automation/templates/pipelines/api-diff-pipeline.yml Adds a useACES parameter and passes it into the API diff stage template.
tools/devops/automation/templates/main-stage.yml Adds useACES parameter and forwards it into the build stage template.
tools/devops/automation/templates/build/build.yml Ensures xcode-select is valid, exports Xcode env vars, and runs ./configure --xcode=... in CI build jobs.
tools/devops/automation/templates/build/build-stage.yml Adds ACES pool switching for the main build job.
tools/devops/automation/templates/build/build-mac-tests-stage.yml Adds ACES pool switching for the macOS test-build job.
tools/devops/automation/templates/build/api-diff-stage.yml Adds ACES pool switching for the API diff job.
tools/devops/automation/templates/api-diff-stage.yml Threads useACES into the API diff stage template.
tools/devops/automation/run-pr-api-diff.yml Enables useACES: true for PR API diff runs.
tools/devops/automation/run-post-pr-build-tests.yml Enables useACES: true for post-PR simulator tests.
tools/devops/automation/run-post-ci-build-tests.yml Enables useACES: true for post-CI simulator tests.
tools/devops/automation/run-ci-api-diff.yml Enables useACES: true for CI API diff runs.
tools/devops/automation/build-pull-request.yml Enables useACES: true for PR builds.
tools/devops/automation/build-pipeline.yml Enables useACES: true for CI builds (with comment indicating it can be flipped).
tools/common/SdkVersions.cs Updates the reported Xcode version constant to 26.6.
tests/xharness/Jenkins/TestVariationsFactory.cs Disables x64 variations on ACES (based on an env var) to avoid unsupported configurations.
tests/xharness/AppRunner.cs Forwards VM_VENDOR into simulator processes so VM-gated tests can ignore correctly.
tests/monotouch-test/VideoToolbox/VTMotionEstimationSessionTest.cs Adds VM-gating for macOS/MacCatalyst where virtualization breaks functionality.
tests/monotouch-test/VideoToolbox/VTCompressionSessionTests.cs Adds VM-gating for macOS/MacCatalyst where virtualization breaks functionality.
tests/monotouch-test/Metal/MTLDeviceTests.cs Adds VM-gating to avoid running Metal-dependent assertions on VM-backed bots.
tests/monotouch-test/AudioToolbox/AudioQueueTest.cs Adds VM-gating to avoid running AudioToolbox-dependent assertions on VM-backed bots.
tests/linker/link sdk/LinkSdkRegressionTest.cs Makes special-folder assertions tolerant to missing user dirs specifically on CI VMs.
tests/introspection/ApiTypoTest.cs Adjusts platform skip lists for typo exceptions (platform availability alignment).
tests/common/TestRuntime.cs Makes AssertNotVirtualMachine VM_VENDOR-based for all platforms and adds HttpClient-timeout ignore helper.
system-dependencies.sh Reads Xcode developer root from configure.inc/env, improves simulator-runtime deletion logging/timeout, and adds ACES-specific branch.
Make.config Updates Xcode version/URL, allows configure.inc to override Xcode root, and ensures Build.props regenerates when configure.inc changes.
configure Adds --xcode* options that write XCODE_DEVELOPER_ROOT to configure.inc with validation.

Comment on lines +96 to +99
# The ACES pool is a virtual-machine pool; expose VM_VENDOR so tests
# gated by TestRuntime.AssertNotVirtualMachine get ignored there.
${{ if parameters.useACES }}:
VM_VENDOR: ACES
Comment on lines +73 to +78
${{ if parameters.useACES }}:
pool:
os: macOS
name: $(CIBuildPoolACES)
demands:
- ImageOverride -equals $(CIBuildPoolACESImage)
Comment on lines 54 to 55
RUN_MAC_TESTS: $[ stageDependencies.configure_build.configure.outputs['decisions.RUN_MAC_TESTS'] ]
condition: ne(stageDependencies.configure_build.configure.outputs['decisions.RUN_MAC_TESTS'],'')
Comment on lines +51 to +56
${{ if parameters.useACES }}:
pool:
name: $(CIBuildPoolACES)
demands:
- ImageOverride -equals $(CIBuildPoolACESImage)
${{ else }}:
public static void AssertNotVirtualMachine ()
{
#if MONOMAC || __MACCATALYST__
// enviroment variable set by the CI when running on a VM
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ [PR Build #01ec25e] Build passed (Detect API changes) ✅

Pipeline on Agent
Hash: 01ec25e44f633f3f657ddde071b9763f3ea6d52e [PR build]

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ [PR Build #01ec25e] Build passed (Build macOS tests) ✅

Pipeline on Agent
Hash: 01ec25e44f633f3f657ddde071b9763f3ea6d52e [PR build]

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

🔥 Failed to compare API and create generator diff 🔥

Error: The system requirements for the hash to compare against (ce56202�(B) are different than for the current hash. Comparison is currently not supported in this scenario.�(B

Pipeline on Agent
Hash: 01ec25e44f633f3f657ddde071b9763f3ea6d52e [PR build]

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ [PR Build #01ec25e] Build passed (Build packages) ✅

Pipeline on Agent
Hash: 01ec25e44f633f3f657ddde071b9763f3ea6d52e [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

🚀 [CI Build #01ec25e] Test results 🚀

Test results

✅ All tests passed on VSTS: test results.

🎉 All 167 tests passed 🎉

Tests counts

✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (MacCatalyst): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download
✅ framework: All 2 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 4 tests passed. Html Report (VSDrops) Download
✅ generator: All 5 tests passed. Html Report (VSDrops) Download
✅ interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download
✅ introspection: All 6 tests passed. Html Report (VSDrops) Download
✅ linker: All 44 tests passed. Html Report (VSDrops) Download
✅ monotouch (iOS): All 14 tests passed. Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 16 tests passed. Html Report (VSDrops) Download
✅ monotouch (macOS): All 16 tests passed. Html Report (VSDrops) Download
✅ monotouch (tvOS): All 14 tests passed. [attempt 2] Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ sharpie: All 1 tests passed. Html Report (VSDrops) Download
✅ windows: All 3 tests passed. Html Report (VSDrops) Download
✅ xcframework: All 4 tests passed. Html Report (VSDrops) Download
✅ xtro: All 1 tests passed. Html Report (VSDrops) Download

macOS tests

✅ Tests on macOS Monterey (12): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Ventura (13): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Sequoia (15): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Tahoe (26): All 5 tests passed. Html Report (VSDrops) Download

Linux Build Verification

Linux build succeeded

Pipeline on Agent
Hash: 01ec25e44f633f3f657ddde071b9763f3ea6d52e [PR build]

@dalexsoto
dalexsoto enabled auto-merge (squash) June 29, 2026 18:59
@dalexsoto
dalexsoto disabled auto-merge June 29, 2026 18:59
@dalexsoto
dalexsoto merged commit 3cc6144 into release/10.0.1xx Jun 29, 2026
47 of 49 checks passed
@dalexsoto
dalexsoto deleted the dev/alex/xc266Stable branch June 29, 2026 18:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants