Contributing
Testing
This project uses cargo-insta to create snapshots of the output to test against. Insta provides a tool that makes running these tests and reviewing their output easier. To install it run cargo install cargo-insta. Once this is installed, changes can be reviewed with cargo insta test --review.
If you're just trying to run the tests you can run cargo test.
Releasing
This project uses cargo-dist and cargo-release for the release process.
The release process looks like this:
- Checkout master
- Create commit that updates RELEASES.md with notes for the new release and push commit
- Run
cargo release patch(or minor or major) and verify the release looks correct - Run
cargo release patch --execute --no-publishto create the tag and push it to GitHub - The GitHub Action should start immediately for the tag
If you are updating cargo-dist you should also run cargo dist init to capture changes to the action.
Building the Book
This project uses oranda (in conjunction with mdbook) to build a documentation site for the project. To start a development server run oranda dev and navigate to the page. Building the site for production is done within GitHub Actions and committed to the gh-pages branch.