-
Onboard onto the Arcade SDK, which provides templates (building blocks) for interacting with Azure DevOps, as well as shared tooling for signing, packaging, publishing and general build infrastructure.
Resources: Reference documentation, walkthough video, feature documentation.
Steps:
- Add a global.json.
- Add (or copy) Directory.Build.props and Directory.Build.targets.
- Copy
eng\common
from Arcade into repo. Before committing to make sure that all.sh
files have executable permission (git add --chmod=+x *.sh
). - Add (or copy) the
Versions.props
and
Version.Details.xml
files to your
eng\
folder. Adjust the version prefix and prerelease label as necessary. Only include versions for dependencies required by the repository. - Add the following feeds to your nuget.config:
https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json
https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json
https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json
(replace "8" with the latest .NET version) along with any other feeds your repo needs to restore packages from. You can see which feeds Arcade uses at: NuGet.config.
See documentation for information on using various Arcade SDK sub-systems.
-
Set up pipelines
- Add pipeline to https://dnceng-public.visualstudio.com/public for public PR validation CI.
- Add pipeline to https://dev.azure.com/dnceng/internal for internal validation CI and official builds.
- Add pipeline to https://dev.azure.com/dnceng/internal for CodeQL compliance validation.
See Onboarding Azure DevOps and Moving Official Builds from DevDiv to DncEng for details.
-
Onboard onto dependency flow using
darc
tool in order to:- Push scheduled updates with latest Arcade bits
- Flow changes between GitHub and an internal Azure DevOps mirror
- Subscribe the repo to publish nuget packages to a target feed
See Dependency Flow Onboarding for details.
-
Use Helix for testing where possible
See Sending Jobs to Helix for details.