.PHONY: help build fmt lint test clean
.PHONY: check-pr check-integration check-all sob integration-test
.DEFAULT_GOAL := help
help:
@echo "Available targets:"
@echo ""
@echo " Development:"
@echo " build - Build release binary"
@echo " fmt - Auto-format Rust code"
@echo " lint - Run all linters (clippy, fmt --check, yamllint)"
@echo " test - Run unit tests"
@echo " clean - Remove build artifacts"
@echo ""
@echo " CI Suites:"
@echo " check-pr - Run all PR checks (SOB, Lint, Unit Tests)"
@echo " check-integration - Run integration tests (server + API)"
@echo " check-all - Run the complete check suite (PR + Integration)"
@echo ""
@echo " Utilities:"
@echo " sob - Check Signed-off-by tags (RANGE=HEAD~1..HEAD)"
build:
@cargo build --release
fmt:
@cargo fmt --all
lint:
@cargo clippy --all-targets --all-features --release -- -D warnings
@cargo fmt --all -- --check
-@yamllint .
test:
@cargo test --release
clean:
@cargo clean
check-pr: sob lint test
check-integration: integration-test
check-all: check-pr check-integration
RANGE ?= HEAD~1..HEAD
sob:
-@./scripts/check-sob.sh "$(RANGE)"
integration-test:
@cargo test --release --test integration_tests -- --ignored