Skip to content

Use dotnet-public feed for CI workloads - #1516

Merged
jonathanpeppers merged 6 commits into
mainfrom
jonathanpeppers-use-public-workload-feed
Aug 14, 2026
Merged

Use dotnet-public feed for CI workloads#1516
jonathanpeppers merged 6 commits into
mainfrom
jonathanpeppers-use-public-workload-feed

Conversation

@jonathanpeppers

Copy link
Copy Markdown
Member

Azure DevOps workload installation currently reaches api.nuget.org, causing CFSClean network-isolation violations.

Define the dnceng dotnet-public feed as the shared workload source and use it for both dotnet workload update and dotnet workload install.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings August 12, 2026 21:32

Copilot AI left a comment

Copy link
Copy Markdown

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 the Azure DevOps CI environment setup to install .NET workloads from the dnceng dotnet-public feed instead of reaching api.nuget.org, addressing CFSClean network-isolation violations.

Changes:

  • Introduce a shared dotnetWorkloadSource variable pointing at the dnceng dotnet-public feed.
  • Update CI workload installation commands (dotnet workload update/install) to use $(dotnetWorkloadSource).

Reviewed changes

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

File Description
build/ci/variables.yml Adds dotnetWorkloadSource variable for the dnceng dotnet-public workload feed.
build/ci/setup-environment.yml Switches workload update/install commands to use the shared workload source variable.

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

Comment thread build/ci/setup-environment.yml Outdated
jonathanpeppers and others added 4 commits August 12, 2026 16:57
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@jonathanpeppers

Copy link
Copy Markdown
Member Author

@dalexsoto review

@jonathanpeppers
jonathanpeppers enabled auto-merge (squash) August 13, 2026 03:17

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

The dotnet-public switch silently downgrades the workload set used to build shipped packages. With SDK 10.0.400, Microsoft.NET.Workloads.10.0.400 is unavailable on dotnet-public, so workload installation exits successfully after falling back to older bundled manifests. Build 1550944 resolves Android 36.1.2 instead of 36.1.69 and MAUI 10.0.0/9.0.111 instead of 10.0.20/9.0.120, including the net10 artifacts produced and signed by this pipeline. Keep the compliant dotnet-public feed, but use/pin the newer loose manifests (or a rollback file) and add an explicit resolved-version assertion so future workload-set gaps cannot pass silently.

@jonathanpeppers

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
No pipelines were found matching this branch/path.

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

Copilot-Session: 670b11ee-d5cc-47e1-a8c2-007217146da1
@jonathanpeppers

Copy link
Copy Markdown
Member Author

Addressed in 0aa8000. CI now checks the resolved Android manifest after workload installation and fails when it is below 36.1.69. This is a minimum-version check, so newer mirrored workload sets continue to upgrade normally.

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

The Android minimum-version assertion prevents the previously observed Android downgrade, but it does not protect the MAUI manifests that also downgraded. In loose-manifest mode Android and MAUI resolve independently, so Android 36.1.69 can pass while maui-android remains at 10.0.0 and its net9 SDK/templates at 9.0.111. Please also assert maui-android >= 10.0.20 (and its expected workload-set/manifest mode, or equivalently pin an acceptable workload set) so the full shipped/tested workload surface cannot silently regress.

@jonathanpeppers

Copy link
Copy Markdown
Member Author

. Please also assert maui-android >= 10.0.20

this repo doesn't even use maui

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

The maintainer clarification is supported by the pipeline: this repository does not consume the MAUI workload, so the prior MAUI minimum-version concern is not applicable.

@jonathanpeppers
jonathanpeppers merged commit bbcc47c into main Aug 14, 2026
2 checks passed
@jonathanpeppers
jonathanpeppers deleted the jonathanpeppers-use-public-workload-feed branch August 14, 2026 17:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants