-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
56 lines (40 loc) · 1.45 KB
/
Copy pathMakefile
File metadata and controls
56 lines (40 loc) · 1.45 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
.PHONY: bootstrap install format lint typecheck test quality security verify-repo serve \
doctor example-plan example-execute build ci docker-build release-check
bootstrap install:
uv sync --extra dev --extra agent --extra observability --extra evals --extra sandbox
format:
uv run ruff format .
lint:
uv run ruff check .
typecheck:
uv run mypy src tests
test:
uv run pytest -q
quality: verify-repo lint typecheck test
security:
uv run bandit -q -r src tools
uv run pip-audit
uv run python tools/security/scan_secrets.py
verify-repo:
uv run python tools/quality/check_required_meta.py
uv run python tools/quality/check_loc_limits.py
# ci: full CI gate matching the GitHub Actions CI workflow
ci: quality security
serve:
uv run uvicorn runbook_guard.app:app --host 127.0.0.1 --port 8080
doctor:
uv run runbook-guard doctor
example-plan:
uv run runbook-guard plan examples/incident_to_pr/request.json
example-execute:
uv run runbook-guard execute --input examples/incident_to_pr/request.json --approved --approver cli-smoke
# build: produce wheel and sdist in dist/
build:
uv run python -m build
# docker-build: build the container image locally without pushing
docker-build:
docker build -f infra/docker/Dockerfile -t runbook-guard:local .
# release-check: validate the repo is ready to tag and release
release-check: ci build
@echo "Release checks passed. Confirm version in pyproject.toml before tagging."
@grep '^version' pyproject.toml