Release Management Skill
Automated releases via semantic-release with unified "v" prefix versioning.
How It Works
-
Commits pushed to main trigger .github/workflows/release.yml
-
Checks run first (test + lint matrix)
-
semantic-release analyses commits since last tag
-
Version bumped based on commit types (see conventional-commits skill)
-
CHANGELOG.md updated automatically
-
All package.json files updated across the monorepo (pnpm -r exec -- npm version )
-
Git tag created with v prefix (e.g., v4.46.0 )
-
GitHub Release created with auto-generated notes
-
Release commit created: chore(release): v{version} [skip ci]
-
Vercel auto-deploys the new version
Version Scheme
-
Format: v{major}.{minor}.{patch} (e.g., v4.46.0 )
-
Unified version across the entire monorepo
-
Tag format configured in .releaserc.json : "tagFormat": "v${version}"
Configuration
.releaserc.json plugins:
-
@semantic-release/commit-analyzer — conventionalcommits preset
-
@semantic-release/release-notes-generator — conventionalcommits preset
-
@semantic-release/changelog — writes CHANGELOG.md
-
@semantic-release/exec — bumps all package.json versions
-
@semantic-release/git — commits changelog + package.json changes
-
@semantic-release/github — creates GitHub Release, adds "released" label
Checking Release Status
View recent releases
gh release list --limit 5
View specific release
gh release view v4.46.0
Check release workflow status
gh run list --workflow=release.yml --limit 5
View release workflow logs
gh run view <run-id> --log
Debugging Release Failures
Release Not Triggered
-
Verify commit type is feat or fix (not chore , docs , etc.)
-
Check workflow ran: gh run list --workflow=release.yml
-
Verify branch is main
Version Not Bumped
-
Check commit message format matches conventional commits
-
Look for [skip ci] in commit message (release commits include this)
Workflow Failed
-
Check GitHub Actions logs: gh run view <run-id> --log
-
Common causes: test failures, lint errors, npm publish issues
Manual Release (Emergency Only)
Create tag manually
git tag -a v4.47.0 -m "v4.47.0" git push origin v4.47.0
Create GitHub release from tag
gh release create v4.47.0 --generate-notes
Related
-
See conventional-commits skill for commit message format
-
See changelog skill for changelog details
-
See deployment-rollback skill for rolling back releases
-
Workflow: .github/workflows/release.yml
-
Config: .releaserc.json