Skip to content

ci: remove unsupported 1ES release job outputs - #2030

Merged
Ramses Sanchez-Hernandez (ramsessanchez) merged 1 commit into
devfrom
ramsessanchez-release-job-outputs-fix
Nov 6, 2026
Merged

Ramses Sanchez-Hernandez (ramsessanchez) merged 1 commit into
devfrom
ramsessanchez-release-job-outputs-fix

Conversation

@ramsessanchez

Copy link
Copy Markdown
Collaborator

A similar PR may already be submitted! Please search among the Pull request before creating one.

Thanks for submitting a pull request! Please provide enough information so that others can review your pull request.

NOTE: PR's will be accepted only in case of appropriate information is provided below

Summary

Remove only PublishNpm.templateContext.outputs from the production pipeline. Keep BuildPackage.templateContext.outputs publishing sdk-build and the production release job's templateContext.inputs consuming it unchanged. ESRP configuration, environment, tag trigger, version equality check, and Publish-stage gating are unchanged.

Update CONTRIBUTING's Production pipeline guidance: Build publishes sdk-build with the packed .tgz; the release job consumes it for ESRP and cannot emit artifact outputs. release-drop is no longer produced, and remaining consumers must use sdk-build. Manual and branch runs remain build-only. No versions or tags were modified, and no release was initiated.

Motivation

Explain the motivation for making this change. What existing problem does the pull request solve?

The migration merged in #2026 fails private 1ES template expansion with /v1/Jobs/ReleaseJob.yml@1ESPipelineTemplates (Line: 93, Col: 5): Unexpected value 'A release job cannot have outputs (see stage: Publish, job: PublishNpm)'. The tarball is already published by Build and consumed by PublishNpm, so removing the unsupported release output preserves ESRP's artifact input without rebuilding or repacking.

Test plan

Demonstrate the code is solid. Example: The exact commands you ran and their output.

Exact local commands and results:

  • python C:\Users\ramsess\.copilot\session-state\76e601f0-c989-464f-b3d0-5ac2416e54c5\files\validate-release-job.py — passed using available PyYAML. Output: PASS: YAML parsing, releaseJob output prohibition, sdk-build artifact wiring, ESRP folder, tag gate, and all remaining pipeline configuration unchanged. This session-local validation script parses the pipeline, asserts no outputs on the production releaseJob, matches Build's sdk-build output to the release input and ESRP folder, checks the pack destination and exact tag gate, and compares the entire parsed pipeline against dev commit 104ad572d with only the release output removed. The script is not added to the repository.
  • git diff --check — passed, no output.

SDK npm run build, npm run test, and npm run lint were not run: this is a pipeline/docs-only fix with no SDK code or dependency changes. Private 1ES template compilation still requires Azure DevOps validation. A manual PR-branch run remains build-only, including manual runs targeting tags; do not recreate a tag or retry publication for validation.

Closing issues

No linked issue.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • I have read the CONTRIBUTING document.
  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@ramsessanchez
Ramses Sanchez-Hernandez (ramsessanchez) merged commit 47587ec into dev Nov 6, 2026
9 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.

2 participants