Skip to content

ci(release): gate only the publish on approval - #201

Merged
0xisk merged 1 commit into
mainfrom
ci/release-single-approval
Sep 25, 2026
Merged

0xisk merged 1 commit into
mainfrom
ci/release-single-approval

Conversation

@0xisk

@0xisk 0xisk commented Sep 25, 2026 •

Copy link
Copy Markdown
Member

Types of changes

What types of changes does your code introduce to OpenZeppelin Midnight Contracts?
Put an x in the boxes that apply

  • Bugfix (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 not work as expected)
  • Documentation Update (if none of the other choices apply)

A release asked for compact-npm-prod approval twice: once in "Release Package" before opening the release PR, and again in "Publish Release" before npm. This keeps only the publish gate.

Not visible in the diff:

  • The prepare job reads only repo-level credentials (vars.GH_APP_ID, secrets.GH_APP_PRIVATE_KEY). The environment holds just NPM_TOKEN, which only the publish job uses, so dropping the environment there loses no secret.
  • Without the first gate, the release PR still waits on its required checks and code-owner review before auto-merge, and nothing reaches npm without the publish approval.

PR Checklist

  • I have read the Contributing Guide
  • I have added tests that prove my fix is effective or that my feature works
  • I have added documentation of new methods and any new behavior or changes to existing behavior
  • CI Workflows Are Passing

Summary by CodeRabbit

  • Chores
    • Updated the release process to run tests, bump the version, and open and auto-merge a release pull request before maintainer approval.
    • After the pull request merges, approval is required before creating a release tag and publishing the package to npm under the channel’s distribution tag.

A release asked for compact-npm-prod approval twice: once to open the
release PR and again to publish. The prepare job needs no environment
secret, and its PR still waits on checks and code-owner review, so the
publish gate is the only one kept.
@0xisk
0xisk requested review from a team as code owners September 25, 2026 08:39
@coderabbitai

coderabbitai Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Essentials

Run ID: ff553130-216e-4494-84c5-962061a01c59

📥 Commits

Reviewing files that changed from the base of the PR and between 8d505b6 and 2f5e8a3.

📒 Files selected for processing (2)
  • .github/workflows/release.yml
  • RELEASING.md
💤 Files with no reviewable changes (1)
  • .github/workflows/release.yml

Included review availability: 1 review is currently available. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour.


Walkthrough

The release job no longer targets the compact-npm-prod environment. The release guide describes approval after the release PR merges, followed by CI tagging and npm publication.

Changes

Release approval and publication

Layer / File(s) Summary
Release approval and publication sequence
.github/workflows/release.yml, RELEASING.md
The release job no longer targets the compact-npm-prod environment. The guide describes tests, version bumping, and release PR creation and auto-merge before approval. After the PR merges and approval occurs, CI creates a git tag and publishes to npm under the channel’s dist-tag.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~7 minutes

Change: Other

Suggested reviewers: andrew-fleming

Merge Risk: ⚪ Minimal · up to 2f5e8

Release preparation proceeds without the production approval request, while tagging and npm publication remain behind the compact-npm-prod workflow gate. The available evidence does not establish an unapproved publishing path.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: approval gates only the publish step in the release workflow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

A rabbit checks the release trail
Tests and version bumps set the sail
The PR merges, approval comes
Then tags and packages join the runs
Soft paws celebrate the flow

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

@0xisk
0xisk enabled auto-merge (squash) September 25, 2026 08:48
@0xisk
0xisk disabled auto-merge September 25, 2026 09:02
@0xisk
0xisk merged commit 3633522 into main Sep 25, 2026
11 checks passed
@0xisk
0xisk deleted the ci/release-single-approval branch September 25, 2026 09:02
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