Skip to content

Use WIF for OneLocBuild in DevDiv - #17415

Merged
missymessa merged 2 commits into
dotnet:mainfrom
missymessa:missymessa/oneloc-devdiv-wif
Aug 27, 2026
Merged

Use WIF for OneLocBuild in DevDiv#17415
missymessa merged 2 commits into
dotnet:mainfrom
missymessa:missymessa/oneloc-devdiv-wif

Conversation

@missymessa

Copy link
Copy Markdown
Member

Summary

  • use the project-scoped dnceng-onelocbuild-ceapex WIF connection for OneLocBuild in both dnceng/internal and DevDiv/DevDiv
  • keep the PAT fallback for other projects and explicit CeapexServiceConnection: '' callers
  • document the supported-project behavior and pipeline authorization requirement

Rollout safety

The DevDiv connection is Ready and uses workload identity federation. The enabled OneLoc pipelines authorized for variable group 343 have been explicitly authorized to use it: NuGet.Client, VSUnitTesting CI/Signed, Pythia, MSBuild, Roslyn SDK, MachineLearning Tools CLI, NuGet.BuildTasks, and vs-code-coverage. Project System and MAUI were already authorized.

This is a prerequisite for safely merging #17413 and retiring dn-bot-ceapex-package-r.

AB#10151

Acquire a short-lived Ceapex feed token in both supported Azure DevOps projects so DevDiv consumers no longer fall back to dn-bot-ceapex-package-r.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 42b6e46d-b9c0-4558-856d-1d1bdb50609d
Copilot AI lite review requested due to automatic review settings August 26, 2026 23:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the shared OneLocBuild job template so DevDiv pipelines can use workload identity federation (WIF) to access Ceapex feeds via a project-scoped service connection, while preserving PAT-based fallback behavior for other projects and explicit opt-out cases. This aligns Arcade’s OneLoc infrastructure with the plan to retire the legacy Ceapex PAT.

Changes:

  • Extend the federated access-token acquisition path to run in DevDiv as well as internal when CeapexServiceConnection is set.
  • Keep PAT fallback behavior for unsupported projects and for callers that set CeapexServiceConnection: ''.
  • Document CeapexServiceConnection behavior and the pipeline-authorization requirement.

Reviewed changes

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

File Description
eng/common/core-templates/job/onelocbuild.yml Enables WIF token acquisition for Ceapex feeds in DevDiv in addition to internal, while retaining PAT fallback logic.
Documentation/OneLocBuild.md Documents the new/expanded CeapexServiceConnection supported-project behavior and authorization expectations.

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

Comment thread eng/common/core-templates/job/onelocbuild.yml Outdated
Comment thread Documentation/OneLocBuild.md Outdated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 42b6e46d-b9c0-4558-856d-1d1bdb50609d
Copilot AI review requested due to automatic review settings August 26, 2026 23:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

@missymessa
missymessa requested a review from mmitche August 27, 2026 00:06
@missymessa
missymessa merged commit 01846b8 into dotnet:main Aug 27, 2026
11 of 12 checks passed
@dotnet-milestone-bot dotnet-milestone-bot Bot added this to the 12.0-preview1 milestone Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants