Skip to content

Bootstrap Arcade tooling metadata - #1523

Merged
jonathanpeppers merged 1 commit into
mainfrom
jonathanpeppers-bootstrap-arcade-tooling
Aug 18, 2026
Merged

Bootstrap Arcade tooling metadata#1523
jonathanpeppers merged 1 commit into
mainfrom
jonathanpeppers-bootstrap-arcade-tooling

Conversation

@jonathanpeppers

Copy link
Copy Markdown
Member

Bootstrap the repository for Maestro-managed Arcade dependency flow without changing the existing Cake-based build behavior.

  • Vendor the canonical eng/common tree from dotnet/dotnet commit e2c1e00b3d0f96afb892fb261d5921565b400246.
  • Track Microsoft.DotNet.Arcade.Sdk 11.0.0-beta.26381.103 in eng/Version.Details.xml with the matching source URI and SHA.
  • Add the matching SDK version to global.json while preserving the existing Traversal and NoTargets SDK pins.
  • Keep Arcade unimported from Directory.Build.props and Directory.Build.targets; this PR does not alter build, signing, pipeline, or publishing behavior.

Validation:

  • Confirmed the committed eng/common tree hash exactly matches the pinned upstream source tree.
  • Ran dotnet tool restore.
  • Ran dotnet cake --target=metadata-verify.

Vendor eng/common from the pinned dotnet/dotnet Arcade build and add the minimal Maestro dependency metadata without importing Arcade into the existing build.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings August 17, 2026 17:51

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Bootstraps this repository for Maestro/Arcade-managed dependency flow by vendoring the eng/common infrastructure and adding the minimal metadata pins needed to track Microsoft.DotNet.Arcade.Sdk, while aiming to keep the existing Cake-based build behavior unchanged.

Changes:

  • Add Microsoft.DotNet.Arcade.Sdk MSBuild SDK pin to global.json.
  • Introduce eng/Version.Details.xml to track the Arcade SDK dependency (URI + SHA).
  • Vendor a large eng/common tree (scripts + pipeline templates) to enable Arcade/Maestro tooling and VMR sync scaffolding.

Reviewed changes

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

