Route NuGet restores through Central Feed Service - #789
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Not ready to approve
The smoke-test script constructs the nuget.config path using Windows-style backslashes, but it is executed on Ubuntu in GitHub Actions, which can break dotnet restore --configfile resolution.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
This review doesn't count toward merge requirements. Sign up for the private preview to control whether Copilot approvals count.
Pull request overview
Routes all dotnet restore operations in CI and the Azure Functions smoke-test path through the repository’s nuget.config, replacing direct nuget.org usage with the azfunc/public/upstream-public Central Feed Service (Azure Artifacts) feed.
Changes:
- Updated
nuget.configto use the CFS “upstream-public” feed with wildcard package source mapping. - Added NuGet feed authentication in Azure Pipelines and prevented implicit restores during packing by using
--no-restore. - Updated GitHub Actions and the smoke-test runner script to restore via
nuget.configand run subsequent commands with--no-restore.
File summaries
| File | Description |
|---|---|
| test/AzureFunctionsSmokeTests/run-smoketests.ps1 | Restore via repo nuget.config, then build/publish with --no-restore. |
| nuget.config | Replaces nuget.org source with the upstream-public CFS feed + source mapping. |
| eng/templates/build.yml | Adds NuGetAuthenticate and disables implicit restore during pack. |
| azure-pipelines-release.yml | Adds NuGetAuthenticate and disables implicit restore during pack. |
| .github/workflows/validate-build.yml | Restores with --configfile and adds --no-restore to downstream steps. |
| .github/workflows/codeQL.yml | Restores with --configfile and builds with --no-restore. |
| .github/workflows/azure-functions-smoke-tests.yml | Removes separate restore step, relying on the script’s restore path. |
Review details
- Files reviewed: 7/7 changed files
- Comments generated: 1
- Review effort level: Lite
We're testing this review assessment. Please use 👍 or 👎 to tell us if it's correct.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟢 Ready to approve
The changes consistently route restores through the repository NuGet configuration and correctly disable implicit restores across CI paths, with only a minor performance nit noted.
This review doesn't count toward merge requirements. Sign up for the private preview to control whether Copilot approvals count.
Review details
Suppressed comments (1)
test/AzureFunctionsSmokeTests/run-smoketests.ps1:107
dotnet publishwill do a build by default. Since this script already runsdotnet buildin Step 1, the publish step is likely rebuilding the project unnecessarily. Add--no-buildto the publish invocation to avoid duplicate compilation work and speed up the smoke test run.
"--no-restore"
- Files reviewed: 7/7 changed files
- Comments generated: 0 new
- Review effort level: Lite
We're testing this review assessment. Please use 👍 or 👎 to tell us if it's correct.
There was a problem hiding this comment.
🟡 Human review recommended
It changes the repository’s package restore source and authentication behavior across CI systems, which is high-impact and should be validated with a final human review of environment-specific access/compatibility assumptions.
Review details
- Files reviewed: 7/7 changed files
- Comments generated: 0 new
- Review effort level: Lite
We're testing this review assessment. Please use 👍 or 👎 to tell us if it's correct.
Summary
azfunc/public/upstream-publicCFS feed, including a wildcard package source mapping--no-restoreValidation
src/dirs.projpath; published the smoke-test app with an argument-array path containing spacesdotnet list package --vulnerable --include-transitivethrough CFS; it surfaced existing OpenTelemetry advisories inDistributedTracingSamplewithout suppressing themnode_modules, or credential-like files were shipped