Skip to content

Document CFS NuGet restore workaround for Compute tests - #30091

Open
Haider Agha (haagha) wants to merge 1 commit into
mainfrom
docs/compute-cfs-nuget-restore
Open

Document CFS NuGet restore workaround for Compute tests#30091
Haider Agha (haagha) wants to merge 1 commit into
mainfrom
docs/compute-cfs-nuget-restore

Conversation

@haagha

@haagha Haider Agha (haagha) commented Aug 31, 2026

Copy link
Copy Markdown
Member

🤖 PR Validation — ️✔️ All clear

Tests
️✔️ 2/2

Description

Documents the verified workaround for Compute restore failures on Microsoft-managed developer devices where direct access to NuGet.org is blocked.

The new known-issue entry explains why the repository's explicit NuGet.org source bypasses the device's otherwise-unconfigured CFS default and directs developers to use a temporary NuGet configuration outside the repository with the sanctioned CFS proxy. It also preserves the repository configuration and avoids unnecessary DIRE requests.

Validation performed:

  • Confirmed https://packagefeedproxy.microsoft.io/nuget/v3/index.json returns a valid NuGet v3 service index.
  • Restored the complete Compute solution successfully using the temporary configuration.
  • Built the Compute solution successfully with --no-restore.
  • Confirmed the repository working tree remained clean before this documentation change.

Mandatory Checklist

  • Please choose the target release of Azure PowerShell.

    • General release
    • Public preview
    • Private preview
    • Engineering build
    • No need for a release
  • Check this box to confirm: I have read the Submitting Changes section of CONTRIBUTING.md and reviewed the checklist information.

No changelog or generated help update is needed because this PR changes contributor troubleshooting instructions only.

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 2 pipeline(s).
There may be pipelines that require an authorized user to comment /azp run to run.

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

Updates the Compute test debugging contributor instructions to document a known issue where NuGet restore/build fails on Microsoft-managed developer devices that block direct access to nuget.org, and provides a workaround using a temporary NuGet config with the CFS proxy.

Changes:

  • Adds a new Known Issues entry describing NU1301 restore failures when https://api.nuget.org/v3/index.json is inaccessible.
  • Documents a workaround approach using an out-of-repo NuGet config that replaces nuget.org with https://packagefeedproxy.microsoft.io/nuget/v3/index.json.

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

Comment on lines +224 to +226
- **Root cause**: The repository's `NuGet.Config` explicitly lists nuget.org, which takes precedence over the device's otherwise-unconfigured package-manager default. Device policy blocks direct public-registry access and requires public NuGet packages to be restored through the Central Feed Services (CFS) proxy.
- **Fix**: Do not modify the repository's `NuGet.Config` and do not request a DIRE solely for this failure. Create a temporary NuGet config outside the repository containing the absolute path to `tools/LocalFeed`, the existing `azure-powershell` Azure Artifacts source, and `https://packagefeedproxy.microsoft.io/nuget/v3/index.json` in place of nuget.org. Restore with `dotnet restore src/Compute/Compute.sln --configfile <temp-config>`, then build with `dotnet build src/Compute/Compute.sln --no-restore`.
- **Files involved**: NuGet.Config, src/Compute/Compute.sln, the temporary NuGet config outside the repository
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