-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile.control
More file actions
61 lines (45 loc) · 2.21 KB
/
Makefile.control
File metadata and controls
61 lines (45 loc) · 2.21 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
CONSOLE_DIR := crates/arcan-console/frontend
.PHONY: smoke check test console-check console-test console-build recover hooks-install audit ci
# ── Rust gates ──────────────────────────────────────────────────────────────
smoke:
@echo "==> smoke: format + build check"
@cargo fmt --all -- --check
@cargo check --workspace
check: smoke console-check
@echo "==> check: lint + typecheck"
@cargo clippy --workspace --all-targets -- -D warnings
test: check console-test
@echo "==> test: full test suite"
@cargo test --workspace
# ── Console frontend gates ──────────────────────────────────────────────────
console-check:
@echo "==> console-check: typecheck + lint"
@if [ -f $(CONSOLE_DIR)/package.json ]; then \
cd $(CONSOLE_DIR) && bun run lint; \
fi
console-test:
@echo "==> console-test: vitest"
@if [ -f $(CONSOLE_DIR)/package.json ]; then \
cd $(CONSOLE_DIR) && bun run test; \
fi
console-build:
@echo "==> console-build: production build"
@if [ -f $(CONSOLE_DIR)/package.json ]; then \
cd $(CONSOLE_DIR) && bun install && bun run build; \
fi
# ── Recovery & hooks ────────────────────────────────────────────────────────
recover:
@echo "==> recover: clean + rebuild"
@cargo clean
@if [ -d $(CONSOLE_DIR)/node_modules ]; then rm -rf $(CONSOLE_DIR)/node_modules; fi
@cargo build --workspace
hooks-install:
@./scripts/setup-hooks.sh
# ── Audit (validate governance) ─────────────────────────────────────────────
audit:
@echo "==> audit: workspace build + console build"
@cargo build --workspace
@$(MAKE) console-build
# ── CI entrypoint ───────────────────────────────────────────────────────────
ci: test console-build
@echo "==> CI: all gates passed"