-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
59 lines (47 loc) · 2.13 KB
/
Makefile
File metadata and controls
59 lines (47 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# =============================================================================
# VBW Makefile — Standard build, test, and quality targets
# =============================================================================
# Usage: make <target>
#
# Targets mirror CI pipeline stages for local development parity.
SHELL := /bin/bash
.DEFAULT_GOAL := help
.PHONY: help build test check fmt clippy audit deny clean release verify-example
# ---------------------------------------------------------------------------
# Help
# ---------------------------------------------------------------------------
help: ## Show this help
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \
awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
# ---------------------------------------------------------------------------
# Build
# ---------------------------------------------------------------------------
build: ## Build debug binary
cargo build
release: ## Build release binary
cargo build --release
# ---------------------------------------------------------------------------
# Quality gates (mirrors CI)
# ---------------------------------------------------------------------------
fmt: ## Check formatting
cargo fmt --all -- --check
clippy: ## Run clippy with strict warnings (lint config in Cargo.toml)
cargo clippy --all-targets --all-features -- -D warnings
test: ## Run all tests (debug + release)
cargo test --all-features
cargo test --release --all-features
audit: ## Run security audit
cargo audit
deny: ## Run cargo-deny checks (advisories, licenses, bans, sources)
cargo deny check advisories licenses bans sources
check: fmt clippy test audit deny ## Run all quality gates (full CI equivalent)
# ---------------------------------------------------------------------------
# Utilities
# ---------------------------------------------------------------------------
clean: ## Remove build artifacts
cargo clean
verify-example: release ## Run VBW against the example bundle
./target/release/vbw verify examples/minimal-bundle \
--no-external --dry-run --slsa-mode schema-only
@echo "---"
@cat examples/minimal-bundle/vbw/report.json