← Back to list

dispatch-release
by cartridge-gg
A self custodial embedded account to seamlessly play onchain games
⭐ 79🍴 44📅 Jan 23, 2026
SKILL.md
name: dispatch-release description: Dispatch a release using GitHub Actions. Use when asked to create a release, publish to npm, or start the release process.
Dispatch Release
Overview
The Cartridge Controller uses a two-phase release process:
- Dispatch: Creates a release preparation PR with version bumps
- 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.json
Step 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.yml
Step 4: Review the Release PR
The workflow creates:
- A PR titled "Prepare release: X.Y.Z" (or "Prepare prerelease: X.Y.Z")
- 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> --merge
This triggers release.yml which:
- Builds all packages
- Publishes to npm (
@cartridge/controller,@cartridge/connector) - 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> --yes
Hotfix Release
For urgent fixes:
- Create fix on main (or cherry-pick)
- Dispatch patch version release
- Fast-track review and merge
Failed Release
If npm publish fails:
- Check the
release.ymlworkflow logs - Fix the issue
- Re-run the workflow or manually dispatch
release.yml
gh workflow run release.yml
Example: 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.0
Required Permissions
- GitHub token with
contents: writeandpull-requests: write - npm token (configured as
NPM_TOKENsecret) CREATE_PR_TOKENsecret for PR creation
Score
Total Score
60/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
✓フォーク
10回以上フォークされている
+5
○Issue管理
オープンIssueが50未満
0/5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon