Commit Graph

616 Commits

Author SHA1 Message Date
Gan, Jimmy e66dc9a38a fix(tests): remove Docker tests + RBAC fixtures (routes removed)
Deploy Dashboard (Dev) / Backend Tests (push) Failing after 1m6s
Deploy Dashboard (Dev) / Build Dev Image (push) Has been skipped
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 52s
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
2026-07-09 23:36:39 +08:00
Gan, Jimmy 1646af914f chore: remove dead routes (OpenClaw, CcConnect, InfoEngine, Docker, test.yml)
Deploy Dashboard (Dev) / Backend Tests (push) Failing after 1m10s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 48s
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
Deploy Dashboard (Dev) / Build Dev Image (push) Has been skipped
Deploy Dashboard (Main) / Backend Tests (push) Failing after 3m6s
Deploy Dashboard (Main) / Frontend Tests (push) Successful in 9s
Deploy Dashboard (Main) / Build Main Image (push) Failing after 9m11s
Deploy Dashboard (Main) / Deploy to Production (push) Has been skipped
2026-07-09 23:14:46 +08:00
Gan, Jimmy 4a6227939c ci: registry fixed as standalone (no Docker Hub proxy) 2026-07-09 07:35:50 +08:00
Gan, Jimmy 636a2b02e6 perf(ci): push to local registry + SSH pipe (layers cacheable for future builds)
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m15s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 56s
Deploy Dashboard (Main) / Backend Tests (push) Successful in 2m40s
Deploy Dashboard (Main) / Frontend Tests (push) Successful in 5s
Deploy Dashboard (Main) / Build Main Image (push) Failing after 15s
Deploy Dashboard (Main) / Deploy to Production (push) Has been skipped
Deploy Dashboard (Dev) / Build Dev Image (push) Failing after 18s
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
2026-07-09 03:54:14 +08:00
Gan, Jimmy bfa11b5f26 feat(dashboard): service health widget, Cmd+K palette, CI runs, pinned shortcuts
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m15s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 55s
Deploy Dashboard (Dev) / Build Dev Image (push) Failing after 13m49s
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
2026-07-09 03:36:31 +08:00
Gan, Jimmy b2c4e73e4a fix(sidebar): drop :8443 port from all links, remove toPublicHttpsUrl
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m21s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 59s
Deploy Dashboard (Main) / Backend Tests (push) Successful in 2m56s
Deploy Dashboard (Main) / Frontend Tests (push) Successful in 5s
Deploy Dashboard (Main) / Build Main Image (push) Successful in 4m23s
Deploy Dashboard (Main) / Deploy to Production (push) Successful in 1m3s
Deploy Dashboard (Dev) / Build Dev Image (push) Successful in 6m39s
Deploy Dashboard (Dev) / Deploy to Dev (push) Successful in 1m1s
2026-07-09 03:31:01 +08:00
Gan, Jimmy 7fb32fc82d refactor(sidebar): add t-youtube, media-mgmt, hermes; remove docker, info-engine, openclaw, cc-connect
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m11s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 1m3s
Deploy Dashboard (Dev) / Build Dev Image (push) Successful in 4m26s
Deploy Dashboard (Dev) / Deploy to Dev (push) Successful in 59s
2026-07-09 03:20:51 +08:00
Gan, Jimmy 91328ce6c9 fix(ci): add TRANSMISSION_USER/PASS secrets to deploy step
Deploy Dashboard (Main) / Backend Tests (push) Successful in 2m48s
Deploy Dashboard (Main) / Frontend Tests (push) Successful in 9s
Deploy Dashboard (Main) / Build Main Image (push) Successful in 1m36s
Deploy Dashboard (Main) / Deploy to Production (push) Successful in 53s
2026-07-09 02:52:49 +08:00
Gan, Jimmy 93a1264d31 fix(ci): change checkout URL to 127.0.0.1:3300 (NAS host network)
Deploy Dashboard (Main) / Backend Tests (push) Successful in 2m39s
Deploy Dashboard (Main) / Frontend Tests (push) Successful in 10s
Deploy Dashboard (Main) / Build Main Image (push) Successful in 1m33s
Deploy Dashboard (Main) / Deploy to Production (push) Failing after 7m57s
2026-07-09 02:33:27 +08:00
Gan, Jimmy bd03784108 fix(ci): soft-fail frontend tests on main (same Vite issue as dev)
Deploy Dashboard (Main) / Backend Tests (push) Successful in 2m41s
Deploy Dashboard (Main) / Frontend Tests (push) Successful in 6s
Deploy Dashboard (Main) / Build Main Image (push) Failing after 9m40s
Deploy Dashboard (Main) / Deploy to Production (push) Has been cancelled
2026-07-08 23:34:03 +08:00
Gan, Jimmy 0f1844b046 fix(ci): add gzip compression to image transfer (slow VPS->NAS pipe)
Deploy Dashboard (Main) / Backend Tests (push) Successful in 2m38s
Deploy Dashboard (Main) / Build Main Image (push) Has been cancelled
Deploy Dashboard (Main) / Deploy to Production (push) Has been cancelled
Deploy Dashboard (Main) / Frontend Tests (push) Has been cancelled
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m2s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 52s
Deploy Dashboard (Dev) / Build Dev Image (push) Successful in 12m46s
Deploy Dashboard (Dev) / Deploy to Dev (push) Successful in 59s
2026-07-08 23:31:24 +08:00
Gan, Jimmy 270e90cab5 fix(ci): change main backend-tests to vps runner with correct checkout URL
Deploy Dashboard (Main) / Backend Tests (push) Successful in 2m44s
Deploy Dashboard (Main) / Frontend Tests (push) Failing after 6s
Deploy Dashboard (Main) / Deploy to Production (push) Has been cancelled
Deploy Dashboard (Main) / Build Main Image (push) Has been cancelled
2026-07-08 22:59:14 +08:00
Gan, Jimmy 7b39dda0c8 fix(ci): remove needs dependency on build-image-main (bypass Gitea scheduler bug)
Deploy Dashboard (Main) / Frontend Tests (push) Failing after 6s
Deploy Dashboard (Main) / Backend Tests (push) Failing after 14s
Deploy Dashboard (Main) / Build Main Image (push) Failing after 7m35s
Deploy Dashboard (Main) / Deploy to Production (push) Has been skipped
2026-07-08 22:22:04 +08:00
Gan, Jimmy e19098836c fix(ci): try explicit runner labels for main build-image job
Deploy Dashboard (Main) / Frontend Tests (push) Failing after 5s
Deploy Dashboard (Main) / Backend Tests (push) Failing after 14s
Deploy Dashboard (Main) / Build Main Image (push) Has been skipped
Deploy Dashboard (Main) / Deploy to Production (push) Has been skipped
2026-07-08 22:13:50 +08:00
Gan, Jimmy 06c51b7edb fix(ci): add SSH timeout opts to main build (same hang protection as dev)
Deploy Dashboard (Main) / Frontend Tests (push) Failing after 5s
Deploy Dashboard (Main) / Backend Tests (push) Failing after 23s
Deploy Dashboard (Main) / Build Main Image (push) Has been skipped
Deploy Dashboard (Main) / Deploy to Production (push) Has been skipped
2026-07-08 22:12:28 +08:00
Gan, Jimmy 12b1084853 fix(ci): use printf|ssh for smoke tests (heredoc breaks YAML block scalar)
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m32s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 1m9s
Deploy Dashboard (Dev) / Build Dev Image (push) Successful in 15m8s
Deploy Dashboard (Dev) / Deploy to Dev (push) Successful in 1m4s
2026-07-08 21:27:12 +08:00
Gan, Jimmy c7cd75720e fix(ci): add step markers to deploy for debugging
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m3s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 49s
Deploy Dashboard (Dev) / Build Dev Image (push) Successful in 1m17s
Deploy Dashboard (Dev) / Deploy to Dev (push) Failing after 51s
2026-07-07 16:34:00 +08:00
Gan, Jimmy aed0d792ef fix(ci): add verbose tracing to deploy steps
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m4s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 46s
Deploy Dashboard (Dev) / Build Dev Image (push) Successful in 1m18s
Deploy Dashboard (Dev) / Deploy to Dev (push) Failing after 25s
2026-07-07 16:27:00 +08:00
Gan, Jimmy 27cdf7a91e fix(ci): replace scp with cat|ssh (NAS has no scp subsystem)
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m4s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 55s
Deploy Dashboard (Dev) / Build Dev Image (push) Successful in 1m28s
Deploy Dashboard (Dev) / Deploy to Dev (push) Failing after 50s
2026-07-07 16:18:18 +08:00
Gan, Jimmy b2d53cb242 fix(ci): use SSH-based deploy for dev (NAS paths unavailable on VPS runner)
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m6s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 47s
Deploy Dashboard (Dev) / Build Dev Image (push) Successful in 1m34s
Deploy Dashboard (Dev) / Deploy to Dev (push) Failing after 3s
2026-07-07 15:59:57 +08:00
Gan, Jimmy f39fb4c931 Merge branch 'main' into dev
Deploy Dashboard (Main) / Backend Tests (push) Failing after 32s
Deploy Dashboard (Main) / Build Main Image (push) Has been skipped
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m8s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 53s
Deploy Dashboard (Main) / Frontend Tests (push) Failing after 5s
Deploy Dashboard (Main) / Deploy to Production (push) Has been skipped
Deploy Dashboard (Dev) / Build Dev Image (push) Successful in 1m34s
Deploy Dashboard (Dev) / Deploy to Dev (push) Failing after 0s
# Conflicts:
#	.gitea/workflows/deploy-dev.yml
#	.gitea/workflows/deploy.yml
2026-07-07 15:50:38 +08:00
Gan, Jimmy e676ef06ad ci: trigger clean pipeline - all tests passing
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m24s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 1m7s
Deploy Dashboard (Dev) / Build Dev Image (push) Failing after 3s
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
2026-06-21 23:30:52 +08:00
Gan, Jimmy 7cc6135099 fix: also patch claude.ai and anthropic.com bare refs in cli.js
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Successful in 2m4s
The previous patch only caught https://claude.ai (36 refs)
but missed bare claude.ai (70 refs) and anthropic.com (24 refs)
used in OAuth and bootstrap URL construction.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 23:43:02 +08:00
Claude CI Bot 5f750bf07c fix(ci): use gitea:3000 for checkout — 172.21.0.1:3300 unreachable from runner
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Successful in 2m56s
2026-06-10 18:25:06 +00:00
Gan, Jimmy ff74fc0b65 fix: auto-start litellm on container start, add missing DEEPSEEK_API_KEY env
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Failing after 39s
2026-06-08 09:06:51 +08:00
Gan, Jimmy f3f32a1853 ci: retrigger claude-dev build after runner fix 2026-06-07 21:33:08 +08:00
Gan, Jimmy f2b8529a6a claude-dev: bake LiteLLM proxy + URL patch into Docker image
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Failing after 2m3s
- Add python3-pip + litellm[proxy] to base image
- Replace broken regex preflight patch with working binary URL replacement
  (api.anthropic.com, platform.claude.com, claude.ai → localhost:4008)
- Auto-start LiteLLM on port 4008 via CMD (no more manual restart)
- Add litellm.yaml config and start-litellm.sh script
- Add .env.example
- Update docker-compose.yml env_file path to relative ./.env

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 18:57:06 +08:00
Gan, Jimmy 9a2b1f8941 ci: clean trigger - tests passing, labels fixed
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m14s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 50s
Deploy Dashboard (Dev) / Build Dev Image (push) Failing after 12m34s
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Has been cancelled
2026-06-07 16:21:36 +08:00
Gan, Jimmy d9f4241c9d ci: fresh trigger after Gitea restart
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m16s
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Has been cancelled
Deploy Dashboard (Dev) / Build Dev Image (push) Failing after 11m48s
Deploy Dashboard (Dev) / Frontend Tests (push) Failing after 13m30s
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
2026-06-07 16:15:36 +08:00
Gan, Jimmy e11fd666d2 ci: trigger fresh run after Gitea restart
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 1m0s
Deploy Dashboard (Dev) / Backend Tests (push) Failing after 13m40s
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
Deploy Dashboard (Dev) / Build Dev Image (push) Has been skipped
2026-06-07 16:07:38 +08:00
Gan, Jimmy 9f674e52a2 ci: fresh trigger
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m40s
Deploy Dashboard (Dev) / Build Dev Image (push) Failing after 10m22s
Deploy Dashboard (Dev) / Frontend Tests (push) Failing after 12m22s
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
2026-06-07 12:38:59 +08:00
Gan, Jimmy b7388f9a43 fix(ci): use vps label without host suffix
Deploy Dashboard (Dev) / Frontend Tests (push) Failing after 11m57s
Deploy Dashboard (Dev) / Backend Tests (push) Failing after 14m14s
Deploy Dashboard (Dev) / Build Dev Image (push) Has been skipped
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
2026-06-07 12:24:00 +08:00
Gan, Jimmy 3e0941fef0 fix(ci): remove concurrency cancel-in-progress to let runs complete
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 56s
Deploy Dashboard (Dev) / Backend Tests (push) Failing after 13m19s
Deploy Dashboard (Dev) / Build Dev Image (push) Has been skipped
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
2026-06-07 12:20:23 +08:00
Gan, Jimmy d17f5383ae fix(ci): checkout dev branch explicitly via GITHUB_REF_NAME
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 1m23s
Deploy Dashboard (Dev) / Backend Tests (push) Failing after 10m52s
Deploy Dashboard (Dev) / Build Dev Image (push) Has been skipped
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
2026-06-07 12:17:58 +08:00
Gan, Jimmy ce0a800087 fix(ci): match runner label vps:host, fix pytest timeout flag
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m16s
Deploy Dashboard (Dev) / Frontend Tests (push) Has been cancelled
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been cancelled
Deploy Dashboard (Dev) / Build Dev Image (push) Has been cancelled
2026-06-07 12:08:16 +08:00
Gan, Jimmy 98510cb707 fix(ci): remove --timeout flag from pytest (not compatible with installed version)
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m27s
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been cancelled
Deploy Dashboard (Dev) / Frontend Tests (push) Has been cancelled
Deploy Dashboard (Dev) / Build Dev Image (push) Has been cancelled
2026-06-07 12:04:29 +08:00
Gan, Jimmy 5c5ae99e79 fix(ci): change deploy job to vps runner, route Docker commands via ssh nasts
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 1m20s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 1m1s
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been cancelled
Deploy Dashboard (Dev) / Build Dev Image (push) Has been cancelled
2026-06-07 11:57:46 +08:00
Gan, Jimmy 59dd8ae1e2 ci: trigger dashboard deploy
Deploy Dashboard (Dev) / Frontend Tests (push) Has been cancelled
Deploy Dashboard (Dev) / Build Dev Image (push) Has been cancelled
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been cancelled
Deploy Dashboard (Dev) / Backend Tests (push) Has been cancelled
2026-06-07 11:53:12 +08:00
Gan, Jimmy b52986fed5 fix(ci): recreate venv after cache restore to fix absolute symlinks
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 51s
Deploy Dashboard (Dev) / Backend Tests (push) Failing after 13m39s
Deploy Dashboard (Dev) / Build Dev Image (push) Has been skipped
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
Running python3 -m venv venv over an existing cached venv recreates
the absolute symlinks and pyvenv.cfg paths so Python resolves to
the current system's python3 binary. Without this, cp -a preserves
stale symlinks from the cache source, causing venv/bin/python to
resolve to /usr/bin/python3 (system, not venv) and pytest not found.

