-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathJustfile
More file actions
68 lines (51 loc) · 1.57 KB
/
Justfile
File metadata and controls
68 lines (51 loc) · 1.57 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
60
61
62
63
64
65
66
67
68
set windows-shell := ["powershell.exe", "-NoLogo", "-Command"]
# === Modes ===
# Pre-commit: fast checks (~10-30s)
ci-fast: hygiene fmt lint build test-quick
# Pre-push: exhaustive checks (~5-15min)
ci-deep: ci-fast test-full coverage security docs
# === Repo Hygiene ===
hygiene:
bash scripts/hygiene.sh
# === Rust Recipes ===
fmt:
cargo fmt --check
lint:
cargo clippy --all-targets --all-features -- -D warnings
cargo machete
build:
cargo build --all-targets --all-features --locked
test-quick:
cargo nextest run --locked
test-full:
cargo nextest run --all-features --locked
coverage:
$coverage_threshold = if ($env:CI_COVERAGE_MIN_REGIONS) { $env:CI_COVERAGE_MIN_REGIONS } else { '73' }; cargo llvm-cov nextest --all-features --fail-under-regions $coverage_threshold --lcov --output-path lcov.info
security:
cargo deny check
cargo audit
python scripts/enforce_advisory_policy.py
docs:
$env:RUSTDOCFLAGS = "-D warnings"; cargo doc --no-deps --all-features
# === Optional ===
vendor:
cargo vendor
@echo 'Add [source.crates-io] replace-with = "vendored" to .cargo/config.toml'
bench:
cargo bench --locked
clean:
cargo clean
# === Frontend (uncomment for mixed projects) ===
# fmt-frontend:
# pnpm prettier --check .
# lint-frontend:
# pnpm eslint .
# test-frontend:
# pnpm vitest run
# === Python (uncomment for Python projects) ===
# fmt-python:
# uv run ruff format --check .
# lint-python:
# uv run ruff check .
# test-python:
# uv run pytest