Skip to content

Publish core packages to ADO azure-sdk-for-js feed#11118

Open
timotheeguerin wants to merge 1 commit into
mainfrom
timotheeguerin/publish-core-to-ado-feed
Open

Publish core packages to ADO azure-sdk-for-js feed#11118
timotheeguerin wants to merge 1 commit into
mainfrom
timotheeguerin/publish-core-to-ado-feed

Conversation

@timotheeguerin

Copy link
Copy Markdown
Member

Problem

CI (and this repo's emitter pipelines) install npm packages from the ADO feed azure-sdk-for-js (https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-js/npm/registry/), which quarantines newly released npmjs packages for 7 days. Core @typespec/* packages currently publish only to npmjs via ESRP, so freshly released versions are not installable from the feed for a week.

Change

Publish the built .tgz artifacts directly to the ADO feed (which bypasses the upstream quarantine) before the existing npm/ESRP publish, applying the dual-publish pattern already used by this repo's emitter pipeline (eng/emitters/.../emitter-stages.yml) and every Azure SDK repo (archetype-typespec-emitter.yml).

  • New eng/tsp-core/pipelines/templates/release/ado-feed-release.yml — mirrors esrp-release.yml; reuses create-authenticated-npmrc.yml (registry = the feed) + a npm publish --access public --tag <tag> loop.
    • Already-published versions are skipped (detects EPUBLISHCONFLICT/409), matching today's npm behavior of not republishing.
    • Genuine failures fail the pipeline so the quarantine-bypass gap is visible.
    • Gated by SkipPublishing for dry runs.
  • Edited eng/tsp-core/pipelines/jobs/publish-npm.yml — runs the ADO-feed step before ESRP, for both stable/latest and next/next (no change to publish.yml).

Notes / follow-ups

  • Requires the pipeline identity to have @typespec/* publish rights on the azure-sdk-for-js feed (emitters already publish @azure-tools/* there). Please confirm with EngSys.
  • If the 1ES releaseJob restricts npmAuthenticate/npm publish, fallback is to move the ADO publish to a separate normal job that the ESRP deployment job dependsOn.
  • eng/CI-only change \u2014 no changelog entry.

Core TypeSpec packages currently publish only to npmjs via ESRP. The CI
consumption feed (azure-sdk-for-js) quarantines newly released packages
for 7 days, so freshly released packages are not installable for a week.

Publish the .tgz artifacts directly to the ADO feed (bypassing the
quarantine) before the npm/ESRP publish, matching the existing emitter
pipeline pattern. Already-published versions are skipped; genuine
failures fail the pipeline.
@github-actions

Copy link
Copy Markdown
Contributor

No changes needing a change description found.

@azure-sdk-automation

azure-sdk-automation Bot commented Jun 30, 2026

Copy link
Copy Markdown

You can try these changes here

🛝 Playground 🌐 Website 🛝 VSCode Extension

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants