Skip to content

Use WIF for OneLocBuild feed access - #37607

Merged
kubaflo merged 1 commit into
dotnet:mainfrom
missymessa:users/mjanecke/oneloc-wif-main
Aug 18, 2026
Merged

kubaflo merged 1 commit into
dotnet:mainfrom
missymessa:users/mjanecke/oneloc-wif-main

Conversation

@missymessa

Copy link
Copy Markdown
Member

Description of Change

Replace MAUI's long-lived dn-bot-ceapex-package-r dependency with a short-lived Entra token for OneLocBuild package restores.

  • Acquire the Azure DevOps token through the existing DevDiv dnceng-onelocbuild-ceapex workload-identity service connection.
  • Reuse Arcade's shared get-federated-access-token.yml helper.
  • Pass the resulting secret CeapexEntraToken to OneLocBuild for the ceapex LCL/LocTools feeds.
  • Keep the existing GitHub PR authentication unchanged.

The DevDiv service connection is configured for workload identity federation and MAUI pipeline 13330 is authorized to use it.

Validation

  • Parsed the updated pipeline as YAML.
  • Verified the shared federated-token helper exists on this branch.
  • Verified the legacy ceapex PAT is no longer referenced by MAUI's repo-owned localization pipeline.

Issues Fixed

Tracks dnceng work item 10151.

Replace the ceapex packaging PAT with a short-lived Entra token acquired through the DevDiv WIF service connection.

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

Copilot-Session: 80f6a0c6-7947-4200-bb78-7f0fc01d671a
Copilot AI lite review requested due to automatic review settings August 18, 2026 22:30
@github-actions

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 37607

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 37607"

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@dotnet-policy-service dotnet-policy-service Bot added the community ✨ Community Contribution label Aug 18, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Hey there @@missymessa! Thank you so much for your PR! Someone from the team will get assigned to your PR shortly and we'll get it reviewed.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Hey there @missymessa! Thank you so much for your PR! Someone from the team will get assigned to your PR shortly and we'll get it reviewed.

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

This PR updates MAUI’s DevDiv localization pipeline to stop using a long-lived ceapex PAT for package restores and instead acquire a short-lived Azure DevOps access token via workload identity federation (WIF), then pass that token into OneLocBuild for feed authentication.

Changes:

  • Replace the CeapexPat parameter with a CeapexServiceConnection parameter and acquire a federated access token via Arcade’s get-federated-access-token.yml.
  • Pass the resulting secret variable (CeapexEntraToken) to OneLocBuild@2 through patVariable, while keeping the GitHub PR auth path unchanged.
  • Minor documentation/comment adjustment opportunity: the OneLocBuildVariables comment is now more specific than related templates and can become misleading over time.

PR metadata alignment (pr-finalize check): the title and description appear consistent with the actual YAML changes. The PR description may still need the repo-required NOTE block at the top (per .github/PULL_REQUEST_TEMPLATE.md) if it isn’t already present in the actual PR body.

Comment on lines 16 to +17
variables:
- group: OneLocBuildVariables # Contains the CeapexPat and GithubPat
- group: OneLocBuildVariables # Contains the GithubPat
kubaflo pushed a commit that referenced this pull request Aug 18, 2026
### Description of Change

Backport of #37607 to `release/10.0.1xx-sr7`.

Replace MAUI's long-lived `dn-bot-ceapex-package-r` dependency with a
short-lived Entra token for OneLocBuild package restores. The pipeline
acquires the token through the existing DevDiv
`dnceng-onelocbuild-ceapex` workload-identity service connection and
Arcade's shared federated-token helper. GitHub PR authentication is
unchanged.

The DevDiv service connection is configured for workload identity
federation and MAUI pipeline 13330 is authorized to use it.

### Validation

- Parsed the updated pipeline as YAML.
- Verified the shared federated-token helper exists on this release
branch.
- Verified the legacy ceapex PAT is no longer referenced by MAUI's
repo-owned localization pipeline.

### Issues Fixed

