Repository navigation
fix(release): stage npm packages for maintainer approval - #49
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The v2.9.0 npm retry fails with
E_STAGE_REQUIRED: the configured token can stage packages but cannot publish directly. Use npm 11.21.0 on Node 24 and stage packages for separate maintainer approval, preserving the stage-only token and existing npm gate.The shared workflow runs after future releases and supports recovery from an existing stable release via
workflow_dispatchon main. Recovery reads package sources from the release tag, verifies the existing checksum attestation against that exact tag/commit and release workflow, and checks every asset checksum and each archive attestation. It does not rebuild binaries, retag, change release assets, or rerun crates.io publication. Package assembly and SDK build run without npm credentials; staging disables lifecycle scripts and never approves packages.Retries skip public versions, reuse byte-identical stages with the same version/tag, and stop on conflicts or registry/authentication errors. The guide describes review and interactive 2FA approval of platform packages before dependent wrappers; approval is not atomic across packages.
Validation:
This PR was opened in draft and marked ready after independent review and all exact-head CI passed. Merge still requires a genuine eligible GitHub approval; an agent's independent review does not satisfy that branch-protection requirement.