# List all recipes list: just --list --unsorted ################################################################################ # Build # Build for production. build: cargo build --release # Build for development. build-dev: cargo build ################################################################################ # Releases # Build the binary for a given tag. release tag: git switch --detach {{ tag }} just build git switch - just pull-main {{ tag }} git switch develop # Publish a tag to Cargo. publish tag: git switch --detach {{ tag }} cargo publish just pull-main {{ tag }} git switch develop # Bring main up to date [private] pull-main tag: git switch main git merge --ff-only {{ tag }} git push ################################################################################ # Tests # Run all tests. test: cargo test # Test all binaries. test-bins: cargo test --bins # Test all lib-docs. test-docs: cargo test --doc # Test all library unit tests. test-lib: cargo test --lib # Test all tests in tests folder. test-units: cargo test --tests ################################################################################ # Miscellaneous # Switch to the latest tag. [private] latest: git switch --detach $(git describe --tags $(git rev-list --tags --max-count=1))