Skip to content

Route npm and NuGet restores through CFS - #238

Merged
ahmedmuhsin merged 1 commit into
Azure:devfrom
fabiocav:cfs-update
Aug 3, 2026
Merged

Route npm and NuGet restores through CFS#238
ahmedmuhsin merged 1 commit into
Azure:devfrom
fabiocav:cfs-update

Conversation

@fabiocav

Copy link
Copy Markdown
Member

Summary

  • route the repository's global azure-functions-core-tools and Azurite npm installs through azfunc/public/upstream-public
  • authenticate npm independently in the public and official Azure Pipelines jobs and pass NPM_CONFIG_USERCONFIG explicitly to every global install context
  • add a clear-first, wildcard-mapped root NuGet.config, authenticate the official job, explicitly restore the detached Java worker E2E project from that config, and prevent the later test command from restoring implicitly
  • remove the unused NuGetToolInstaller@1 download from the official job

Audit

All 63 tracked repository paths were audited across CI, build, release, development, package, Docker, detached-project, tool, and helper entry points.

  • In scope: the two global npm installs and the detached .NET E2E project cloned by build.ps1
  • Out of scope: the repository's Maven-only Java graph
  • Not present: repository-owned package.json, Python/pip/uv surfaces, Dockerfiles, or customer templates/scaffolding that require changes
  • No package lockfiles were rewritten, and no fallback registry, always-auth, or committed credential was added

Validation

  • Installed azure-functions-core-tools@latest (4.12.1) and azurite@latest (3.36.0) from separate empty npm caches and isolated global prefixes under C:\cfs space\...
  • Resolved the combined 341-package production graph, including every current production scope, exclusively through Azure Artifacts/CFS package hosts; no request used registry.npmjs.org
  • Restored the detached Java worker E2E project at worker commit f6ad2a2c6bd7a537bc2b2d5afa7951ca700b2528 from an empty NuGet cache under C:\cfs space\...: 126 libraries, no nuget.org request
  • Built that project with .NET SDK 6.0.428 using --no-restore with 0 warnings and 0 errors, then discovered 8 tests using --no-restore --no-build
  • Ran mvnBuild.bat with JDK 8 and an isolated empty Maven repository: build succeeded; 2 tests passed
  • Audited all three generated JARs and the detached .NET build output: no feed configs, credentials, package lockfiles, or node_modules

The first Maven attempt encountered an empty POM in the pre-existing user cache; the unchanged build passed from an isolated repository, confirming that was local cache corruption rather than a branch regression.

Configure npm global installs and the detached E2E NuGet restore to use azfunc/public/upstream-public with explicit Azure Pipelines authentication.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@fabiocav
fabiocav requested a review from a team as a code owner July 31, 2026 18:28
@azure-pipelines

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

@fabiocav

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Commenter does not have sufficient privileges for PR 238 in repo Azure/azure-functions-java-library

@fabiocav

fabiocav commented Jul 31, 2026

Copy link
Copy Markdown
Member Author

@vrdmr CFS onboarding and cold-cache validation are complete. Azure Pipelines requires an authorized maintainer to comment /azp run for this fork PR; could you start the initial run?

@ahmedmuhsin

Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@ahmedmuhsin
ahmedmuhsin merged commit d5af38b into Azure:dev Aug 3, 2026
5 checks passed
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.

3 participants