-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
141 lines (126 loc) · 4.68 KB
/
Makefile
File metadata and controls
141 lines (126 loc) · 4.68 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
SHELL := /bin/bash
.DEFAULT_GOAL := help
.PHONY: help smoke-golden smoke-a11y smoke-full stability-evidence stability-cycle-closeout ops-readiness operator-preflight
SMOKE_COMPOSE_MODE ?= prod
SMOKE_BASE_URL ?=
SMOKE_TIMEOUT_SECONDS ?= 20
SMOKE_INSECURE_TLS ?= 0
SMOKE_HELPER_MESSAGE ?= Help me with AP calculus limits.
SMOKE_INSTALL_BROWSERS ?= 1
SMOKE_FAIL_IMPACT ?= critical
SMOKE_A11Y_TIMEOUT_MS ?= 30000
STABILITY_RELEASE_DATE ?= $(shell date +%F)
STABILITY_SKIP_DOCKER_CHECKS ?= 0
TELEMETRY_WINDOW_DAYS ?= 7
STABILITY_SKIP_KIOSK ?= 0
OPS_READINESS_PROFILE ?= baseline
OPS_READINESS_ENV_FILE ?= compose/.env
SMOKE_FULL_LOCAL_OLLAMA_MODEL ?= llama3.2:1b
SMOKE_FULL_LOCAL_LLM_NUM_CTX ?= 1024
SMOKE_FULL_LOCAL_LLM_MAX_TOKENS ?= 96
SMOKE_FULL_LOCAL_HELPER_BACKEND_MAX_ATTEMPTS ?= 1
INSECURE_TLS_FLAG :=
ifeq ($(SMOKE_INSECURE_TLS),1)
INSECURE_TLS_FLAG := --insecure-tls
endif
INSTALL_BROWSERS_FLAG :=
ifeq ($(SMOKE_INSTALL_BROWSERS),1)
INSTALL_BROWSERS_FLAG := --install-browsers
endif
SKIP_DOCKER_CHECKS_FLAG :=
ifeq ($(STABILITY_SKIP_DOCKER_CHECKS),1)
SKIP_DOCKER_CHECKS_FLAG := --skip-docker-checks
endif
BASE_URL_FLAG :=
ifneq ($(strip $(SMOKE_BASE_URL)),)
BASE_URL_FLAG := --base-url "$(SMOKE_BASE_URL)"
endif
SKIP_KIOSK_FLAG :=
ifeq ($(STABILITY_SKIP_KIOSK),1)
SKIP_KIOSK_FLAG := --skip-kiosk
endif
help:
@echo "ClassHub operator shortcuts:"
@echo " make smoke-full"
@echo " make smoke-golden"
@echo " make smoke-a11y"
@echo " make stability-evidence"
@echo " make stability-cycle-closeout"
@echo " make ops-readiness"
@echo " make operator-preflight"
@echo ""
@echo "Optional overrides:"
@echo " SMOKE_COMPOSE_MODE=prod|dev"
@echo " SMOKE_BASE_URL=http://localhost"
@echo " SMOKE_TIMEOUT_SECONDS=20"
@echo " SMOKE_INSECURE_TLS=0|1"
@echo " SMOKE_INSTALL_BROWSERS=0|1"
@echo " SMOKE_FAIL_IMPACT=minor|moderate|serious|critical"
@echo " SMOKE_FULL_LOCAL_OLLAMA_MODEL=llama3.2:1b"
@echo " SMOKE_FULL_LOCAL_LLM_NUM_CTX=1024"
@echo " SMOKE_FULL_LOCAL_LLM_MAX_TOKENS=96"
@echo " SMOKE_FULL_LOCAL_HELPER_BACKEND_MAX_ATTEMPTS=1"
@echo " STABILITY_RELEASE_DATE=YYYY-MM-DD"
@echo " STABILITY_SKIP_DOCKER_CHECKS=0|1"
@echo " STABILITY_SKIP_KIOSK=0|1"
@echo " TELEMETRY_WINDOW_DAYS=7"
@echo " OPS_READINESS_PROFILE=baseline|release"
@echo " OPS_READINESS_ENV_FILE=compose/.env"
smoke-golden:
bash scripts/system_doctor.sh \
--build \
--compose-mode "$(SMOKE_COMPOSE_MODE)" \
--smoke-mode golden \
--timeout-seconds "$(SMOKE_TIMEOUT_SECONDS)" \
--helper-message "$(SMOKE_HELPER_MESSAGE)" \
$(INSECURE_TLS_FLAG) \
$(BASE_URL_FLAG)
smoke-a11y:
bash scripts/a11y_smoke.sh \
--compose-mode "$(SMOKE_COMPOSE_MODE)" \
--fail-impact "$(SMOKE_FAIL_IMPACT)" \
--timeout-ms "$(SMOKE_A11Y_TIMEOUT_MS)" \
$(INSTALL_BROWSERS_FLAG) \
$(BASE_URL_FLAG)
smoke-full: export LLM_BACKEND=ollama
smoke-full: export HELPER_LLM_BACKEND=ollama
smoke-full: export LLM_BASE_URL=http://ollama:11434
smoke-full: export OLLAMA_BASE_URL=http://ollama:11434
smoke-full: export LLM_MODEL=$(SMOKE_FULL_LOCAL_OLLAMA_MODEL)
smoke-full: export OLLAMA_MODEL=$(SMOKE_FULL_LOCAL_OLLAMA_MODEL)
smoke-full: export LLM_NUM_CTX=$(SMOKE_FULL_LOCAL_LLM_NUM_CTX)
smoke-full: export OLLAMA_NUM_CTX=$(SMOKE_FULL_LOCAL_LLM_NUM_CTX)
smoke-full: export LLM_MAX_TOKENS=$(SMOKE_FULL_LOCAL_LLM_MAX_TOKENS)
smoke-full: export OLLAMA_NUM_PREDICT=$(SMOKE_FULL_LOCAL_LLM_MAX_TOKENS)
smoke-full: export HELPER_BACKEND_MAX_ATTEMPTS=$(SMOKE_FULL_LOCAL_HELPER_BACKEND_MAX_ATTEMPTS)
smoke-full: export HELPER_REMOTE_MODE_ACKNOWLEDGED=0
smoke-full: export COMPOSE_LOCAL_OLLAMA_AUTO=1
smoke-full: smoke-golden smoke-a11y
@echo "[smoke-full] PASS"
stability-evidence:
bash scripts/stability_release_evidence.sh \
--release-date "$(STABILITY_RELEASE_DATE)" \
--compose-mode "$(SMOKE_COMPOSE_MODE)" \
--timeout-seconds "$(SMOKE_TIMEOUT_SECONDS)" \
--helper-message "$(SMOKE_HELPER_MESSAGE)" \
--fail-impact "$(SMOKE_FAIL_IMPACT)" \
--a11y-timeout-ms "$(SMOKE_A11Y_TIMEOUT_MS)" \
$(INSTALL_BROWSERS_FLAG) \
$(SKIP_DOCKER_CHECKS_FLAG) \
$(BASE_URL_FLAG)
stability-cycle-closeout:
bash scripts/stability_phase1_closeout.sh \
--release-date "$(STABILITY_RELEASE_DATE)" \
--compose-mode "$(SMOKE_COMPOSE_MODE)" \
--window-days "$(TELEMETRY_WINDOW_DAYS)" \
--timeout-seconds "$(SMOKE_TIMEOUT_SECONDS)" \
--helper-message "$(SMOKE_HELPER_MESSAGE)" \
--fail-impact "$(SMOKE_FAIL_IMPACT)" \
--a11y-timeout-ms "$(SMOKE_A11Y_TIMEOUT_MS)" \
$(INSTALL_BROWSERS_FLAG) \
$(SKIP_KIOSK_FLAG) \
$(BASE_URL_FLAG)
ops-readiness:
bash scripts/ops_readiness_check.sh "$(OPS_READINESS_PROFILE)" "$(OPS_READINESS_ENV_FILE)"
operator-preflight:
python3 scripts/operator_preflight.py --env-file "$(OPS_READINESS_ENV_FILE)"