diff --git a/justfile b/justfile new file mode 100644 index 0000000..87e3ace --- /dev/null +++ b/justfile @@ -0,0 +1,37 @@ +# Set the Cargo.toml version, commit it, and tag the commit with that version. +# Usage: just tag 1.2.3 +tag ver: + #!/usr/bin/env bash + set -euo pipefail + + # Validate the version argument. + if [[ ! "{{ver}}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "error: version must be in the form X.Y.Z (got '{{ver}}')" >&2 + exit 1 + fi + + # Bump the version in Cargo.toml. + sed -i -E "s/^version = \".*\"/version = \"{{ver}}\"/" Cargo.toml + + # Regenerate Cargo.lock so it reflects the new version. + cargo build + + # Stage, commit, and tag. + git add Cargo.toml Cargo.lock + git commit -m "version {{ver}} [skip ci]" + git tag "{{ver}}" + +# Run the Rust unit tests. +# Usage: just test +test: + cargo test --all + +# Format the Rust code. +# Usage: just fmt +fmt: + cargo fmt --all + +# Run the end-to-end Playwright tests. +# Usage: just e2e +e2e: + cd e2e && npm test \ No newline at end of file