Skip to content

fix: split publish pipeline into separate stage with release job isolation#2894

Merged
corinagum merged 1 commit into
mainfrom
cg/fix-publish-inputs
Jun 17, 2026
Merged

fix: split publish pipeline into separate stage with release job isolation#2894
corinagum merged 1 commit into
mainfrom
cg/fix-publish-inputs

Conversation

@corinagum

Copy link
Copy Markdown
Collaborator

Same fix as microsoft/teams.ts#625 and microsoft/teams.py#481.

Splits the single-job publish pipeline into a separate publish stage with two jobs:

  • publish_internal - no release context, publishes to Azure Artifacts
  • publish_public - type: releaseJob + isProduction: true, publishes via ESRP

This fixes the 1ES template error:

Change management: no release tasks outside of release jobs in pipeline

Also uses artifactName (required by 1ES template) for pipelineArtifact inputs.

…ation

Replace isReleaseJob on the build job with a separate publish stage
containing two jobs: publish_internal (no release context) and
publish_public (releaseJob + isProduction). This prevents the 1ES
template from flagging release tasks outside of release jobs.

Also uses artifactName (required by 1ES template) for pipelineArtifact
inputs, and passes version variables across stages via output variables.

Co-authored-by: Copilot <[email protected]>
Copilot AI review requested due to automatic review settings June 17, 2026 22:52

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Splits the manual npm publish Azure DevOps pipeline into a dedicated publish stage with isolated jobs for internal feed publishing vs ESRP public publishing, aligning with 1ES change-management requirements (release tasks only in release jobs).

Changes:

  • Adds a publish stage with publish_internal (Azure Artifacts) and publish_public (type: releaseJob, isProduction: true, ESRP) jobs.
  • Publishes out/ as a pipelineArtifact (artifactName: npm-packages) and consumes it from $(Pipeline.Workspace) in publish jobs.
  • Promotes VersionNumber / NpmTag to cross-stage output variables for release metadata.

Comment thread .azdo/publish.yml
Comment thread .azdo/publish.yml
Comment thread .azdo/publish.yml
@corinagum
corinagum merged commit 2037b5c into main Jun 17, 2026
2 checks passed
@corinagum
corinagum deleted the cg/fix-publish-inputs branch June 17, 2026 22:56
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