Also switch validation to use python3 to match Ubuntu 24.04 convention.
2026-06-04 23:52:40 +08:00
Gan, Jimmy c041b0e7ec fix(ci): use python3 instead of python - VPS Ubuntu 24.04 has no python symlink
Deploy Dashboard (Dev) / Frontend Tests (push) Failing after 12m44s
Deploy Dashboard (Dev) / Backend Tests (push) Failing after 13m57s
Deploy Dashboard (Dev) / Build Dev Image (push) Has been skipped
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
2026-06-04 20:23:57 +08:00
Gan, Jimmy 6672999757 fix(ci): validate venv cache by testing pytest, use python -m pytest
Deploy Dashboard (Dev) / Backend Tests (push) Failing after 17s
Deploy Dashboard (Dev) / Build Dev Image (push) Has been skipped
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been cancelled
Deploy Dashboard (Dev) / Frontend Tests (push) Has been cancelled
2026-06-04 20:20:30 +08:00
Gan, Jimmy 12a015e915 fix(ci): move all test jobs to VPS runner - NAS HDD too slow
Deploy Dashboard (Dev) / Frontend Tests (push) Failing after 13m0s
Deploy Dashboard (Dev) / Backend Tests (push) Failing after 14m11s
Deploy Dashboard (Dev) / Build Dev Image (push) Has been skipped
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
NAS is using 4.7GB swap causing tests to hang in D state for 20+ min. VPS has SSD and plenty of RAM - tests complete in ~1-2 min there.
2026-06-04 18:17:18 +08:00
Gan, Jimmy 3057fc270b fix(ci): move all test jobs to VPS runner - NAS HDD too slow
NAS is using 4.7GB swap causing tests to hang in D state for 20+ min. VPS has SSD and plenty of RAM - tests complete in ~1-2 min there.
2026-06-04 18:16:36 +08:00
Gan, Jimmy e3f6a2c32e Revert "fix(ci): use Docker bridge gateway IP for checkout in dev CI"
This reverts commit 0ee8d6cdab.
2026-06-04 18:07:50 +08:00
Gan, Jimmy c4e9608e9d fix(ci): use Docker bridge gateway IP for checkout in dev CI
Deploy Dashboard (Dev) / Frontend Tests (push) Has been cancelled
Deploy Dashboard (Dev) / Build Dev Image (push) Has been cancelled
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been cancelled
Deploy Dashboard (Dev) / Backend Tests (push) Has been cancelled
Ubuntu-latest runner containers on NAS dont have the gitea_gitea network, so http://gitea:3000 is unreachable. Use 172.21.0.1:3300 (Docker bridge gateway) instead.
2026-06-04 17:58:50 +08:00
Gan, Jimmy 0ee8d6cdab fix(ci): use Docker bridge gateway IP for checkout in dev CI
Ubuntu-latest runner containers on NAS dont have the gitea_gitea network, so http://gitea:3000 is unreachable. Use 172.21.0.1:3300 (Docker bridge gateway) instead.
2026-06-04 17:58:38 +08:00
Gan, Jimmy ab44c2956e fix(ci): remove --cache-from flag - Podman caches layers automatically
Deploy Dashboard (Main) / Frontend Tests (push) Successful in 50s
Deploy Dashboard (Main) / Backend Tests (push) Failing after 23m28s
Deploy Dashboard (Main) / Build Docker Image (push) Has been skipped
Deploy Dashboard (Main) / Deploy to Production (push) Failing after 14m58s
2026-06-04 17:52:26 +08:00
Gan, Jimmy aa08b4c970 feat(ci): build dashboard dev images on VPS (SSD) instead of NAS HDD
Deploy Dashboard (Dev) / Backend Tests (push) Successful in 17m47s
Deploy Dashboard (Dev) / Frontend Tests (push) Successful in 44s
Deploy Dashboard (Dev) / Build Dev Image (push) Failing after 26m26s
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
Add build-image-dev job (runs-on: vps) - builds with Podman on server2,
pipes the finished image to NAS via SSH, retags from localhost/ prefix.
Deploy job now depends on build-image-dev instead of backend-tests.

NAS HDD I/O was the bottleneck for Docker builds. VPS has SSD and
matches NAS x86_64 architecture perfectly.
2026-06-04 17:51:41 +08:00
Gan, Jimmy 3c5ec3cdd2 feat(ci): build dashboard images on VPS (SSD) instead of NAS HDD
Deploy Dashboard (Main) / Backend Tests (push) Has been cancelled
Deploy Dashboard (Main) / Build Docker Image (push) Has been cancelled
Deploy Dashboard (Main) / Deploy to Production (push) Has been cancelled
Deploy Dashboard (Main) / Frontend Tests (push) Has been cancelled
- Add build-image job (runs-on: vps) for deploy.yml (main) - builds with
  Podman on server2, pipes finished image to NAS via SSH, retags
- Add build-image-dev job (runs-on: vps) for deploy-dev.yml (dev) - same
  pattern for dev images
- Remove build + base image pre-warm from NAS-side deploy jobs (image is
  now pre-loaded by the build job)
- deploy job condition: always() && build-image succeeded (so frontend
  test failure doesn't block deployment, but build failure does)

NAS HDD I/O was the bottleneck. VPS has SSD and same x86_64 arch.
2026-06-04 17:49:43 +08:00
Gan, Jimmy 03b515aa1d fix(ci): switch tests from VPS host runner to NAS ubuntu-latest
Deploy Dashboard (Main) / Frontend Tests (push) Successful in 54s
Deploy Dashboard (Main) / Backend Tests (push) Successful in 14m32s
Deploy Dashboard (Main) / Deploy to Production (push) Failing after 15m6s
The VPS runner's host executor has a bug where completion callbacks
are silently dropped, causing jobs to appear stuck. Switched backend
and frontend tests to the NAS runner which correctly reports status.

Also updated checkout URL to use Docker bridge gateway 172.21.0.1:3300.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 11:42:16 +08:00