Tracks [dnceng work item
10151](https://dev.azure.com/dnceng/internal/_workitems/edit/10151).

Copilot-Session: 80f6a0c6-7947-4200-bb78-7f0fc01d671a
kubaflo pushed a commit that referenced this pull request Aug 18, 2026
### Description of Change

Backport of #37607 to `release/10.0.1xx-sr8`.

Replace MAUI's long-lived `dn-bot-ceapex-package-r` dependency with a
short-lived Entra token for OneLocBuild package restores. The pipeline
acquires the token through the existing DevDiv
`dnceng-onelocbuild-ceapex` workload-identity service connection and
Arcade's shared federated-token helper. GitHub PR authentication is
unchanged.

The DevDiv service connection is configured for workload identity
federation and MAUI pipeline 13330 is authorized to use it.

### Validation

- Parsed the updated pipeline as YAML.
- Verified the shared federated-token helper exists on this release
branch.
- Verified the legacy ceapex PAT is no longer referenced by MAUI's
repo-owned localization pipeline.

### Issues Fixed

Tracks [dnceng work item
10151](https://dev.azure.com/dnceng/internal/_workitems/edit/10151).

Copilot-Session: 80f6a0c6-7947-4200-bb78-7f0fc01d671a
kubaflo pushed a commit that referenced this pull request Aug 18, 2026
### Description of Change

Backport of #37607 to `release/10.0.1xx-sr9`.

Replace MAUI's long-lived `dn-bot-ceapex-package-r` dependency with a
short-lived Entra token for OneLocBuild package restores. The pipeline
acquires the token through the existing DevDiv
`dnceng-onelocbuild-ceapex` workload-identity service connection and
Arcade's shared federated-token helper. GitHub PR authentication is
unchanged.

The DevDiv service connection is configured for workload identity
federation and MAUI pipeline 13330 is authorized to use it.

### Validation

- Parsed the updated pipeline as YAML.
- Verified the shared federated-token helper exists on this release
branch.
- Verified the legacy ceapex PAT is no longer referenced by MAUI's
repo-owned localization pipeline.

### Issues Fixed

Tracks [dnceng work item
10151](https://dev.azure.com/dnceng/internal/_workitems/edit/10151).

Copilot-Session: 80f6a0c6-7947-4200-bb78-7f0fc01d671a
kubaflo pushed a commit that referenced this pull request Aug 18, 2026
### Description of Change

Backport of #37607 to `release/10.0.1xx-sr10`.

Replace MAUI's long-lived `dn-bot-ceapex-package-r` dependency with a
short-lived Entra token for OneLocBuild package restores. The pipeline
acquires the token through the existing DevDiv
`dnceng-onelocbuild-ceapex` workload-identity service connection and
Arcade's shared federated-token helper. GitHub PR authentication is
unchanged.

The DevDiv service connection is configured for workload identity
federation and MAUI pipeline 13330 is authorized to use it.

### Validation

- Parsed the updated pipeline as YAML.
- Verified the shared federated-token helper exists on this release
branch.
- Verified the legacy ceapex PAT is no longer referenced by MAUI's
repo-owned localization pipeline.

### Issues Fixed

Tracks [dnceng work item
10151](https://dev.azure.com/dnceng/internal/_workitems/edit/10151).

Copilot-Session: 80f6a0c6-7947-4200-bb78-7f0fc01d671a
kubaflo pushed a commit that referenced this pull request Aug 18, 2026
### Description of Change

Backport of #37607 to `release/11.0.1xx-preview5`.

Replace MAUI's long-lived `dn-bot-ceapex-package-r` dependency with a
short-lived Entra token for OneLocBuild package restores. The pipeline
acquires the token through the existing DevDiv
`dnceng-onelocbuild-ceapex` workload-identity service connection and
Arcade's shared federated-token helper. GitHub PR authentication is
unchanged.

The DevDiv service connection is configured for workload identity
federation and MAUI pipeline 13330 is authorized to use it.

### Validation

- Parsed the updated pipeline as YAML.
- Verified the shared federated-token helper exists on this release
branch.
- Verified the legacy ceapex PAT is no longer referenced by MAUI's
repo-owned localization pipeline.

### Issues Fixed

Tracks [dnceng work item
10151](https://dev.azure.com/dnceng/internal/_workitems/edit/10151).

Copilot-Session: 80f6a0c6-7947-4200-bb78-7f0fc01d671a
kubaflo pushed a commit that referenced this pull request Aug 18, 2026
### Description of Change

Backport of #37607 to `release/11.0.1xx-preview6`.

Replace MAUI's long-lived `dn-bot-ceapex-package-r` dependency with a
short-lived Entra token for OneLocBuild package restores. The pipeline
acquires the token through the existing DevDiv
`dnceng-onelocbuild-ceapex` workload-identity service connection and
Arcade's shared federated-token helper. GitHub PR authentication is
unchanged.

The DevDiv service connection is configured for workload identity
federation and MAUI pipeline 13330 is authorized to use it.

### Validation

- Parsed the updated pipeline as YAML.
- Verified the shared federated-token helper exists on this release
branch.
- Verified the legacy ceapex PAT is no longer referenced by MAUI's
repo-owned localization pipeline.

### Issues Fixed

Tracks [dnceng work item
10151](https://dev.azure.com/dnceng/internal/_workitems/edit/10151).

Copilot-Session: 80f6a0c6-7947-4200-bb78-7f0fc01d671a
kubaflo pushed a commit that referenced this pull request Aug 18, 2026
### Description of Change

Backport of #37607 to `release/11.0.1xx-preview7`.

Replace MAUI's long-lived `dn-bot-ceapex-package-r` dependency with a
short-lived Entra token for OneLocBuild package restores. The pipeline
acquires the token through the existing DevDiv
`dnceng-onelocbuild-ceapex` workload-identity service connection and
Arcade's shared federated-token helper. GitHub PR authentication is
unchanged.

The DevDiv service connection is configured for workload identity
federation and MAUI pipeline 13330 is authorized to use it.

### Validation

- Parsed the updated pipeline as YAML.
- Verified the shared federated-token helper exists on this release
branch.
- Verified the legacy ceapex PAT is no longer referenced by MAUI's
repo-owned localization pipeline.

### Issues Fixed

Tracks [dnceng work item
10151](https://dev.azure.com/dnceng/internal/_workitems/edit/10151).

Copilot-Session: 80f6a0c6-7947-4200-bb78-7f0fc01d671a
kubaflo pushed a commit that referenced this pull request Aug 18, 2026
### Description of Change

Backport of #37607 to `release/11.0.1xx-rc1`.

Replace MAUI's long-lived `dn-bot-ceapex-package-r` dependency with a
short-lived Entra token for OneLocBuild package restores. The pipeline
acquires the token through the existing DevDiv
`dnceng-onelocbuild-ceapex` workload-identity service connection and
Arcade's shared federated-token helper. GitHub PR authentication is
unchanged.

The DevDiv service connection is configured for workload identity
federation and MAUI pipeline 13330 is authorized to use it.

### Validation

- Parsed the updated pipeline as YAML.
- Verified the shared federated-token helper exists on this release
branch.
- Verified the legacy ceapex PAT is no longer referenced by MAUI's
repo-owned localization pipeline.

### Issues Fixed

Tracks [dnceng work item
10151](https://dev.azure.com/dnceng/internal/_workitems/edit/10151).

Copilot-Session: 80f6a0c6-7947-4200-bb78-7f0fc01d671a
@kubaflo
kubaflo merged commit f578901 into dotnet:main Aug 18, 2026
10 of 11 checks passed
@github-actions github-actions Bot added this to the .NET 10 SR11 milestone Aug 18, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 18, 2026

This branch was previously deployed

1 inactive deployment
copilot-pat-pool — 8692e0fe Deployed Aug 18, 2026 by missymessa via conclusion #1415
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

community ✨ Community Contribution

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants