
Dispatch Release
- 29 installs
- 80 repo stars
- Updated July 29, 2026
- cartridge-gg/controller
Dispatch a Cartridge Controller release through GitHub Actions to create a version-bump PR that publishes to npm on merge.
About
Dispatches a Cartridge Controller release via GitHub Actions, creating a version-bump prep PR that publishes to npm on merge. A developer uses it to create a release or publish packages to npm.
- Two-phase release: dispatch a version-bump PR, then merge to publish
- Dispatches release-dispatch.yml via gh workflow run with version and tag
Dispatch Release by the numbers
- 29 all-time installs (skills.sh)
- Ranked #154 of 248 Release Management skills by installs in the Skillselion catalog
- Data as of Jul 30, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cartridge-gg/controller --skill dispatch-releaseAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 29 |
|---|---|
| repo stars | ★ 80 |
| Last updated | July 29, 2026 |
| Repository | cartridge-gg/controller ↗ |
What it does
Dispatch a Cartridge Controller release through GitHub Actions to create a version-bump PR that publishes to npm on merge.
Files
Dispatch Release
Overview
The Cartridge Controller uses a two-phase release process: 1. Dispatch: Creates a release preparation PR with version bumps 2. Publish: Merges PR triggers npm publish and GitHub release
Release Types
| Type | Tag | Use Case |
|---|---|---|
latest | Production | Stable releases for general use |
prerelease | Beta/RC | Testing releases before stable |
Dispatching a Release
Step 1: Determine Version
Follow semantic versioning:
- Major (1.0.0): Breaking changes
- Minor (0.1.0): New features, backward compatible
- Patch (0.0.1): Bug fixes, backward compatible
Check current version:
jq -r '.version' packages/controller/package.jsonStep 2: Dispatch via GitHub CLI
# For a production release
gh workflow run release-dispatch.yml \
-f version="X.Y.Z" \
-f tag="latest"
# For a prerelease
gh workflow run release-dispatch.yml \
-f version="X.Y.Z-beta.1" \
-f tag="prerelease"Step 3: Monitor Workflow
# Watch the workflow run
gh run watch
# Or list recent runs
gh run list --workflow=release-dispatch.ymlStep 4: Review the Release PR
The workflow creates: 1. A PR titled "Prepare release: X.Y.Z" (or "Prepare prerelease: X.Y.Z") 2. A draft GitHub release
# Find the PR
gh pr list --head prepare-release
# or
gh pr list --head prepare-prerelease
# Review the PR
gh pr view <PR_NUMBER>The changelog will be auto-generated by the changelog-generation.yml workflow.
Step 5: Merge to Publish
Once the release PR is reviewed and approved:
gh pr merge <PR_NUMBER> --mergeThis triggers release.yml which: 1. Builds all packages 2. Publishes to npm (@cartridge/controller, @cartridge/connector) 3. Finalizes the GitHub release with changelog
Verifying the Release
After merge, verify:
# Check npm
npm view @cartridge/controller version
npm view @cartridge/connector version
# Check GitHub releases
gh release list --limit 5
# View specific release
gh release view v<VERSION>Workflow Files
| File | Purpose |
|---|---|
release-dispatch.yml | Initiates release, creates PR and draft release |
changelog-generation.yml | Auto-generates changelog for release PRs |
release.yml | Publishes to npm when release PR merges |
Common Scenarios
Cancel a Release
If you need to cancel before merge:
# Close the PR without merging
gh pr close <PR_NUMBER>
# Delete the draft release
gh release delete v<VERSION> --yesHotfix Release
For urgent fixes: 1. Create fix on main (or cherry-pick) 2. Dispatch patch version release 3. Fast-track review and merge
Failed Release
If npm publish fails: 1. Check the release.yml workflow logs 2. Fix the issue 3. Re-run the workflow or manually dispatch release.yml
gh workflow run release.ymlExample: Full Release Flow
# 1. Check current version
jq -r '.version' packages/controller/package.json
# Output: 0.9.5
# 2. Dispatch next minor version
gh workflow run release-dispatch.yml -f version="0.10.0" -f tag="latest"
# 3. Wait for PR creation
sleep 30
gh pr list --head prepare-release
# 4. Review changelog (auto-generated)
gh pr view --web # Opens in browser
# 5. After review, merge
gh pr merge --merge
# 6. Verify publication
npm view @cartridge/controller version
# Output: 0.10.0Required Permissions
- GitHub token with
contents: writeandpull-requests: write - npm token (configured as
NPM_TOKENsecret) CREATE_PR_TOKENsecret for PR creation