| name | release-and-auto-changelog |
| description | Generic automated semantic versioning and release workflow. Handles version increments, git tagging, GitHub releases, and automated changelog generation for any repository. |
Release & Auto-Changelog Workflow
IMPORTANT: You must first plan and write detailed release notes before starting the version bump workflow.
CRITICAL: ALWAYS commit EVERYTHING (including build artifacts). At the end of this workflow, NOTHING should be left uncommitted or unpushed. Run git status at the end to verify.
Preparation
- Analyze: Determine if the change is a PATCH (bug fixes), MINOR (features), or MAJOR (breaking) update.
- Environment: Identify the repository owner and name (e.g., from
git remote -v).
- Files: Identify which files contain version strings (e.g.,
package.json, VERSION, pyproject.toml).
Workflow
- Update: Increment version strings in relevant configuration files.
- Verify: Ensure all files match the new version.
- Build: Run any necessary build or distribution scripts.
- Commit: Stage all changes:
git add -A && git commit -m "chore: bump version to X.Y.Z".
- Tag: Create an annotated tag:
git tag -a vX.Y.Z -m "Version X.Y.Z".
- Push:
git push origin main && git push origin vX.Y.Z.
- Release:
gh release create vX.Y.Z --title "vX.Y.Z" --notes "RELEASE_NOTES".
- Changelog: Regenerate
CHANGELOG.md using the GitHub API and the provided script:
gh api repos/{owner}/{repo}/releases --paginate | ./scripts/generate_changelog.js > CHANGELOG.md
- Sync: Commit and push the updated
CHANGELOG.md.
- Finalize: Run
git status to ensure a clean working tree.
Checklist