Skip to content

[release/11.0] Remove OneLoc PAT dependencies - #17442

Merged
missymessa merged 15 commits into
release/11.0from
missymessa/backport-oneloc-ceapex-wif-release-11.0
Sep 9, 2026
Merged

[release/11.0] Remove OneLoc PAT dependencies#17442
missymessa merged 15 commits into
release/11.0from
missymessa/backport-oneloc-ceapex-wif-release-11.0

Conversation

@missymessa

@missymessa missymessa commented Aug 28, 2026

Copy link
Copy Markdown
Member

Summary

  • backport Ceapex WIF support to release/11.0
  • remove the OneLocBuildVariables variable group, Ceapex and GitHub PAT parameters, and all fallback paths
  • require short-lived Ceapex WIF and GitHub App tokens in the provisioned projects
  • update the OneLoc parameter documentation

Backports the WIF migration and cleanup tracked by AB#10151 and AB#12331.

missymessa and others added 2 commits August 28, 2026 07:54
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
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 42b6e46d-b9c0-4558-856d-1d1bdb50609d
@missymessa
missymessa requested review from mmitche and a lite review from Copilot August 28, 2026 14:54

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

Backport to release/11.0 of the OneLocBuild authentication behavior that prefers WIF (Entra workload identity federation) for Ceapex feed access in the supported Azure DevOps projects (dnceng/internal and DevDiv/DevDiv), while preserving the existing PAT fallback behavior for other projects and explicit opt-out callers. This aligns Arcade’s OneLocBuild template behavior with the authorized, project-scoped service connections in those environments.

Changes:

  • Enable the WIF token acquisition path for Ceapex feeds when System.TeamProject is internal or DevDiv.
  • Keep PAT-based auth as the default fallback for all other projects and when CeapexServiceConnection: '' is explicitly set.
  • Document the CeapexServiceConnection parameter behavior and the pipeline authorization requirement.

Reviewed changes

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

File Description
eng/common/core-templates/job/onelocbuild.yml Expands the existing WIF gating logic from internal only to internal + DevDiv, while keeping PAT fallback for other projects/opt-out.
Documentation/OneLocBuild.md Documents the CeapexServiceConnection parameter, supported projects, and the need to authorize pipelines for the service connection.

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

Import the legacy variable group only when the Ceapex or GitHub PAT fallback can be selected.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: bc4e1c74-f3b4-4965-932e-5e63cff7e877
Copilot AI review requested due to automatic review settings August 31, 2026 16:10
@missymessa missymessa changed the title [release/11.0] Use WIF for OneLocBuild in DevDiv [release/11.0] Use WIF and avoid unused OneLoc PAT downloads Aug 31, 2026
@missymessa
missymessa requested a review from mmitche August 31, 2026 16:11

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.

🟢 Approval recommended

Review details

Suppressed comments (1)

Previously missed (1) — in code that hasn't changed since the last review.

Documentation/OneLocBuild.md:203

  • This new parameter row references CeapexPat, but CeapexPat isn’t described anywhere else in this doc. That leaves a dangling reference for readers and makes the table harder to understand.
| `CeapexServiceConnection` | `'dnceng-onelocbuild-ceapex'` | The project-scoped WIF service connection used to acquire a short-lived token for the Ceapex feeds. This path is enabled in `dnceng/internal` and `DevDiv/DevDiv`; other projects continue to use `CeapexPat`. Pipelines in either supported project must be authorized to use their project's connection. Set to `''` to explicitly use the PAT path. |
  • Files reviewed: 2/2 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

Copilot AI review requested due to automatic review settings August 31, 2026 23:54
@missymessa
missymessa enabled auto-merge (squash) August 31, 2026 23:55

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.

🟡 Changes recommended

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 1
  • Review effort level: Lite

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

Copilot-Session: c08e3391-52d8-42e3-ad8c-ef2e5be92291
Copilot AI review requested due to automatic review settings September 1, 2026 00:09

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.

🔵 Needs a closer look

Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 2
  • Review effort level: Lite

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: a6ad3a92-2023-4c67-8948-f6d34de1a67c
Copilot AI review requested due to automatic review settings September 1, 2026 22:01

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.

