You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: address review findings in release automation
- release.yml: use RELEASE_TOKEN PAT for gh release create so the
release:published event triggers npm-publish (GITHUB_TOKEN events
don't cascade to other workflows)
- release.yml: checkout merge_commit_sha in tag job instead of ref:main
to avoid tagging later commits
- release.yml: checkout ref:main in prepare job so dispatching from a
feature branch doesn't pollute the release PR
- release.yml: constrain preid to type:choice[beta] to match
npm-publish.yml's tag detection
- release.yml: drop -f on push so re-runs fail loudly instead of
clobbering manual RELEASES.md edits; drop pr-edit fallback
- release.yml: ensure release label exists before gh pr create
- release.yml: make tag push idempotent for re-runs after partial
failure
- bump-version.mjs: update workspace dependency ranges so major bumps
don't leave examples pointing at the old major
- bump-version.mjs: run npm install --package-lock-only so npm ci
on the release PR doesn't fail on lockfile mismatch
- npm-publish.yml: add npm-tag detection to publish-examples so beta
example releases don't overwrite latest
- .github/release.yml: use [bot] suffix in author excludes so
dependabot PRs are actually filtered from release notes
- CONTRIBUTING.md: document RELEASE_TOKEN setup; fix npm run -- syntax
--body "Bumps all packages to \`$VERSION\`. Add release notes to \`RELEASES.md\` before merging. Merging this PR will automatically tag and create the GitHub Release, which triggers npm-publish." \
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+7-1Lines changed: 7 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -529,6 +529,11 @@ Before publishing releases, ensure the following are configured:
529
529
- Name it `Release`
530
530
- Add required reviewers or other protection rules as needed
531
531
532
+
3.**`RELEASE_TOKEN` secret**: The release workflow creates GitHub Releases that must trigger the npm-publish workflow. Events from the default `GITHUB_TOKEN` don't cascade to other workflows, so a separate token is needed.
533
+
- Create a [fine-grained PAT](https://github.com/settings/personal-access-tokens/new) scoped to this repository with **Contents: write** permission
534
+
- Go to Settings > Secrets and variables > Actions > New repository secret
535
+
- Name: `RELEASE_TOKEN`, value: the PAT
536
+
532
537
### Publishing a Release
533
538
534
539
Releases are automated via the [Release workflow](https://github.com/modelcontextprotocol/ext-apps/actions/workflows/release.yml).
@@ -544,6 +549,7 @@ Releases are automated via the [Release workflow](https://github.com/modelcontex
544
549
- The workflow bumps the version across all packages and opens a PR labeled `release`
545
550
- Add release notes to `RELEASES.md` in the PR
546
551
- Approve and merge the PR
552
+
-_Note: re-running the workflow for the same version fails if the branch already exists. Delete the `release/vX.Y.Z` branch first if you need to redo the bump._
547
553
548
554
3.**Done** — merging the PR automatically tags the commit and creates the GitHub Release (with auto-generated notes), which triggers the [npm-publish workflow](https://github.com/modelcontextprotocol/ext-apps/actions/workflows/npm-publish.yml). Approve the deployment once when prompted.
549
555
@@ -552,7 +558,7 @@ Releases are automated via the [Release workflow](https://github.com/modelcontex
552
558
You can also bump versions locally:
553
559
554
560
```bash
555
-
npm run bump patch # or minor, major, prerelease --preid=beta
561
+
npm run bump -- patch # or: minor | major | prerelease --preid=beta
556
562
```
557
563
558
564
Then commit, push, and create a GitHub Release manually — the npm-publish workflow triggers on release creation.
0 commit comments