-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
76 lines (59 loc) · 2.76 KB
/
Makefile
File metadata and controls
76 lines (59 loc) · 2.76 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
# webvpython workspace management
# Run from the webvpython directory.
.PHONY: help serve stop deploy deploy-runners deploy-docs deploy-flask build-packages \
git-status git-pull git-push
SUBREPOS := flaskHost rsWVPRunner wmWVPRunner webVPythonDocsHome
help:
@echo "Targets:"
@echo " serve Start all local dev servers (flask :8080, rs :8090, wm :5173)"
@echo " stop Stop all local dev servers"
@echo " deploy Deploy all four repos"
@echo " deploy-flask Deploy flaskHost to Cloud Run"
@echo " deploy-runners Deploy both runners to GCS"
@echo " deploy-docs Build and deploy VPython docs to GCS"
@echo " build-packages Rebuild rsWVPRunner GlowScript packages from source"
@echo " git-status git status in all sub-repos"
@echo " git-pull git pull in all sub-repos"
@echo " git-push git push in all sub-repos"
# ── Local dev ─────────────────────────────────────────────────────────────────
serve:
@echo "Starting all dev servers (Ctrl-C to stop all)..."
@trap 'kill 0' INT; \
(cd flaskHost && bash serve.sh) & \
(cd rsWVPRunner && bash serve.sh) & \
(cd wmWVPRunner && bash serve.sh) & \
wait
stop:
-cd flaskHost && docker compose down
@for port in 8090 5173; do \
pids=$$(lsof -ti tcp:$$port); \
if [ -n "$$pids" ]; then echo "Stopping port $$port (pid $$pids)"; kill $$pids; fi; \
done
# ── Deploy ────────────────────────────────────────────────────────────────────
deploy: deploy-flask deploy-runners deploy-docs
deploy-flask:
cd flaskHost && bash do_build.sh
deploy-runners:
cd rsWVPRunner && bash do_build.sh
cd wmWVPRunner && bash do_build.sh
deploy-docs:
cd webVPythonDocsHome && bash do_build.sh
# ── Build ─────────────────────────────────────────────────────────────────────
build-packages:
cd rsWVPRunner && python build_package.py
# ── Git ───────────────────────────────────────────────────────────────────
git-status:
@for repo in $(SUBREPOS); do \
echo "=== $$repo ==="; \
git -C $$repo status -s; \
done
git-pull:
@for repo in $(SUBREPOS); do \
echo "=== $$repo ==="; \
git -C $$repo pull; \
done
git-push:
@for repo in $(SUBREPOS); do \
echo "=== $$repo ==="; \
git -C $$repo push; \
done