There are some things that should be kept in mind when contributing to this project.
- Commit messages must follow the conventional commits specification. This enables automated CHANGELOG.md generation by using
git-cliff
. - Each commit is should pass CI on its own.
- Bug fixes and feature additions should be accompanied by tests.
This project makes use of pre-commit
hooks. A pre-commit install
is recommended once the repository has been cloned, unless it has been auto-enabled.
Pretty standard procedure apart from noting that some tests may be behind feature flags, so:
cargo test --all-features
cargo doc --no-deps --all-features --open
- Make sure CI is not failing.
- Bump version in the workspace
Cargo.toml
file. - Finally:
# <release> should match [0-9]+.[0-9]+.[0-9]+
git commit -am "chore: release <release>"
git tag "<release>"
git cliff -o CHANGELOG.md
git push && git push --tags