Show a summary per file
File Description
global.json Pins Microsoft.DotNet.Arcade.Sdk as an MSBuild SDK alongside existing SDKs.
eng/Version.Details.xml Adds Arcade SDK dependency metadata (URI/SHA) for Arcade/Maestro tracking.
eng/common/vmr-sync.sh Adds Unix VMR synchronization helper script (darc forwardflow/reset).
eng/common/vmr-sync.ps1 Adds Windows VMR synchronization helper script (darc forwardflow/reset).
eng/common/templates/vmr-build-pr.yml Adds VMR PR verification pipeline template stub.
eng/common/templates/variables/pool-providers.yml Adds pool-selection logic for public/internal/release branch routing.
eng/common/templates/steps/vmr-sync.yml Adds pipeline steps to sync repo (and optional extra assets) into a local VMR checkout.
eng/common/templates/steps/source-index-stage1-publish.yml Adds shim to core template for source-index stage1 publishing.
eng/common/templates/steps/source-build.yml Adds shim to core template for source-build steps.
eng/common/templates/steps/send-to-helix.yml Adds shim to core template for Helix submission steps.
eng/common/templates/steps/retain-build.yml Adds shim to core template for build retention steps.
eng/common/templates/steps/publish-pipeline-artifacts.yml Adds non-1ES PublishPipelineArtifact wrapper template.
eng/common/templates/steps/publish-logs.yml Adds shim to core template for publishing logs.
eng/common/templates/steps/publish-build-artifacts.yml Adds non-1ES PublishBuildArtifacts wrapper template.
eng/common/templates/steps/get-federated-access-token.yml Adds shim to core template for federated token acquisition.
eng/common/templates/steps/get-delegation-sas.yml Adds shim to core template for delegation SAS creation.
eng/common/templates/steps/generate-sbom.yml Adds shim to core template for SBOM generation (legacy/deprecation wrapper).
eng/common/templates/steps/enable-internal-sources.yml Adds shim to core template for internal feed enabling.
eng/common/templates/steps/enable-internal-runtimes.yml Adds shim to core template for internal runtime access.
eng/common/templates/post-build/setup-maestro-vars.yml Adds shim to core template for Maestro variable setup.
eng/common/templates/post-build/post-build.yml Adds shim to core template for post-build stage.
eng/common/templates/post-build/common-variables.yml Adds shim to core template for post-build variables.
eng/common/templates/jobs/source-build.yml Adds shim to core template for source-build jobs.
eng/common/templates/jobs/jobs.yml Adds shim to core template for standard job orchestration.
eng/common/templates/job/source-index-stage1.yml Adds shim to core template for source-index stage1 job.
eng/common/templates/job/source-build.yml Adds shim to core template for source-build job.
eng/common/templates/job/publish-build-assets.yml Adds shim to core template for publish-build-assets job.
eng/common/templates/job/onelocbuild.yml Adds shim to core template for OneLocBuild job.
eng/common/templates/job/job.yml Adds shim to core template for single-job wrapper.
eng/common/templates-official/variables/pool-providers.yml Adds 1ES-only pool provider variables template.
eng/common/templates-official/steps/source-index-stage1-publish.yml Adds 1ES shim to core template for source-index stage1 publishing.
eng/common/templates-official/steps/source-build.yml Adds 1ES shim to core template for source-build steps.
eng/common/templates-official/steps/send-to-helix.yml Adds 1ES shim to core template for Helix submission steps.
eng/common/templates-official/steps/retain-build.yml Adds 1ES shim to core template for build retention steps.
eng/common/templates-official/steps/publish-pipeline-artifacts.yml Adds 1ES PublishPipelineArtifact wrapper template.
eng/common/templates-official/steps/publish-logs.yml Adds 1ES shim to core template for publishing logs.
eng/common/templates-official/steps/publish-build-artifacts.yml Adds 1ES PublishBuildArtifacts wrapper template.
eng/common/templates-official/steps/get-federated-access-token.yml Adds 1ES shim to core template for federated token acquisition.
eng/common/templates-official/steps/get-delegation-sas.yml Adds 1ES shim to core template for delegation SAS creation.
eng/common/templates-official/steps/generate-sbom.yml Adds 1ES shim to core template for SBOM generation (legacy/deprecation wrapper).
eng/common/templates-official/steps/enable-internal-sources.yml Adds 1ES shim to core template for internal feed enabling.
eng/common/templates-official/steps/enable-internal-runtimes.yml Adds 1ES shim to core template for internal runtime access.
eng/common/templates-official/post-build/setup-maestro-vars.yml Adds 1ES shim to core template for Maestro variable setup.
eng/common/templates-official/post-build/post-build.yml Adds 1ES shim to core template for post-build stage.
eng/common/templates-official/post-build/common-variables.yml Adds 1ES shim to core template for post-build variables.
eng/common/templates-official/jobs/source-build.yml Adds 1ES shim to core template for source-build jobs.
eng/common/templates-official/jobs/jobs.yml Adds 1ES shim to core template for standard job orchestration.
eng/common/templates-official/job/source-index-stage1.yml Adds 1ES shim to core template for source-index stage1 job.
eng/common/templates-official/job/source-build.yml Adds 1ES shim to core template for source-build job.
eng/common/templates-official/job/publish-build-assets.yml Adds 1ES shim to core template for publish-build-assets job.
eng/common/templates-official/job/onelocbuild.yml Adds 1ES shim to core template for OneLocBuild job.
eng/common/templates-official/job/job.yml Adds 1ES shim to core template for single-job wrapper.
eng/common/template-guidance.md Adds documentation describing how to consume the vendored Arcade templates.
eng/common/sdk-task.sh Adds Unix wrapper to run Arcade “SDK tasks” via MSBuild.
eng/common/sdk-task.ps1 Adds PowerShell wrapper to run Arcade “SDK tasks” via MSBuild.
eng/common/retain-build.ps1 Adds helper to set AzDO build retention (“keep forever”).
eng/common/renovate.env Adds shared Renovate environment configuration for self-hosted runs.
eng/common/README.md Adds note that eng/common is automation-managed/vendor content.
eng/common/PSScriptAnalyzerSettings.psd1 Adds PSScriptAnalyzer rule set for Arcade scripts.
eng/common/post-build/redact-logs.ps1 Adds binlog/log redaction helper for post-build publishing.
eng/common/post-build/publish-using-darc.ps1 Adds script to promote builds to channels using Darc.
eng/common/post-build/nuget-verification.ps1 Adds NuGet package metadata verification script (VerifyMicrosoftPackage).
eng/common/post-build/nuget-validation.ps1 Adds wrapper script to validate produced NuGet packages.
eng/common/post-build/check-channel-consistency.ps1 Adds validation that BAR-provided channels match YAML configuration.
eng/common/pipeline-logging-functions.sh Adds bash helpers for AzDO logging commands (task errors, variables, results).
eng/common/native/NativeAotSupported.props Adds MSBuild props to compute NativeAOT support by OS/arch.
eng/common/native/LocateNativeCompiler.targets Adds target to locate native compiler/linker via init-compiler.sh.
eng/common/native/install-tool.ps1 Adds PowerShell helper to download/extract native build tools.
eng/common/native/install-dependencies.sh Adds script to install native build dependencies by platform/distro.
eng/common/native/install-cmake.sh Adds script to download/extract CMake for native builds.
eng/common/native/install-cmake-test.sh Adds script to download/extract “cmake-test” tool.
eng/common/native/init-os-and-arch.sh Adds shell helper to detect OS + CPU arch.
eng/common/native/init-distro-rid.sh Adds shell helper to compute distro-specific RID / portable OS.
eng/common/native/init-compiler.sh Adds shell helper to select C/C++ toolchain and linker flags.
eng/common/native/common-library.sh Adds shell helper library for downloads/extraction/shims.
eng/common/msbuild.sh Adds Unix entry point to run MSBuild with Arcade toolset init.
eng/common/msbuild.ps1 Adds PowerShell entry point to run MSBuild with Arcade toolset init.
eng/common/loc/P22DotNetHtmlLocalization.lss Adds Localization Studio settings file for HTML localization.
eng/common/internal/Tools.csproj Adds internal toolset restore project (MicroBuild/manifest tooling).
eng/common/internal/NuGet.config Adds internal-only NuGet feed config for Arcade internal tools.
eng/common/internal/Directory.Build.props Adds internal build props importing Microsoft.DotNet.Arcade.Sdk.
eng/common/internal-feed-operations.sh Adds bash helper for internal feed auth + Arcade restore workaround.
eng/common/internal-feed-operations.ps1 Adds PowerShell helper for internal feed auth + Arcade restore workaround.
eng/common/init-tools-native.cmd Adds CMD wrapper to bootstrap native tools on Windows.
eng/common/helixpublish.proj Adds MSBuild project used to publish work items to Helix.
eng/common/enable-cross-org-publishing.ps1 Adds script to set AzDO variables needed for cross-org publishing.
eng/common/dotnet.sh Adds Unix helper to install .NET SDK via Arcade and optionally invoke it.
eng/common/dotnet.ps1 Adds PowerShell helper to install .NET SDK via Arcade and optionally invoke it.
eng/common/dotnet.cmd Adds CMD wrapper for dotnet.ps1.
eng/common/dotnet-install.sh Adds Unix helper to install .NET SDK/runtime with Arcade plumbing.
eng/common/dotnet-install.ps1 Adds PowerShell helper to install .NET SDK/runtime with Arcade plumbing.
eng/common/dotnet-install.cmd Adds CMD wrapper for dotnet-install.ps1.
eng/common/darc-init.sh Adds Unix helper to install Darc CLI (Maestro endpoint or pinned version).
eng/common/darc-init.ps1 Adds PowerShell helper to install Darc CLI (Maestro endpoint or pinned version).
eng/common/cross/x86/tizen/tizen.patch Adds Tizen rootfs patch for x86 cross builds.
eng/common/cross/x64/tizen/tizen.patch Adds Tizen rootfs patch for x64 cross builds.
eng/common/cross/tizen-fetch.sh Adds script to download Tizen RPMs for rootfs creation.
eng/common/cross/tizen-build-rootfs.sh Adds script to construct and patch a Tizen rootfs.
eng/common/cross/riscv64/tizen/tizen.patch Adds Tizen rootfs patch for riscv64 cross builds.
eng/common/cross/build-android-rootfs.sh Adds script to build an Android sysroot/toolchain rootfs.
eng/common/cross/armel/tizen/tizen.patch Adds Tizen rootfs patch for armel cross builds.
eng/common/cross/arm64/tizen/tizen.patch Adds Tizen rootfs patch for arm64 cross builds.
eng/common/cross/arm/tizen/tizen.patch Adds Tizen rootfs patch for arm cross builds.
eng/common/core-templates/variables/pool-providers.yml Adds “core” redirect between official/non-official pool providers.
eng/common/core-templates/steps/source-index-stage1-publish.yml Adds core logic for source-index stage1 tooling + upload.
eng/common/core-templates/steps/source-build.yml Adds core logic for source-build execution and log publishing.
eng/common/core-templates/steps/send-to-helix.yml Adds core logic to run Helix publish via msbuild wrappers.
eng/common/core-templates/steps/retain-build.yml Adds core logic to set permanent build retention.
eng/common/core-templates/steps/publish-pipeline-artifacts.yml Adds core redirect to official/non-official publish-pipeline-artifacts steps.
eng/common/core-templates/steps/publish-logs.yml Adds core logic to move/redact/publish post-build logs.
eng/common/core-templates/steps/publish-build-artifacts.yml Adds core redirect to official/non-official build artifact publishing.
eng/common/core-templates/steps/install-microbuild.yml Adds core logic for installing MicroBuild plugin (incl. validation).
eng/common/core-templates/steps/install-microbuild-impl.yml Adds core implementation selecting preview vs stable MicroBuild tasks.
eng/common/core-templates/steps/get-federated-access-token.yml Adds core logic to acquire federated tokens via AzureCLI.
eng/common/core-templates/steps/get-delegation-sas.yml Adds core logic to create storage delegation SAS tokens via AzureCLI.
eng/common/core-templates/steps/generate-sbom.yml Adds deprecation warning step for legacy SBOM template usage.
eng/common/core-templates/steps/enable-internal-sources.yml Adds core logic for internal feed enabling (legacy PAT or federated).
eng/common/core-templates/steps/enable-internal-runtimes.yml Adds core logic for internal runtime SAS token setup.
eng/common/core-templates/steps/cleanup-microbuild.yml Adds core logic to run MicroBuild cleanup tasks.
eng/common/core-templates/stages/renovate.yml Adds core 1ES official pipeline stage template for Renovate.
eng/common/core-templates/post-build/setup-maestro-vars.yml Adds core logic to derive/set Maestro/BAR variables post-build.
eng/common/core-templates/post-build/common-variables.yml Adds core post-build variable group + defaults for tooling versions.
eng/common/core-templates/jobs/source-build.yml Adds core logic to generate source-build jobs across platforms.
eng/common/core-templates/jobs/jobs.yml Adds core job orchestration (incl. publish-build-assets integration).
eng/common/core-templates/job/source-index-stage1.yml Adds core logic for source-index stage1 job composition.
eng/common/core-templates/job/source-build.yml Adds core logic for a single source-build job.
eng/common/core-templates/job/onelocbuild.yml Adds core logic for localization job (OneLocBuild).
eng/common/cibuild.sh Adds Arcade-style CI build wrapper script (Unix).
eng/common/CIBuild.cmd Adds Arcade-style CI build wrapper script (Windows).
eng/common/BuildConfiguration/build-configuration.json Adds build retry configuration artifact content.
eng/common/build.cmd Adds Windows wrapper for Arcade build.ps1.
eng/common/AGENTS.md Adds brief doc indicating eng/common content is from Arcade and overwritten by automation.
Suppressed comments (2)

