.PHONY: check fmt clippy test audit deny vet bench fuzz coverage build release doc clean
check: fmt clippy test audit deny vet
fmt:
cargo fmt --all -- --check
clippy:
cargo clippy --workspace --all-targets -- -D warnings -A missing-docs
test:
cargo test --workspace
audit:
cargo audit
deny:
cargo deny check
vet:
cargo vet
bench:
cargo bench --bench serde_types --bench scheduler --bench scoring -- --noplot
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 --workspace --skip-clean --fail-under 55
build:
cargo build --release
release:
@VERSION=$$(cat VERSION | tr -d '[:space:]'); \
cargo build --release; \
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"
doc:
cargo doc --no-deps --workspace
clean:
cargo clean
rm -f agnosai-server-*.tar.gz agnosai-server-*.sha256