Skip to content

[release/8.0] Remove OneLoc PAT dependencies - #17458

Open
missymessa wants to merge 4 commits into
dotnet:release/8.0from
missymessa:missymessa/oneloc-pat-fallback-cleanup-release-8.0
Open

[release/8.0] Remove OneLoc PAT dependencies#17458
missymessa wants to merge 4 commits into
dotnet:release/8.0from
missymessa:missymessa/oneloc-pat-fallback-cleanup-release-8.0

Conversation

@missymessa

@missymessa missymessa commented Aug 31, 2026

Copy link
Copy Markdown
Member

Summary

  • backport complete removal of the OneLocBuildVariables variable group to release/8.0
  • remove the Ceapex and GitHub PAT parameters and all fallback paths from both regular and official templates
  • require short-lived Ceapex WIF and GitHub App tokens in the provisioned projects
  • update the OneLoc authentication documentation

Backport of the main cleanup for AB#10151 and AB#12331.

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
@missymessa
missymessa requested review from mmitche and a lite review from Copilot 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

Pull request overview

Backports the OneLoc legacy-variable-group cleanup to the release/8.0 branch so that secret variable groups containing legacy PATs are only loaded when the pipeline will actually use PAT-based fallbacks, reducing unnecessary secret downloads.

Changes:

  • Conditionally attach the OneLocBuildVariables variable group only when Ceapex PAT fallback or GitHub PAT fallback may be used.
  • Apply the same conditional behavior to both the regular and “official” OneLocBuild job templates.
File summaries
File Description
eng/common/templates/job/onelocbuild.yml Adds a conditional variable-group include to avoid downloading legacy PAT secrets unless a PAT fallback path is selected.
eng/common/templates-official/job/onelocbuild.yml Mirrors the same conditional variable-group behavior for official templates.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Lite

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

Copilot AI review requested due to automatic review settings 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.

🟢 Approval recommended

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

Comment thread eng/common/templates/job/onelocbuild.yml Outdated
Comment thread eng/common/templates-official/job/onelocbuild.yml Outdated
@missymessa
missymessa enabled auto-merge (squash) September 1, 2026 13:32
@missymessa

Copy link
Copy Markdown
Member Author

@mmitche please take a lookt!

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/8.0] Avoid downloading unused OneLoc PATs [release/8.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

The new template “validation” uses an invalid-looking notIn(...)/'<message>': error pattern that is likely to break Azure Pipelines YAML compilation rather than producing a controlled failure.

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

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

Comment on lines +68 to +71
- ${{ if notIn(variables['System.TeamProject'], 'internal', 'DevDiv') }}:
- 'OneLocBuild is supported only in dnceng/internal and DevDiv/DevDiv.': error
- ${{ if eq(parameters.CeapexServiceConnection, '') }}:
- 'CeapexServiceConnection must identify a WIF service connection.': error
Comment on lines +65 to +68
- ${{ if notIn(variables['System.TeamProject'], 'internal', 'DevDiv') }}:
- 'OneLocBuild is supported only in dnceng/internal and DevDiv/DevDiv.': error
- ${{ if eq(parameters.CeapexServiceConnection, '') }}:
- 'CeapexServiceConnection must identify a WIF service connection.': error
Comment on lines 14 to 16
For GitHub repositories built in `dnceng/internal` or `DevDiv/DevDiv`, the template uses a
short-lived GitHub App installation token for localization check-in by default. The target
short-lived GitHub App installation token for localization check-in. The target
repository must be selected in the `dotnet OneLoc Localization` App installation, and the pipeline
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.

🔵 Needs a closer look

The new templates use notIn(...) where the repo consistently uses notin(...), which risks Azure Pipelines template evaluation failures and should be made consistent.

Review details

Suppressed comments (2)

eng/common/templates/job/onelocbuild.yml:65

  • The template expression uses notIn(...), but this repo consistently uses the Azure Pipelines notin(...) function elsewhere (and in Documentation/OneLocBuild.md examples). Using a different casing/name risks a template evaluation error and is inconsistent with established usage in this repo.
    - ${{ if notIn(variables['System.TeamProject'], 'internal', 'DevDiv') }}:

eng/common/templates-official/job/onelocbuild.yml:68

  • The template expression uses notIn(...), but this repo consistently uses the Azure Pipelines notin(...) function elsewhere (and in Documentation/OneLocBuild.md examples). Using a different casing/name risks a template evaluation error and is inconsistent with established usage in this repo.
    - ${{ if notIn(variables['System.TeamProject'], 'internal', 'DevDiv') }}:
  • 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.

2 participants