[release/9.0.1xx] [CI] Move to provisionator via script and use SAS token auth#24895
[release/9.0.1xx] [CI] Move to provisionator via script and use SAS token auth#24895rolfbjarne wants to merge 7 commits intorelease/9.0.1xxfrom
Conversation
…n auth Replace all uses of the xamops.azdevex.provisionator-task.provisionator@3 AzDO task with a new provision.yml template that uses the provisionator-bootstrap.sh script with BosStorageMirror SAS token authorization. This bypasses dl.internalx.com entirely, which suffers from 502 timeouts under concurrent load (>10 parallel requests) due to sequential KeyVault token scanning hitting the 120s httpPlatform request timeout. The new approach: - Generates short-lived SAS tokens via AzurePowerShell@5 - Downloads provisionator directly from bosstoragemirror.blob.core.windows.net - Eliminates the dl.internalx.com bottleneck This follows the same pattern already adopted by the AgentCleanser and ClientTools.Provisionator pipelines. Note: The pipeline will need the 'Xamarin - RelEng (BosStorageMirror-Contributor-MI)' Azure service connection authorized for the macios pipeline. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add shellcheck disable directives for SC2220 (missing *) case in getopts) and SC2181 (indirect exit code check with $?) since this is an upstream script from ClientTools.Provisionator. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR backports #24893, which moves the CI provisioning from the xamops.azdevex.provisionator-task.provisionator@2 Azure DevOps task to a custom bootstrap shell script that authenticates via SAS tokens generated from Azure Blob Storage, avoiding dl.internalx.com timeout issues under concurrent load.
Changes:
- Adds a new reusable
provision.ymltemplate that generates short-lived SAS tokens via Azure CLI and invokes a bootstrap script to download and run provisionator. - Adds the
provisionator-bootstrap.shscript that handles downloading the provisionator binary from Azure Blob Storage (with SAS token) or falling back todl.internalx.com. - Replaces all four existing
provisionator@2task invocations (build, mac/build, tests/build, windows/reserve-mac) with the new template.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
tools/devops/automation/templates/common/provision.yml |
New reusable template: generates SAS tokens and runs the bootstrap script |
tools/devops/automation/scripts/provisionator-bootstrap.sh |
New bootstrap script to download and execute provisionator with SAS token or PAT auth |
tools/devops/automation/scripts/.gitignore |
Ignores the _provisionator extracted directory |
tools/devops/automation/templates/build/build.yml |
Replaces provisionator task with new template |
tools/devops/automation/templates/mac/build.yml |
Replaces provisionator task with new template |
tools/devops/automation/templates/tests/build.yml |
Replaces provisionator task with new template |
tools/devops/automation/templates/windows/reserve-mac.yml |
Replaces provisionator task with new template |
You can also share your feedback on Copilot code review. Take the survey.
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.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
✅ [CI Build #e02a779] Build passed (Build packages) ✅Pipeline on Agent |
✅ [PR Build #e02a779] Build passed (Detect API changes) ✅Pipeline on Agent |
✅ API diff for current PR / commitNET (empty diffs)✅ API diff vs stableNET (empty diffs)ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
✅ [CI Build #e02a779] Build passed (Build macOS tests) ✅Pipeline on Agent |
💻 [CI Build #e02a779] Tests on macOS X64 - Mac Sonoma (14) passed 💻✅ All tests on macOS X64 - Mac Sonoma (14) passed. Pipeline on Agent |
💻 [CI Build #e02a779] Tests on macOS M1 - Mac Monterey (12) passed 💻✅ All tests on macOS M1 - Mac Monterey (12) passed. Pipeline on Agent |
💻 [CI Build #e02a779] Tests on macOS M1 - Mac Ventura (13) passed 💻✅ All tests on macOS M1 - Mac Ventura (13) passed. Pipeline on Agent |
💻 [CI Build #e02a779] Tests on macOS arm64 - Mac Sequoia (15) passed 💻✅ All tests on macOS arm64 - Mac Sequoia (15) passed. Pipeline on Agent |
💻 [CI Build #e02a779] Tests on macOS arm64 - Mac Tahoe (26) passed 💻✅ All tests on macOS arm64 - Mac Tahoe (26) passed. Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
🔥 [CI Build #e02a779] Test results 🔥Test results❌ Tests failed on VSTS: test results 6 tests crashed, 0 tests failed, 56 tests passed. Failures❌ fsharp tests [attempt 2]🔥 Failed catastrophically on VSTS: test results - fsharp (no summary found). Html Report (VSDrops) Download ❌ interdependent-binding-projects tests [attempt 2]🔥 Failed catastrophically on VSTS: test results - interdependent-binding-projects (no summary found). Html Report (VSDrops) Download ❌ introspection tests [attempt 2]🔥 Failed catastrophically on VSTS: test results - introspection (no summary found). Html Report (VSDrops) Download ❌ linker tests [attempt 2]🔥 Failed catastrophically on VSTS: test results - linker (no summary found). Html Report (VSDrops) Download ❌ monotouch tests (iOS) [attempt 2]🔥 Failed catastrophically on VSTS: test results - monotouch_ios (no summary found). Html Report (VSDrops) Download ❌ xcframework tests [attempt 2]🔥 Failed catastrophically on VSTS: test results - xcframework (no summary found). Html Report (VSDrops) Download Successes✅ cecil: All 1 tests passed. Html Report (VSDrops) Download Pipeline on Agent |
Backport of #24893.