Commit Graph

151 Commits

Author SHA1 Message Date
Gan, Jimmy e396f77299 fix: use --force-recreate to update container in-place
Deploy Dashboard (Dev) / deploy-dev (push) Failing after 4m21s
Run Tests / Backend Tests (push) Failing after 1m38s
Run Tests / Frontend Tests (push) Has started running
Run Tests / Test Summary (push) Has been cancelled
This avoids disconnecting from networks which seems to cause issues
when run from the workflow container. Force recreate updates the
container without removing it first.
2026-04-04 01:36:18 +08:00
Gan, Jimmy f27d414182 fix: cd to compose directory before running docker compose
Deploy Dashboard (Dev) / deploy-dev (push) Failing after 4m26s
Run Tests / Backend Tests (push) Failing after 2m19s
Run Tests / Frontend Tests (push) Failing after 1m5s
Run Tests / Test Summary (push) Has been cancelled
The workflow needs to be in the same directory as the compose file
for docker compose to work properly. Manual execution worked, so
replicate that approach.
2026-04-04 01:26:56 +08:00
Gan, Jimmy f19b70d179 fix: use docker stop/rm instead of compose down for deploy
Deploy Dashboard (Dev) / deploy-dev (push) Failing after 5m51s
Run Tests / Backend Tests (push) Failing after 2m13s
Run Tests / Test Summary (push) Has been cancelled
Run Tests / Frontend Tests (push) Has started running
docker compose down may have issues with external networks or project names.
Use direct docker stop/rm commands instead.
2026-04-04 01:15:24 +08:00
Gan, Jimmy e0cc38ecb5 fix: properly recreate container on deploy
Deploy Dashboard (Dev) / deploy-dev (push) Failing after 6m18s
Run Tests / Frontend Tests (push) Has been cancelled
Run Tests / Test Summary (push) Has been cancelled
Run Tests / Backend Tests (push) Has started running
Use 'docker compose down' then 'up' instead of --no-recreate to ensure
the new image is used and avoid network connection errors.
2026-04-04 00:45:55 +08:00
Gan, Jimmy 2c7787dced revert: disable BuildKit due to slow performance on NAS
Run Tests / Frontend Tests (push) Has been cancelled
Run Tests / Backend Tests (push) Has started running
Run Tests / Test Summary (push) Has been cancelled
Deploy Dashboard (Dev) / deploy-dev (push) Failing after 14m20s
BuildKit operations (load dockerfile, load context, FROM) are taking 20-80s each
on the NAS due to filesystem/resource constraints. Legacy builder is faster.
Keeping pip mirror optimization which provides the real speed improvement.
2026-04-04 00:27:39 +08:00
Gan, Jimmy ee72a891d5 perf: optimize build speed with pip mirror and BuildKit
Deploy Dashboard (Dev) / deploy-dev (push) Has started running
Run Tests / Backend Tests (push) Has been cancelled
Run Tests / Frontend Tests (push) Has been cancelled
Run Tests / Test Summary (push) Has been cancelled
2026-04-04 00:19:43 +08:00
Gan, Jimmy 7a50c070e1 fix: remove duplicate docker.sock mount from deploy workflows
Deploy Dashboard (Dev) / deploy-dev (push) Has been cancelled
Run Tests / Backend Tests (push) Has been cancelled
Run Tests / Frontend Tests (push) Has been cancelled
Run Tests / Test Summary (push) Has been cancelled
2026-04-03 23:49:45 +08:00
Gan, Jimmy 5e9fa2ba56 fix: add Docker socket mount to CI workflows
Deploy Dashboard (Dev) / deploy-dev (push) Has been cancelled
Run Tests / Backend Tests (push) Has been cancelled
Run Tests / Frontend Tests (push) Has been cancelled
Run Tests / Test Summary (push) Has been cancelled
- Add /var/run/docker.sock mount to deploy-dev and deploy workflows
- Fixes docker build hanging indefinitely in CI
- Docker commands need socket access to communicate with daemon
2026-04-03 23:14:54 +08:00
Gan, Jimmy af5b4d8411 fix: use --no-recreate to avoid network issues, fallback to create if needed
Deploy Dashboard (Dev) / deploy-dev (push) Has been cancelled
Run Tests / Frontend Tests (push) Has been cancelled
Run Tests / Backend Tests (push) Has been cancelled
Run Tests / Test Summary (push) Has been cancelled
2026-04-02 21:12:53 +08:00
Gan, Jimmy f275e52843 fix: stop container before compose up to avoid network recreation issues
Deploy Dashboard (Dev) / deploy-dev (push) Failing after 4m18s
Run Tests / Backend Tests (push) Failing after 16m28s
Run Tests / Frontend Tests (push) Failing after 16m26s
Run Tests / Test Summary (push) Failing after 17s
2026-04-02 10:29:31 +08:00
Gan, Jimmy 21d0cd9ff6 fix: simplify deploy to match production pattern - use idempotent docker compose up
Deploy Dashboard (Dev) / deploy-dev (push) Failing after 1m32s
Run Tests / Backend Tests (push) Failing after 1m43s
Run Tests / Frontend Tests (push) Failing after 42s
Run Tests / Test Summary (push) Failing after 42s
2026-04-02 10:01:25 +08:00
Gan, Jimmy e152de6fc8 fix: add --remove-orphans and remove force-recreate flag
Deploy Dashboard (Dev) / deploy-dev (push) Failing after 2m4s
Run Tests / Frontend Tests (push) Has been cancelled
Run Tests / Backend Tests (push) Has started running
Run Tests / Test Summary (push) Has been cancelled
2026-04-02 09:54:19 +08:00
Gan, Jimmy b425613941 fix: use docker-compose down to clean up networks properly
Deploy Dashboard (Dev) / deploy-dev (push) Failing after 1m24s
Run Tests / Backend Tests (push) Failing after 42s
Run Tests / Frontend Tests (push) Failing after 1m0s
Run Tests / Test Summary (push) Failing after 14s
2026-04-02 09:37:47 +08:00
Gan, Jimmy d72b2acf02 fix: disconnect networks and force recreate container
Deploy Dashboard (Dev) / deploy-dev (push) Failing after 1m19s
Run Tests / Test Summary (push) Has been cancelled
Run Tests / Backend Tests (push) Has started running
Run Tests / Frontend Tests (push) Has been cancelled
2026-04-02 09:30:15 +08:00
Gan, Jimmy 09fdf5fd62 fix: stop and remove existing container before deploy to avoid network conflict
Deploy Dashboard (Dev) / deploy-dev (push) Failing after 1m24s
Run Tests / Frontend Tests (push) Has been cancelled
Run Tests / Test Summary (push) Has been cancelled
Run Tests / Backend Tests (push) Has started running
2026-04-02 09:24:19 +08:00
Gan, Jimmy dba4880445 fix: set DOCKER_API_VERSION=1.43 for NAS daemon compatibility
Deploy Dashboard (Dev) / deploy-dev (push) Failing after 1m15s
Run Tests / Frontend Tests (push) Has been cancelled
Run Tests / Test Summary (push) Has been cancelled
Run Tests / Backend Tests (push) Has started running
2026-04-02 09:15:59 +08:00
Gan, Jimmy 7ad4095ad6 fix: add exit code validation to test workflow to properly fail on test failures
Run Tests / Backend Tests (push) Has started running
Run Tests / Frontend Tests (push) Has been cancelled
Run Tests / Test Summary (push) Has been cancelled
2026-03-31 19:03:53 +08:00
Gan, Jimmy 084148ed32 fix: add SECRET_KEY environment variable to test workflow
Run Tests / Backend Tests (push) Failing after 1m39s
Run Tests / Frontend Tests (push) Failing after 43s
Run Tests / Test Summary (push) Failing after 41s
2026-03-31 15:30:55 +08:00
Gan, Jimmy 51c4cd1a4e test: disable coverage and add timeouts to identify slow/hanging tests
Run Tests / Backend Tests (push) Failing after 1m41s
Run Tests / Frontend Tests (push) Failing after 44s
Run Tests / Test Summary (push) Failing after 16m47s
2026-03-31 13:45:44 +08:00
Gan, Jimmy c98db64f32 ci: add test output capture and display in workflow summary
Run Tests / Backend Tests (push) Failing after 6m37s
Run Tests / Frontend Tests (push) Failing after 1m6s
Run Tests / Test Summary (push) Failing after 16m48s
2026-03-31 11:07:46 +08:00
Gan, Jimmy c538dff773 fix: use ubuntu-latest runner label for test workflow
Run Tests / Backend Tests (push) Failing after 9m1s
Run Tests / Frontend Tests (push) Failing after 40s
Run Tests / Test Summary (push) Failing after 6m24s
2026-03-30 12:40:02 +08:00
Gan, Jimmy b1f0af75bb ci: enable test workflow on dev branch
Run Tests / Backend Tests (push) Has been cancelled
Run Tests / Frontend Tests (push) Has been cancelled
Run Tests / Test Summary (push) Has been cancelled
2026-03-30 11:27:36 +08:00
Gan, Jimmy 8431920d26 feat: add comprehensive unit and integration testing infrastructure
Run Tests / Backend Tests (pull_request) Has been cancelled
Run Tests / Frontend Tests (pull_request) Has been cancelled
Run Tests / Test Summary (pull_request) Has been cancelled
- Backend: pytest with unit tests (auth, rbac, config) and integration tests (auth flow, docker, files)
- Frontend: vitest with unit tests (api client) and component tests (login)
- CI: Gitea Actions workflow for automated testing with coverage reports
- Documentation: TESTING.md guide with setup, usage, and best practices
- Coverage goals: 80%+ backend, 70%+ frontend
2026-03-30 11:11:39 +08:00
Gan, Jimmy 99b626eadc fix: add 60s timeout to registry mirror pre-pull to prevent CI hang 2026-03-20 01:04:14 +08:00
Gan, Jimmy 61a3d0ae4b fix: sync dashboard compose files during CI deploy
Deploy Dashboard (Dev) / deploy-dev (push) Successful in 7m55s
Ensure dashboard deploy workflows copy tracked compose files into /nas-dashboard before docker compose up, so new SSH host mounts/envs (like Mac terminal) actually reach runtime.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-06 08:43:01 +08:00
Gan, Jimmy c49d34210d fix: remove stale claude-dev container before deploy
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Successful in 1m58s
Delete any existing claude-dev container before compose up so name conflicts do not block CI deployment.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-03 02:11:52 +08:00
Gan, Jimmy b384b2f462 fix: ensure claude-dev runtime directory exists before snapshot
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Failing after 1m45s
Create /claude-dev-runtime before writing previous-image.txt so post-build record step does not fail when the bind path is absent.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-03 02:05:52 +08:00
Gan, Jimmy cb2a842ab6 fix: remove slow server2 preload from claude-dev deploy workflow
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Failing after 18m54s
Drop the server2 preload stage and rely on direct docker build pulls to avoid long-running preload stream stalls in CI.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-03 01:42:30 +08:00
Gan, Jimmy a683321d92 fix: remove chmod on read-only mounted preload key
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Failing after 11m51s
Drop chmod on the read-only mounted server2 SSH key so preload can execute without failing the workflow before the SSH attempt.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-03 01:30:01 +08:00
Gan, Jimmy d7b2cb3885 fix: mount SSH key for server2 preload in runner job
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Failing after 29s
Mount a read-only SSH key into the claude-dev deploy runner container and use it explicitly for server2 preload so the fast-path image transfer can authenticate.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-03 01:22:24 +08:00
Gan, Jimmy 8c23aabd97 fix: make claude-dev preload non-blocking in CI
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Has started running
Treat server2 preload as best-effort so missing SSH keys do not fail deployment; fall back to normal registry pull during image build.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-03 01:02:06 +08:00
Gan, Jimmy 88c378594e fix: use explicit server2 SSH target in claude-dev preload
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Failing after 24s
Replace the runner-only host alias with an explicit SSH user@host so the preload step can resolve and stream the base image tar reliably.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-03 00:59:00 +08:00
Gan, Jimmy 19001edfbd fix: speed up claude-dev base image availability
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Failing after 33s
Switch claude-dev to node:20-bookworm-slim and preload the base image from server2 in CI to avoid slow pulls on the NAS runner.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-03 00:56:02 +08:00
Gan, Jimmy ce061c1977 fix: scope deploy triggers and cancel stale workflow runs
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Waiting to run
Deploy Dashboard (Dev) / deploy-dev (push) Successful in 2m9s
Limit workflow path triggers to each workflow file, add concurrency groups to cancel outdated runs, and checkout the exact triggering SHA for deterministic deploys.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-03 00:28:02 +08:00
Gan, Jimmy 755a0b6ae9 feat: add CI-gated claude-dev image package
Deploy Dashboard (Dev) / deploy-dev (push) Has been cancelled
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Has started running
Define claude-dev capabilities as a tested contract and deploy immutable tags only after smoke checks so daily tooling upgrades remain CI-first and rollback-safe.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-02 23:40:44 +08:00
Gan, Jimmy 20aa6f12a3 perf: add Docker layer caching to dev CI workflow
Deploy Dashboard (Dev) / deploy-dev (push) Successful in 53s
2026-03-01 18:07:19 +08:00
Gan, Jimmy 4b32929dcc feat: watchtower tracking, dev environment, security logs page
Deploy Dashboard (Dev) / deploy-dev (push) Successful in 1m54s
- watchtower: docker-compose with label filtering, email notifications
- watchtower labels on navidrome, openclaw, immich services
- dev env: docker-compose.dev.yml (port 4001), deploy-dev.yml CI workflow
- dev.nas.jimmygan.com Caddy site block with Authelia forward_auth
- security page: backend router parsing Authelia/Caddy container logs
- security page: frontend with stats cards, timeline, top IPs, event log
- wired security route into App.svelte and Sidebar
2026-03-01 00:40:14 +08:00
Gan, Jimmy f1e802e01b CI: add build step to deploy workflow
- Clone from local Gitea instead of actions/checkout
- Build with legacy builder (DOCKER_BUILDKIT=0) for Docker mirror support
- Use npm China mirror (registry.npmmirror.com) in Dockerfile
- Combined npm install+build in single RUN step
- Removed stale proxy env vars
2026-02-25 21:14:00 +08:00
Gan, Jimmy 7b4c52f646 Fix CI: use --pull never instead of --no-pull 2026-02-21 11:16:07 +08:00
Gan, Jimmy 0c80e07735 Fix CI: remove checkout step that requires GitHub access 2026-02-21 11:14:04 +08:00
Gan, Jimmy 74a4fa1d4b Fix CI: add --no-pull to avoid Docker Hub pull failure 2026-02-21 11:09:52 +08:00
Gan, Jimmy a265c6ffb0 Use docker save/load for cross-build deploy from M1 to NAS 2026-02-21 11:05:00 +08:00
Gan, Jimmy 370417b37d Switch to cross-build from M1 via Gitea container registry 2026-02-21 00:40:46 +08:00
Gan, Jimmy 7225615e2f Enable Docker BuildKit for faster builds 2026-02-20 23:57:16 +08:00
Gan, Jimmy 5a94df7973 Revert to Github action checkout & add proxy variables 2026-02-20 23:52:34 +08:00
Gan, Jimmy 3fec3c4e4f Fix checkout action mirror absolute url 2026-02-20 23:28:01 +08:00
Gan, Jimmy 162c5d486d Add workflow path to trigger 2026-02-20 23:24:04 +08:00
Gan, Jimmy fc13510fec Fix action clone timeout by using gitea mirror 2026-02-20 22:29:32 +08:00
Gan, Jimmy b2064726fd Fix CI/CD: remove duplicate docker.sock mount
Runner already passes docker.sock to job containers.
Only mount the dashboard volume for deploy.
2026-02-19 10:18:03 +08:00
Gan, Jimmy 6c042b5e09 Fix CI/CD workflow: mount Docker socket into job container
- Add container volumes for Docker socket, binary, and dashboard path
- Update runner-config.yaml with valid_volumes whitelist
- Sync source files to NAS volume before rebuilding
- Only trigger on dashboard/** path changes
2026-02-19 10:14:24 +08:00