.PHONY: check fmt clippy test test-all bench bench-history audit deny vet fuzz coverage doc build release clean
check: fmt clippy test-all audit deny doc
fmt:
cargo fmt --all -- --check
clippy:
cargo clippy --all-features --all-targets -- -D warnings
test:
cargo test
test-all:
cargo test --all-features
bench:
cargo bench --all-features
bench-history:
./scripts/bench-history.sh
audit:
cargo audit
deny:
cargo deny check
vet:
cargo vet
fuzz:
@cd fuzz && for target in $$(cargo +nightly fuzz list 2>/dev/null); do \
echo "=== Fuzzing $$target ==="; \
cargo +nightly fuzz run "$$target" -- -max_total_time=30 -max_len=4096 || exit 1; \
done
coverage:
cargo tarpaulin --all-features --skip-clean --fail-under 55
doc:
RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --all-features
build:
cargo build --release --all-features
release:
@VERSION=$$(cat VERSION | tr -d '[:space:]'); \
cargo build --release --all-features; \
tar czf "agnosai-server-$${VERSION}-linux-amd64.tar.gz" -C target/release agnosai-server; \
sha256sum "agnosai-server-$${VERSION}-linux-amd64.tar.gz" > "agnosai-server-$${VERSION}-linux-amd64.tar.gz.sha256"; \
echo "Packaged agnosai-server-$${VERSION}-linux-amd64.tar.gz"
clean:
cargo clean
rm -f agnosai-server-*.tar.gz agnosai-server-*.sha256