eng/common/templates/steps/vmr-sync.yml:185

  • The "Sync ... (Windows)" step is guarded by the non-Windows condition (ne(...)), so it will run on Unix agents and skip on Windows. This also duplicates the Unix condition just above.
    eng/common/template-guidance.md:17
  • This line has a typo and a formatting issue: it refers to templateIs1ESManaged1 and is missing the closing backtick. It should reference the templateIs1ESManaged parameter consistently.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Comment thread eng/Version.Details.xml
Comment thread eng/common/templates/steps/vmr-sync.yml
Comment thread eng/common/pipeline-logging-functions.sh
Comment thread eng/common/template-guidance.md
Comment thread eng/common/internal-feed-operations.sh
@jonathanpeppers

Copy link
Copy Markdown
Member Author

@dalexsoto review

@dalexsoto dalexsoto left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The flowed Arcade files match their upstream source, but adding the Arcade SDK in global.json leaves the committed Executive Order build-tools inventory incomplete. The repository generator enumerates every msbuild-sdks entry, but docs/buildtoolsinventory.csv and docs/buildtoolsinventory.md do not include the new SDK. Please regenerate and commit both inventory files.

@jonathanpeppers

Copy link
Copy Markdown
Member Author

I don't think the files matter for .NET dependencies

@jonathanpeppers

Copy link
Copy Markdown
Member Author

@dalexsoto stamp

@dalexsoto dalexsoto left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Stamping as requested by @jonathanpeppers; no code review performed.

@jonathanpeppers

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
No pipelines were found matching this branch/path.

@jonathanpeppers
jonathanpeppers merged commit fc3645a into main Aug 18, 2026
3 checks passed
@jonathanpeppers
jonathanpeppers deleted the jonathanpeppers-bootstrap-arcade-tooling branch August 18, 2026 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants