Compare commits

..
2 Commits
Author SHA1 Message Date
M1ngdaXieandClaude Sonnet 5 e43773aa71 fix: set production VITE_API_URL/VITE_WS_URL explicitly in CI build
The Gitea Actions workflow checks out a fresh copy of the repo via
actions/checkout, which never has frontend/.env.local (it's gitignored,
only exists in the manually-maintained /root/realtime-collab clone).
Without it, Vite silently fell back to the localhost dev defaults and
baked a broken API URL into the production bundle — every CI-triggered
build overwrote a working manual build with a broken one.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-15 16:32:47 +08:00
M1ngdaXieandClaude Sonnet 5 656976ff1e fix: import backend image into k3s containerd before rollout
docker build only populates the Docker daemon's store; k3s runs its
own embedded containerd and never sees it, so imagePullPolicy: Never
kept redeploying whatever was last imported instead of new builds.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-15 16:09:51 +08:00
2 changed files with 18 additions and 1 deletions
+15
View File
@@ -15,6 +15,13 @@ jobs:
- name: Build backend image - name: Build backend image
run: docker build -t realtime-collab-backend:latest ./backend run: docker build -t realtime-collab-backend:latest ./backend
- name: Import image into k3s containerd
# docker build only populates the Docker daemon's store; k3s runs its
# own containerd (imagePullPolicy: Never, never pulls a registry), so
# the image must be explicitly imported or the pod keeps running
# whatever was last imported.
run: docker save realtime-collab-backend:latest | k3s ctr -n k8s.io images import -
- name: Roll out backend - name: Roll out backend
run: | run: |
kubectl rollout restart deployment/realtime-collab-backend kubectl rollout restart deployment/realtime-collab-backend
@@ -22,6 +29,14 @@ jobs:
- name: Build frontend - name: Build frontend
working-directory: frontend working-directory: frontend
env:
# frontend/.env.local holds these for the manually-maintained
# /root/realtime-collab checkout, but it's gitignored, so this
# actions/checkout-based workspace never has it — without setting
# them here, Vite silently falls back to the localhost dev
# defaults and bakes a broken API URL into the production bundle.
VITE_API_URL: https://collab.m1ngdaxie.com/api
VITE_WS_URL: wss://collab.m1ngdaxie.com/ws
run: | run: |
npm ci npm ci
npm run build npm run build
+2
View File
@@ -40,3 +40,5 @@ postgres_data/
loadtest/pprof loadtest/pprof
/docs /docs
.playwright-mcp/