set positional-arguments
alias t := tests
alias l := lint
alias f := fmt
alias b := build
# default recipe to display help information
default:
@just --list
# Runs everything needed for ci
ci: fmt lint tests
# Run all tests
tests: test test-features test-docs
# Formats
fmt: fmt-fix fmt-check
# Lint the workspace for all available targets
lint: lint-source lint-source-features lint-docs
# Build for the native target
build *args='':
cargo build --workspace --all $@
# Fixes the formatting
fmt-fix:
cargo +nightly fmt --all
# Check the formatting
fmt-check:
cargo +nightly fmt --all -- --check
# Lint the workspace
lint-source: fmt-check
cargo +nightly clippy --all --all-targets -- -D warnings
# Lint the workspace
lint-source-features: fmt-check
cargo +nightly clippy --all --all-features --all-targets -- -D warnings
# Lint the Rust documentation
lint-docs:
RUSTDOCFLAGS="-D warnings" cargo doc --all --no-deps --document-private-items
# Test without features
test *args='':
cargo nextest run --all $@
# Test for the native target with all features
test-features *args='':
cargo nextest run --all --all-features $@
# Test the Rust documentation
test-docs:
cargo test --doc --all --locked
# Release the crate
release:
cargo release publish --execute --no-confirm