Prepare a release including version bump, testing, and PR creation
Use this skill when preparing a new release of cargo-version-info.
Run all quality checks before releasing:
# Format check
cargo +nightly fmt --all -- --check
# Lint check
cargo +nightly clippy --all-targets --all-features -- -D warnings -W missing-docs
# Run tests
cargo test -- --test-threads=1
# Current version
cargo version-info current
# Latest published release
cargo version-info latest
# Check for uncommitted changes
git status
# Check if version already changed
cargo version-info changed
Choose the appropriate bump type:
cargo version-info bump --patch
# or --minor / --major
# Check the commit
git log -1
# Verify version in Cargo.toml
cargo version-info current
# Check what files changed
git diff HEAD~1 --stat
# Push branch
git push origin HEAD
# Create PR (if on feature branch)
gh pr create --title "chore(version): bump to X.Y.Z" --body "Release X.Y.Z"
Once the PR is merged to main:
vX.Y.ZThis is why all commits must follow Angular Conventional Commit style
(<type>(<scope>): <subject>) - Cocogitto parses these to generate
the changelog automatically.
# Check latest release on GitHub
cargo version-info latest
# Check crates.io
cargo search cargo-version-info
If cargo version-info changed returns true but you haven't released:
# Check what the current version is
cargo version-info current
# Check what the latest release is
cargo version-info latest
Check that:
You cannot republish the same version to crates.io. Bump to a new patch version instead.