Personal checklist for tagging a new version and pushing docs to GitHub Pages.
-
cargo fmt --all -- --check— zero diff -
cargo clippy --all -- -D warnings— zero errors -
cargo test --all— zero failures -
cargo doc --workspace --no-deps— zero warnings
-
cargo doc --workspace --no-deps --open— skim each crate's root page - Public items have doc comments (no orphan
pub fnwith no///) - Code examples in doc comments compile (
cargo test --doc --workspace)
- Bump
versioninCargo.toml(workspace root[workspace.package]) -
cargo check --workspace— version propagates cleanly to all crates
- Workspace layout table reflects any new or renamed crates
- Algorithm complexity table is up to date
- Badge URLs are correct (CI badge points at
ci.yml; docs badge points athttps://chaganti-reddy.github.io/graph-rs)
git add CHANGELOG.md Cargo.toml Cargo.lock README.md
git commit -m "chore: release vX.Y.Z"
git tag -a vX.Y.Z -m "Release vX.Y.Z"
git push origin main --tags- Push triggers the CI pipeline — watch the Actions tab
-
checkjob passes (fmt → clippy → test → doc build) -
deployjob runs and succeeds (only fires onmain) - Docs are live at
https://chaganti-reddy.github.io/graph-rs(may take ~60 s after the deploy job completes)
- Create a GitHub release tagged
vX.Y.Z - Paste the relevant
CHANGELOGas the release body - Set as latest release
| Change | Version bump |
|---|---|
| New public function / type | Minor (0.x.0) |
| Rename / remove public API | Major (x.0.0) |
| Bug fix, no API change | Patch (0.0.x) |
| New algorithm in existing crate | Minor |
Breaking trait change in graph-core |
Major on all crates |
Because graph-core's Graph trait is the foundation of the entire workspace,
any breaking change there requires a coordinated major bump of all eight crates.
Keep the trait stable.