[CI] Use ACES in CI builds#25572
Conversation
…M when using ACES
There was a problem hiding this comment.
Pull request overview
This PR adds ACES pool support for CI Azure DevOps builds while keeping PR pipelines on the existing Mac pools. It also adjusts CI/test behavior for VM-backed agents and adds a few test resiliency updates.
Changes:
- Adds and propagates a
useACEStemplate parameter through build, API diff, and simulator-test pipeline templates. - Switches CI entry pipelines to ACES while leaving PR entry pipelines on legacy pools.
- Updates selected tests/utilities to account for ACES VM environments and CI-specific network/folder behavior.
Reviewed changes
Copilot reviewed 27 out of 27 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
tools/devops/automation/templates/variables/common.yml |
Defines ACES pool variables and documents the per-pipeline switch. |
tools/devops/automation/templates/tests/stage.yml |
Adds ACES pool selection and VM_VENDOR for simulator tests. |
tools/devops/automation/templates/tests/build.yml |
Adds retry handling for Provisionator dependencies. |
tools/devops/automation/templates/tests-stage.yml |
Propagates useACES to simulator tests and macOS-test build jobs. |
tools/devops/automation/templates/pipelines/run-tests-pipeline.yml |
Exposes and forwards the useACES parameter. |
tools/devops/automation/templates/pipelines/api-diff-pipeline.yml |
Adds useACES forwarding for API diff pipelines. |
tools/devops/automation/templates/main-stage.yml |
Adds useACES forwarding to the main build stage. |
tools/devops/automation/templates/build/build-stage.yml |
Switches build job pool selection based on useACES. |
tools/devops/automation/templates/build/build-mac-tests-stage.yml |
Switches macOS test-build pool selection based on useACES. |
tools/devops/automation/templates/build/api-diff-stage.yml |
Switches API diff job pool selection based on useACES. |
tools/devops/automation/templates/api-diff-stage.yml |
Propagates useACES to API diff job template. |
tools/devops/automation/run-pr-api-diff.yml |
Keeps PR API diff off ACES. |
tools/devops/automation/run-post-pr-build-tests.yml |
Keeps PR post-build simulator tests off ACES. |
tools/devops/automation/run-post-ci-build-tests.yml |
Enables ACES for CI post-build simulator tests. |
tools/devops/automation/run-ci-api-diff.yml |
Enables ACES for CI API diff. |
tools/devops/automation/build-pull-request.yml |
Keeps PR builds off ACES. |
tools/devops/automation/build-pipeline.yml |
Enables ACES for CI builds. |
tests/xharness/AppRunner.cs |
Forwards VM_VENDOR into launched test apps in CI. |
tests/monotouch-test/VideoToolbox/VTMotionEstimationSessionTest.cs |
Skips selected tests on VM-backed macOS/Mac Catalyst runs. |
tests/monotouch-test/VideoToolbox/VTCompressionSessionTests.cs |
Skips multi-image compression test on VM-backed macOS/Mac Catalyst runs. |
tests/monotouch-test/System.Net.Http/NetworkResources.cs |
Adds an HTTP Microsoft URI helper. |
tests/monotouch-test/Network/NWParametersTest.cs |
Uses the HTTP Microsoft URI host for port-80 Network tests. |
tests/monotouch-test/Network/NWConnectionTest.cs |
Uses the HTTP Microsoft URI host for Network connection tests. |
tests/monotouch-test/Metal/MTLDeviceTests.cs |
Skips one Metal test on VM-backed runs. |
tests/monotouch-test/AudioToolbox/AudioQueueTest.cs |
Skips channel assignment test on VM-backed runs. |
tests/linker/link sdk/LinkSdkRegressionTest.cs |
Tolerates missing standard user folders on macOS CI images. |
tests/common/TestRuntime.cs |
Makes VM detection active on all platforms. |
|
/azp run xamarin-macios-pr,xamarin-macios-pr-apidiff |
|
Azure Pipelines successfully started running 2 pipeline(s). |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
|
||
| class ConnectionManager : IDisposable { | ||
| string host = NetworkResources.MicrosoftUri.Host; | ||
| string host = NetworkResources.MicrosoftHttpUri.Host; |
There was a problem hiding this comment.
This looks weird; https links don't work, but http does?
There was a problem hiding this comment.
yeah, I am not sure why I wonder if there is a rule somewhere to just disallow any 80 (unsecured) connection which would not surprise me...
There was a problem hiding this comment.
This the other way around: unsecure (http) is allowed, while secure (https) is not allowed... which looks suspicious. What were the test failures you were seeing?
|
/azp run xamarin-macios-pr,xamarin-macios-pr-apidiff |
|
Azure Pipelines successfully started running 2 pipeline(s). |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
🔥 [CI Build #1adb358] Build failed (Detect API changes) 🔥Build failed for the job 'Detect API changes' (with job status 'Failed') Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
|
🔥 Unable to find the contents for the comment: D:\a\1\s\change-detection\results\gh-comment.md does not exist :fire Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
/azp run xamarin-macios-sim-pr-tests |
|
Azure Pipelines successfully started running 1 pipeline(s). |
✅ [CI Build #1adb358] Prepare .NET Release succeeded ✅📦 Published NuGet packages (32 packages)iOS
MacCatalyst
macOS
tvOS
Other
Pipeline on Agent |
✅ [PR Build #1adb358] Build passed (Build packages) ✅Pipeline on Agent |
✅ [PR Build #1adb358] Build passed (Build macOS tests) ✅Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
🔥 [CI Build #1adb358] Test results 🔥Test results❌ Tests failed on VSTS: test results 1 tests crashed, 21 tests failed, 149 tests passed. Failures❌ monotouch tests (iOS) [attempt 3]1 tests failed, 19 tests passed.Failed tests
Html Report (VSDrops) Download ❌ monotouch tests (MacCatalyst)🔥 Failed catastrophically on VSTS: test results - monotouch_maccatalyst (no summary found). Html Report (VSDrops) Download ❌ monotouch tests (tvOS) [attempt 3]20 tests failed, 0 tests passed.Failed tests
Html Report (VSDrops) Download Successes✅ cecil: All 1 tests passed. Html Report (VSDrops) Download macOS tests✅ Tests on macOS Monterey (12): All 5 tests passed. Html Report (VSDrops) Download Linux Build VerificationPipeline on Agent |
Using ACES only for CI builds, PR will be enabled in the future.