Summary
The azure-dev - azdo-extension pipeline (eng/pipelines/release-azuredevops.yml → azuredevops-build-and-test.yml → azuredevops-build.yml) consistently fails on the self-hosted Linux and Windows azsdk-pool agents because npm cannot reach the public registry.
Actual error (from the ADO build logs)
- Linux — Install build tools and dependencies step (
npm i -g npm tfx-cli; npm ci):
npm error code EPERM
npm error FetchError: request to https://registry.npmjs.org/npm failed, reason:
npm error The operation was rejected by your operating system.
- Windows — Test step:
'tsc' is not recognized ... — a cascade of the same failed/incomplete npm ci.
The very first command to fail is npm i -g npm itself — before any project dependency is resolved.
Scope / evidence this is environmental, not code
Temporary mitigation
To unblock unrelated PRs (e.g. the grouped Dependabot security update #9240), the npm-dependent steps of the azdo-extension build have been made non-blocking for PR validation builds only (Build.Reason == PullRequest). Release/CD builds on main remain strict, so CodeQL and artifact generation are unaffected.
Follow-up (this issue)
Summary
The
azure-dev - azdo-extensionpipeline (eng/pipelines/release-azuredevops.yml→azuredevops-build-and-test.yml→azuredevops-build.yml) consistently fails on the self-hosted Linux and Windowsazsdk-poolagents because npm cannot reach the public registry.Actual error (from the ADO build logs)
npm i -g npm tfx-cli; npm ci):'tsc' is not recognized ...— a cascade of the same failed/incompletenpm ci.The very first command to fail is
npm i -g npmitself — before any project dependency is resolved.Scope / evidence this is environmental, not code
Azure Pipelinespool (open internet). Linux/Windows run on the self-hostedazsdk-pool.npm i -g npm …; npm cipattern and passed on the sameazsdk-poolconcurrently.npm ci,npm test(tsc + mocha) andci-package.ps1(tsc +tfx extension create) all pass locally on Node 20.EPERM(3/3 azdo runs fail; Mac passes each time), so it is not transient flakiness.Temporary mitigation
To unblock unrelated PRs (e.g. the grouped Dependabot security update #9240), the npm-dependent steps of the azdo-extension build have been made non-blocking for PR validation builds only (
Build.Reason == PullRequest). Release/CD builds onmainremain strict, so CodeQL and artifact generation are unaffected.Follow-up (this issue)
azsdk-poolLinux/Windows agents (allowregistry.npmjs.org, or route the azdo-extension build through an allowlisted internal npm feed / Azure Artifacts, consistent with the working vscode build).continueOnError/ PR guards added in chore(deps): group all Dependabot security updates into a single PR #9240 toeng/pipelines/templates/jobs/azuredevops-build.yml).