60 lines
2.2 KiB
Makefile
60 lines
2.2 KiB
Makefile
.PHONY: up down logs test lint contracts seed reset n8n-setup n8n-setup-scan demo e2e live-smoke
|
|
|
|
up:
|
|
docker compose up --build -d
|
|
|
|
down:
|
|
docker compose down
|
|
|
|
logs:
|
|
docker compose logs -f --tail=200
|
|
|
|
test:
|
|
sh scripts/run-isolated-tests.sh
|
|
|
|
lint:
|
|
docker compose -f compose.yaml -f compose.test.yaml run --build --rm api ruff check app tests
|
|
docker compose -f compose.yaml -f compose.test.yaml run --rm api mypy app
|
|
cd frontend && npm run lint
|
|
|
|
contracts:
|
|
docker compose -f compose.yaml -f compose.test.yaml run --build --rm \
|
|
-v "$(CURDIR):/repo:ro" api python /repo/scripts/check-contracts.py
|
|
python scripts/check-source-budgets.py
|
|
|
|
seed:
|
|
docker compose exec api python -m app.cli seed --reset
|
|
|
|
reset:
|
|
docker compose down -v
|
|
docker compose up --build -d
|
|
|
|
# One-time per environment: imports and activates the n8n return-processing workflow.
|
|
# The n8n owner account itself cannot be scripted safely and must be created once at
|
|
# http://localhost:5678/setup (any email/password, no verification required) before
|
|
# this target's activation takes effect. The workflow also needs the "Fleet Ops Webhook
|
|
# Trigger Token" and "Fleet Ops Service Token" Header Auth credentials created manually in
|
|
# the n8n UI before it will actually process a return -- see docs/17-runbook.md.
|
|
n8n-setup:
|
|
docker compose exec n8n n8n import:workflow --input=//imports/workflows/fleet-ops-vehicle-return.json
|
|
docker compose exec n8n n8n publish:workflow --id=mobilityops-return-processing
|
|
docker compose restart n8n
|
|
|
|
# One-time per environment: imports and activates the scheduled quality-scan workflow.
|
|
# Same owner-account and credential preconditions as n8n-setup above (this workflow only
|
|
# needs "Fleet Ops Service Token").
|
|
n8n-setup-scan:
|
|
docker compose exec n8n n8n import:workflow --input=//imports/workflows/fleet-ops-data-quality-scan.json
|
|
docker compose exec n8n n8n publish:workflow --id=mobilityops-scheduled-quality-scan
|
|
docker compose restart n8n
|
|
|
|
# Full deterministic demo bootstrap: build, migrate (automatic on api startup), seed.
|
|
demo: up
|
|
docker compose exec api python -m app.cli seed --reset
|
|
|
|
e2e:
|
|
cd frontend && npx playwright test
|
|
|
|
live-smoke:
|
|
cd frontend && npx playwright test --config=playwright.live.config.ts
|