forked from Light-Heart-Labs/DreamServer
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
53 lines (43 loc) · 1.86 KB
/
Makefile
File metadata and controls
53 lines (43 loc) · 1.86 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
# Dream Server — Developer Targets
# Run `make help` to see available commands.
SHELL_FILES := $(shell find . -name '*.sh' -not -path './node_modules/*' -not -path './.git/*' -not -path './data/*' -not -path './token-spy/*')
.PHONY: help lint test bats smoke simulate gate doctor
help: ## Show this help
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | \
awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}'
lint: ## Syntax check all shell scripts + Python compile check
@echo "=== Shell syntax ==="
@fail=0; for f in $(SHELL_FILES); do bash -n "$$f" || fail=1; done; [ $$fail -eq 0 ]
@echo "=== Python compile ==="
@python3 -m py_compile extensions/services/dashboard-api/main.py extensions/services/dashboard-api/agent_monitor.py
@echo "All lint checks passed."
test: ## Run unit and contract tests
@echo "=== Tier map tests ==="
@bash tests/test-tier-map.sh
@echo ""
@echo "=== Installer contracts ==="
@bash tests/contracts/test-installer-contracts.sh
@bash tests/contracts/test-preflight-fixtures.sh
@echo ""
@echo "=== Linux install preflight ==="
@bash tests/test-linux-install-preflight.sh
@echo ""
@echo "=== AMD/Lemonade contracts ==="
@bash tests/contracts/test-amd-lemonade-contracts.sh
bats: ## Run BATS unit tests for shell libraries
@echo "=== BATS unit tests ==="
@bash tests/run-bats.sh
smoke: ## Run platform smoke tests
@echo "=== Smoke tests ==="
@bash tests/smoke/linux-amd.sh
@bash tests/smoke/linux-nvidia.sh
@bash tests/smoke/wsl-logic.sh
@bash tests/smoke/macos-dispatch.sh
@echo "All smoke tests passed."
simulate: ## Run installer simulation harness
@bash scripts/simulate-installers.sh
doctor: ## Run diagnostic report
@bash scripts/dream-doctor.sh
gate: lint test bats smoke simulate ## Full pre-release validation (lint + test + bats + smoke + simulate)
@echo ""
@echo "Release gate passed."