check:
@scripts/check/check.sh
test crate="":
@scripts/test/test.sh "{{ crate }}"
build:
@echo "Change Detection Plan:"
@echo ""
@cargo rail plan --merge-base --explain
@echo ""
@echo "Building affected crates..."
@cargo rail run --merge-base --profile local --surface build
build-release:
@echo "Change Detection Plan:"
@echo ""
@cargo rail plan --merge-base --explain
@echo ""
@echo "Building affected crates (release)..."
@cargo rail run --merge-base --profile local --surface build -- --release
# Full Workspace Commands (no change detection)
check-all:
@scripts/check/check.sh --all
test-all:
@scripts/test/test.sh --all
build-all:
cargo build --workspace --all-targets --all-features
build-release-all:
cargo build --workspace --all-targets --all-features --release
# CI Commands (for GitHub Actions)
ci-check:
@scripts/check/check.sh --ci
ci-test:
@scripts/test/test.sh
ci-build:
@cargo rail run --since "${RAIL_SINCE:-HEAD~1}" --surface build
# Explainability
plan:
cargo rail plan --merge-base -f json
why:
cargo rail plan --merge-base --explain
dry-run surface="test":
cargo rail run --merge-base --surface {{ surface }} --dry-run --print-cmd --explain
# Maintenance
update:
cargo update --workspace
cargo upgrade --recursive
gen-docs:
@scripts/docs/generate.sh
pin-actions:
@scripts/ci/pin-actions.sh --update-lock
verify-actions:
@scripts/ci/pin-actions.sh --verify-only