Skip to content

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

Open
missymessa wants to merge 11 commits into
release/11.0from
missymessa/backport-oneloc-ceapex-wif-release-11.0
Open

[release/11.0] Remove OneLoc PAT dependencies#17442
missymessa wants to merge 11 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

Comment thread eng/common/core-templates/job/onelocbuild.yml Outdated

@mmitche mmitche 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.

Wait on resolution and check-in of main before this backport

Copilot AI review requested due to automatic review settings September 3, 2026 19:32

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 updated conditions for WIF/PAT selection and variable-group import are internally consistent with the template’s existing boolean/string comparison patterns and align with the documented fallback behavior.

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

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings September 3, 2026 20:04
@missymessa missymessa changed the title [release/11.0] Use WIF and avoid unused OneLoc PAT downloads [release/11.0] Remove OneLoc PAT dependencies Sep 3, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

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

There are documentation inconsistencies (stale GitHub App auth doc) and a repo-inconsistent notIn expression usage that should be corrected before merging.

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

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

Comment thread Documentation/OneLocBuild.md Outdated
Comment thread eng/common/core-templates/job/onelocbuild.yml Outdated
Copilot AI review requested due to automatic review settings September 3, 2026 20:08

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

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