Skip to content

fix: resolve daily CI build failures (1ES pool image + npm auth)#999

Open
ramsessanchez wants to merge 7 commits into
mainfrom
fix/daily-ci-build-failures
Open

fix: resolve daily CI build failures (1ES pool image + npm auth)#999
ramsessanchez wants to merge 7 commits into
mainfrom
fix/daily-ci-build-failures

Conversation

@ramsessanchez
Copy link
Copy Markdown
Contributor

@ramsessanchez ramsessanchez commented Jun 4, 2026

Summary

Fixes the daily CI build pipeline which was failing due to two issues:

1. Missing image property in pool config

The 1ES Pipeline Templates require name, image, and os to all be specified. The main pool was missing the image property, causing:

1ES PT Error: The os property specified in the pool does not match with the actual image.

Fix: Added image: ubuntu-latest to the main pool configuration.

2. npm registry auth for network isolation

Under 1ES network isolation policies, direct access to registry.npmjs.org is blocked, causing:

npm error FetchError: request to https://registry.npmjs.org/... failed, reason: EPERM

Fix:

  • Added a pipeline step to generate an .npmrc inline at build time (not committed to the repo) pointing to the GraphDeveloperExperiences_Public Azure Artifacts feed
  • Added npmAuthenticate@0 task before npm ci in the pipeline

This approach avoids committing an .npmrc to the repo, which would break the GitHub Actions workflow that authenticates directly against registry.npmjs.org.

Add missing 'image' property to 1ES pool config and configure npm
registry auth via .npmrc and npmAuthenticate task for network isolation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Aligns with updated approach from core PR - creates .npmrc via script
step during pipeline execution rather than checking it into the repo.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace hardcoded Azure Artifacts registry URL with npmRegistryUrl
pipeline variable, matching the approach in msgraph-sdk-typescript-core.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use the NPM_REGISTRY_URL pipeline variable directly instead of
mapping through an env block.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ramsessanchez and others added 2 commits June 5, 2026 16:25
Replace the 3-step .npmrc creation, npmAuthenticate, and npm ci script
with a single npm@1 task using customRegistry/customFeed, matching the
pattern from microsoftgraph/msgraph-sdk-typescript-core#583.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…mrc-with-npm-task

chore: replace .npmrc creation with npm@1 task in daily CI build
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.

1 participant