🟢 Approval recommended

The conditional variable-group import and DevDiv WIF enablement are consistent with the stated fallback behavior and the updated documentation.

Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

Copilot AI review requested due to automatic review settings September 2, 2026 15:06

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.

🔵 Needs a closer look

It changes authentication/secret-selection behavior in a shared pipeline template where incorrect conditions could break localization flows across multiple projects.

Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

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.

🟡 Changes recommended

Documentation and validation need to be aligned with the removal of PAT fallbacks (notably the stale GitHub App doc reference and missing up-front GitHub App parameter validation).

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details

Suppressed comments (1)

Documentation/OneLocBuild.md:204

  • OneLocBuild.md now documents the removal of PAT-based options, but the linked/related OneLocBuildGitHubApp.md still describes UseGitHubAppAuthentication* parameters and a GithubPat fallback path that no longer exist in onelocbuild.yml. This will confuse consumers following the GitHub App setup doc; please update that doc (or remove/redirect the link) as part of this change.
| `CeapexServiceConnection` | `'dnceng-onelocbuild-ceapex'` | The project-scoped WIF service connection used to acquire a short-lived token for the Ceapex feeds. OneLocBuild supports only `dnceng/internal` and `DevDiv/DevDiv`; pipelines must be authorized to use the connection. |
| `GitHubAppServiceConnection` | `'dnceng-oneloc-githubapp'` | The dnceng/internal WIF service connection used to sign the App JWT. When the value remains the default, Arcade automatically uses `devdiv-oneloc-githubapp` in `DevDiv/DevDiv`. |
  • Files reviewed: 2/2 changed files
  • Comments generated: 1
  • Review effort level: Lite

Comment thread eng/common/core-templates/job/onelocbuild.yml
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings September 3, 2026 20:23
@missymessa
missymessa requested a review from mmitche September 3, 2026 20:25

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.

🔵 Needs a closer look

It changes authentication and execution gating in a shared pipeline template, so a human should validate the behavior in representative internal/DevDiv pipelines before approval.

Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

Copilot AI review requested due to automatic review settings September 8, 2026 16:17

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.

🟡 Changes recommended

The OneLocBuild.md usage example still implies the template can run in any non-public project, which conflicts with the newly enforced internal/DevDiv-only restriction and should be corrected.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 1
  • Review effort level: Lite

Comment thread Documentation/OneLocBuild.md
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 375a50b8-9bfd-48a8-86d2-2ca6a3f51369
Copilot AI review requested due to automatic review settings September 8, 2026 16:26
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 375a50b8-9bfd-48a8-86d2-2ca6a3f51369
@missymessa

Copy link
Copy Markdown
Member Author

Main PR #17455 is merged. I carried its final GitHub App installation guidance into this backport and removed the legacy dotnet-bot/First Responders instructions. I also addressed the latest documentation feedback by limiting the onboarding examples to the supported dnceng/internal and DevDiv/DevDiv projects, matching the template enforcement.

@mmitche, the prior request to wait for main is now satisfied; please re-review when ready.

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.

🟢 Approval recommended

The changes consistently remove PAT dependencies, add clear validation guards, and update documentation to match the new enforced WIF/App-token-only behavior.

Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

Copilot AI review requested due to automatic review settings September 8, 2026 16:29

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.

🟡 Changes recommended

Documentation still contains an outdated example snippet elsewhere in OneLocBuild.md that contradicts the newly documented supported-project restriction.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 1
  • Review effort level: Lite

Comment thread Documentation/OneLocBuild.md
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings September 8, 2026 17:15

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.

🟢 Approval recommended

The diffs consistently remove PAT fallbacks, add clear upfront validation, and update the docs to match the enforced template behavior.

Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

@missymessa

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@missymessa
missymessa merged commit 44c8d45 into release/11.0 Sep 9, 2026
13 checks passed
@missymessa
missymessa deleted the missymessa/backport-oneloc-ceapex-wif-release-11.0 branch September 9, 2026 00:09
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