Skip to content

ci: gate publish behind the release environment - #6

Merged
ttpears merged 1 commit into
mainfrom
ci/gate-release-publish
Aug 2, 2026
Merged

ci: gate publish behind the release environment#6
ttpears merged 1 commit into
mainfrom
ci/gate-release-publish

Conversation

@ttpears

@ttpears ttpears commented Aug 2, 2026

Copy link
Copy Markdown
Owner

Prep for a second contributor working across the MCP repos. Companion to ttpears/bookstack-mcp#17.

What this changes

Today, merging a PR that bumps package.json version makes the tag job in ci.yml push a v* tag, which fires release.yml, which publishes to npm (with provenance), pushes GHCR images, and cuts a GitHub Release — with no human approval anywhere in the chain.

Both jobs in release.yml now target the release environment, which is configured with required reviewers. A tagged build now stages and waits for approval. One approval unblocks both jobs in the run.

Not changed

ci.yml already runs npm run type-check and npm test, so no test-gate change was needed here (unlike bookstack-mcp, whose CI ran build only). Merging and tagging remain unrestricted — only the publish waits. PR preview images (docker-preview) are unaffected.

Merging a version bump auto-tags via the tag job, and the tag previously fired
release.yml straight through to npm, GHCR, and a GitHub Release with no human
in the loop. Point both release jobs at the `release` environment, which has
required reviewers, so a tagged build stages and waits for approval instead of
shipping itself. One approval unblocks both jobs in the run.

CI already runs type-check and the test suite, so no change is needed there.
@ttpears
ttpears merged commit 621b2a6 into main Aug 2, 2026
3 checks passed
@ttpears
ttpears deleted the ci/gate-release-publish branch August 2, 2026 23:29
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.

1 participant