Skip to content

fix(ci): publish validated release commits and recover interrupted uploads - #29

Merged
sunib merged 2 commits into
mainfrom
fix/release-race
Sep 11, 2026
Merged

sunib merged 2 commits into
mainfrom
fix/release-race

Conversation

@sunib

@sunib sunib commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

An older push can finish CI after a release PR merges: release-please then tags the newer commit, while the run still holds the older version's tarball. The first publish fails and later runs skip it because the GitHub releases already exist.

Resolve the release tags independently of releases_created, require all component tags and version manifests to agree, and run full CI against the immutable release commit. Publish only that CI artifact, checking its recorded commit, SHA-512 digest, package name, and version. Existing npm versions are a no-op; registry errors fail closed and recovery cannot downgrade latest. Registry requests use a constant URL; version lookups happen locally so manifest data never enters outbound requests. A main-only manual dispatch can recover a specified release.

Validation: seven release safety regression tests, actionlint, git diff --check, and a read-only resolver check against the existing 0.3.0 release. PR CI will exercise the updated reusable workflow. Once merged, the workflow should recover the valid but unpublished 0.3.0 release.

@coderabbitai

coderabbitai Bot commented Sep 11, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 4 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 213a8970-bfd8-4c0d-a811-e2d63d56333b

📥 Commits

Reviewing files that changed from the base of the PR and between 209537c and 05e4da3.

📒 Files selected for processing (5)
  • .github/scripts/release.mjs
  • .github/scripts/release.test.mjs
  • .github/workflows/ci.yml
  • .github/workflows/release.yml
  • docs/releasing.md

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Comment thread .github/scripts/release.mjs Fixed
@sunib
sunib merged commit 2154f9d into main Sep 11, 2026
13 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