[Diagnostic – DO NOT MERGE] Bump Arcade to main to validate MicroBuild signing fix#307
[Diagnostic – DO NOT MERGE] Bump Arcade to main to validate MicroBuild signing fix#307rmarinho wants to merge 1 commit into
Conversation
DO NOT MERGE. This is an exploratory branch to validate that the new
MicroBuild signing plugin preview ('MicroBuildSigningPluginPreview@4',
introduced in dotnet/arcade#16185) resolves the Az.KeyVault 6.5.0 /
Az.Accounts 5.5.0 version conflict that is breaking all Windows signing
jobs in dnceng internal pipelines (e.g. build 2990253).
The clean fix is the backport dotnet/arcade#16821, which is still open.
This branch jumps to Arcade main as a way to get the new template
plumbing (enablePreviewMicrobuild + install-microbuild-impl.yml) in
place so the official internal pipeline can be queued manually and
confirm the MicroBuild install step succeeds.
Changes:
- eng/Version.Details.xml: Arcade SDK 10.0.0-beta.26257.101 (dotnet/dotnet)
-> 11.0.0-beta.26302.1 (dotnet/arcade).
- global.json: SDK 10.0.106 -> 11.0.100-preview.5.26227.104,
allowPrerelease true (required by Arcade main bootstrap which uses
'dotnet package download', a .NET 11 SDK command).
- eng/common/**: regenerated by darc; includes new
install-microbuild-impl.yml + refactored install-microbuild.yml.
- eng/pipelines/devflow-official.yml: enablePreviewMicrobuild: true so
the new template actually calls MicroBuildSigningPluginPreview@4.
- NuGet.config: whitespace-only change from darc.
Expected outcome (manual official pipeline run from this branch):
- 'Install MicroBuild plugin (Windows)' should succeed (validates the fix).
- Subsequent workload install / build steps are likely to fail because
MAUI workloads are not published for .NET 11 preview SDK. Those
failures are out of scope for this diagnostic.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Expert Code Review — PR #307Methodology: 3 independent reviewers with adversarial consensus Findings SummaryAll findings are posted inline on the relevant lines. No overflow.
Discarded FindingsThese were flagged by a single reviewer but did not achieve consensus after follow-up evaluation:
CI StatusMultiple CI jobs failing (expected per PR description — .NET 11 preview SDK has no MAUI workloads). CLA check passed. This is consistent with the stated diagnostic intent. Test CoverageN/A — this PR contains no application code changes. All modifications are build infrastructure (SDK version, pipeline config, auto-generated Arcade files).
|
There was a problem hiding this comment.
Review Finding Evaluation
Evaluated three disputed findings against PR context (diagnostic draft, explicitly marked DO NOT MERGE).
Finding 1 (Arcade SDK source URI → dotnet/arcade) — ⚪ Not actionable. The change is intentional and fully documented in the PR description. Draft status and title prevent accidental merge. The production fix path is the release/10.0 backport (arcade#16821).
Finding 2 (sourcelink-validation.ps1 deleted) — ⚪ Not actionable. eng/common/ files are auto-generated as a consistent unit by darc update-dependencies. Arcade's own CI validates internal consistency of cross-references. No selective file restoration is possible or appropriate.
Finding 3 (return_exceptions=True removed in install-debs.py) — ⚪ Not actionable. This is an intentional upstream change in Arcade main. eng/common/ files are never locally modified — they are overwritten on every dependency update. The behavioral change is owned by the Arcade team.
Summary: All three findings describe real differences from the current main branch, but none represent bugs or actionable issues given that (a) this is a diagnostic draft PR not intended for merge, and (b) eng/common/ changes are upstream-owned and internally consistent.
Generated by Expert Code Review (auto) for issue #307 · ● 9.9M
| { | ||
| "sdk": { | ||
| "version": "10.0.106", | ||
| "version": "11.0.100-preview.5.26227.104", |
There was a problem hiding this comment.
🔴 CRITICAL · 3/3 consensus
Accidental merge breaks all CI and contributor builds. The SDK is bumped from 10.0.106 to 11.0.100-preview.5.26227.104. MAUI workloads are not published for .NET 11 preview — if this PR is merged (even accidentally), every CI workflow and local dev build fails immediately.
The PR is correctly marked Draft and "DO NOT MERGE", but protective automation (e.g., a do-not-merge label that gates merging, or a branch protection rule) would add defense-in-depth beyond relying on human attention.
| - template: /eng/common/templates-official/jobs/jobs.yml@self | ||
| parameters: | ||
| enableMicrobuild: true | ||
| enablePreviewMicrobuild: true |
There was a problem hiding this comment.
🟡 MODERATE · 2/3 consensus
enablePreviewMicrobuild: true is unconditional. This is correct for the diagnostic purpose (validating the MicroBuild fix on Arcade 11), but if the eventual fix on main comes via dotnet/arcade#16821 (Arcade 10 backport), confirm that the release/10.0 template also exposes this parameter before adding this line permanently. Otherwise, consider gating it behind a pipeline parameter (default false) so the stable signing path remains the default on main.
This PR is a vehicle to manually queue the official internal pipeline from a branch that has the MicroBuild signing plugin preview wired up, in order to validate whether dotnet/arcade#16185 actually fixes today's CI failure.
The clean fix for the repo is the backport dotnet/arcade#16821 (still open), which would land via normal dependency flow. This PR is not a replacement for that.
Background
All 8 Windows signing jobs in internal pipeline run 2990253 failed at the
Install MicroBuild plugin (Windows)step with:Root cause:
MicroBuildSigningPlugin@4(version 5.4.0 — see the "Please use latest plugin version" warning) installsAz.KeyVault 6.5.0which requiresAz.Accounts 5.5.0, but the 1ES Windows image preloads an olderAz.Accounts. The Az.KeyVault module fails to load, KeyVault cmdlets are unavailable, and the signing cert (sign-auth-ame-ssl-onecert) can't be fetched.The same failure is hitting
vscode-maui,aspnetcore-ci-official, and (perdotnet/sdk#54566)dotnetupCI on the same day.dotnet/arcade#16185 (merged to
main2025-10-06) introduced anenablePreviewMicrobuild: trueparameter that switches toMicroBuildSigningPluginPreview@4, which carries the updated Az module set. That change has not been backported torelease/10.0(PR #16821 is still open).What this PR changes
eng/Version.Details.xmlMicrosoft.DotNet.Arcade.Sdk10.0.0-beta.26257.101 (dotnet/dotnet) → 11.0.0-beta.26302.1 (dotnet/arcade)global.jsonallowPrerelease: true(the new Arcade bootstrap usesdotnet package download, a .NET 11 SDK command)eng/common/**darc update-dependencies --id 316751 --name Microsoft.DotNet.Arcade.Sdk; ships the newinstall-microbuild-impl.yml+ theenablePreviewMicrobuildparameter plumbingeng/pipelines/devflow-official.ymlenablePreviewMicrobuild: truenext toenableMicrobuild: trueso the new template actually callsMicroBuildSigningPluginPreview@4NuGet.configValidation path
This PR will not validate the fix via GitHub Actions PR validation —
devflow-official.ymlispr: none, and the MicroBuild install step is gated onnotin(Build.Reason, 'PullRequest'). The intended validation is:dotnet-maui-labs-officialfromrmarinho/update-arcade-microbuild-fix.Install MicroBuild plugin (Windows)succeeds (the failing step in build 2990253).Expected outcome
Install MicroBuild plugin (Windows)succeeds → confirmsenablePreviewMicrobuildis the right fix and we just need to wait for / nudge [release/10.0] Enable microbuild preview plugin (backport of #16185) arcade#16821.Why not just wait for
dotnet/arcade#16821?We can, and that's the right long-term path. This PR exists to give the team a concrete, validated answer to "will the preview plugin actually fix our pipeline?" before nudging or escalating that backport.
References
release/10.0backport: [release/10.0] Enable microbuild preview plugin (backport of #16185) arcade#16821dotnet/sdk: Enable Microbuild Plugin Preview Feature sdk#54566Co-authored-by: Copilot