name: release description: Bump version, commit, tag, and create a GitHub release disable-model-invocation: true
Release
Automate the qsv-stats release workflow.
Arguments
The user should provide the new version number (e.g., 0.47.0). If not provided, ask for it.
Workflow
- Verify clean state: Run
git statusto ensure the working tree is clean - Bump version: Update the version in
Cargo.tomlon the line marked with#:version- The line looks like:
version = "0.46.0" #:version - Only change the version string, preserve the comment marker and alignment
- The line looks like:
- Generate release summary: Run
git log --onelinefrom the last tag to HEAD and categorize commits:perf:— Performance improvementsfeat:— New featuresfix:— Bug fixesrefactor:— Refactoringchore:— Maintenancedocs:— Documentation
- Commit: Create a commit with message
v X.Y.Z release - Tag: Create a git tag
X.Y.Z(novprefix — matches existing tag convention) - Push: Push the commit and tag with
git push && git push --tags - GitHub release: Create a release via
gh release create X.Y.Z --title "X.Y.Z" --notes "<release summary>"
Notes
- Check existing tags with
git tag --sort=-v:refname | head -5to confirm the naming convention - If there are uncommitted changes, warn the user and stop
- Always show the release summary for user review before creating the GitHub release