-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
50 lines (39 loc) Β· 1.51 KB
/
Copy pathMakefile
File metadata and controls
50 lines (39 loc) Β· 1.51 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
# Armsmith β developer harness (Python CLI, hardware-free).
# All targets run offline; none require Arm hardware.
.PHONY: help install lint typecheck test coverage e2e security cards ci-gate all
help:
@echo "Armsmith make targets:"
@echo " install - editable install with dev extras"
@echo " lint - ruff check (gate)"
@echo " typecheck - mypy (advisory)"
@echo " test - pytest (384 tests, offline)"
@echo " coverage - pytest with coverage report"
@echo " e2e - full offline loop (scripts/verify_offline.py)"
@echo " ci-gate - reproduce-gate CI twin on the replay bundle"
@echo " cards - regenerate the 13 migration-template cards"
@echo " security - pip-audit dependency scan (advisory)"
@echo " all - lint + typecheck + coverage + e2e + ci-gate"
install:
python -m pip install -e '.[dev]'
lint:
ruff check .
typecheck:
mypy src || true # advisory, not a gate
test:
python -m pytest -q
coverage:
python -m pytest -q --cov=armsmith --cov-report=term-missing
e2e:
@echo "π Offline end-to-end: scan -> gate -> sign -> verify"
python scripts/verify_offline.py
ci-gate:
@echo "π¦ Reproduce-gate CI twin (fails on regression)"
armsmith ci --replay fixtures/replays/scenario_ragserve
cards:
@echo "π Regenerating x86->Arm migration templates"
armsmith rules export --format md
security:
@echo "=== pip-audit (advisory) ==="
pip install -q pip-audit && pip-audit --skip-editable || true
all: lint typecheck coverage e2e ci-gate
@echo "β
full harness green"