export RUST_BACKTRACE := "1" set dotenv-load := true set positional-arguments := true # default recipe to display help information default: @just --list # Clean up development files and images clean: cargo clean # Run unit tests test: cargo test --workspace -- --show-output # Run unit tests for all features test-all-features: cargo test --workspace --all-features -- --show-output # Run clippy lint: cargo clippy # Run clippy for all features lint-all-features: cargo clippy --all-features # Expand the macros of a module for debugging expand *args: cargo expand $@ > ./expand.rs $EDITOR ./expand.rs # Installs cargo tools that help with development tools: rustup toolchain install stable nightly rustup component add --toolchain stable rust-analyzer clippy rustfmt cargo install --locked cargo-watch cargo-expand bacon # Run cargo release and push the tag separately release *args: #!/usr/bin/env bash set -euxo pipefail earthly --ci +run-checks # --workspace: updating all crates in the workspace # --no-tag: do not push tag for each new version # --no-confirm: don't look for user input, just run the command # --execute: not a dry run cargo release $1 -v \ --workspace \ --no-tag \ --no-confirm \ --execute VERSION=$(cargo metadata --format-version 1 | jq -r '.packages[] | select(.name == "comlexr") .version') echo "Pushing tag: v${VERSION}" git tag "v${VERSION}" git push origin "v${VERSION}"