Commit Graph

17 Commits

Author SHA1 Message Date
Gan, Jimmy 6070a904b7 fix: remove --cache-to flag from non-BuildKit docker build commands
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Failing after 43s
Deploy Dashboard (Dev) / Backend Tests (push) Failing after 43s
Run Tests / Secret Detection (pull_request) Failing after 43s
Deploy Dashboard (Dev) / Frontend Tests (push) Failing after 41s
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been skipped
Run Tests / Backend Tests (pull_request) Failing after 6m23s
Run Tests / Frontend Tests (pull_request) Failing after 18s
The --cache-to type=inline flag is only valid with DOCKER_BUILDKIT=1.
With BuildKit disabled, it causes docker build to fail with exit 125.
Keep the documentation comments for when BuildKit is re-enabled.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 17:32:05 +08:00
Gan, Jimmy 3e177c703e ci: Sprint 04 — CI/CD reliability (BuildKit docs, cache-to, version pins, cleanup, compose validation)
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Failing after 40s
Run Tests / Secret Detection (pull_request) Failing after 2m26s
Deploy Dashboard (Dev) / Deploy to Dev (push) Has been cancelled
Deploy Dashboard (Dev) / Backend Tests (push) Has been cancelled
Deploy Dashboard (Dev) / Frontend Tests (push) Has been cancelled
Run Tests / Backend Tests (pull_request) Failing after 11m46s
Run Tests / Frontend Tests (pull_request) Failing after 46s
- Document DOCKER_BUILDKIT=0 rationale in all deploy workflows
- Add --cache-to type=inline to all docker build commands
- Pin Python 3.12 and Node 20 with version assertions in CI
- Remove dead test-summary job from test.yml
- Reconcile required-tools.txt with Dockerfile.base (bash, ca-certificates, openssh-client)
- Clean up stale artifacts (Dockerfile comment, orphaned .md files)
- Add docker-compose config validation before claude-dev deploy

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 17:25:03 +08:00
Gan, Jimmy 6bc81f409c ci: fix workflow stability by using standard actions 2026-04-04 23:18:24 +08:00
Gan, Jimmy 71e1991420 fix: set DOCKER_API_VERSION=1.43 for all docker commands
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Successful in 2m12s
Run Tests / Backend Tests (push) Failing after 3m54s
Run Tests / Test Summary (push) Has been cancelled
Run Tests / Frontend Tests (push) Has started running
The runner's Docker client version 1.53 is too new for the NAS daemon (1.43).
Export DOCKER_API_VERSION=1.43 in all steps that use docker commands.
2026-04-04 17:26:53 +08:00
Gan, Jimmy 7dd2d6df9f fix: use manual checkout instead of GitHub Actions
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Failing after 10m10s
Run Tests / Backend Tests (push) Has been cancelled
Run Tests / Frontend Tests (push) Has been cancelled
Run Tests / Test Summary (push) Has been cancelled
Deploy Dashboard (Dev) / deploy-dev (push) Failing after 4m22s
Gitea Actions runner cannot fetch actions from GitHub (connection reset).
Revert to manual git clone for checkout and direct tool installation.
2026-04-04 17:03:22 +08:00
Gan, Jimmy c3ab14fa30 perf: split claude-dev into base and runtime images for faster builds
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Failing after 10m18s
Run Tests / Frontend Tests (push) Has been cancelled
Run Tests / Test Summary (push) Has been cancelled
Run Tests / Backend Tests (push) Has started running
- Create Dockerfile.base with all tools and dependencies (built once)
- Slim down Dockerfile to just copy scripts from base image
- CI checks for base image existence, builds if missing
- Runtime builds drop from ~17min to ~10sec (only copies scripts)
- Base image only needs rebuild when tools/versions change
2026-04-04 16:24:05 +08:00
Gan, Jimmy 55d3348085 fix: simplify CI workflows to run directly on runner without nested containers
Run Tests / Backend Tests (push) Has been cancelled
Run Tests / Frontend Tests (push) Has been cancelled
Run Tests / Test Summary (push) Has been cancelled
Deploy Dashboard (Dev) / deploy-dev (push) Failing after 15m27s
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Has started running
- Remove container blocks causing Docker-in-Docker permission issues
- Use actions/checkout@v4 instead of manual git cloning
- Use actions/setup-python@v5 and actions/setup-node@v4 for clean environments
- Remove nsenter workarounds and mount complexity
- Fix volume paths to use /volume1/docker/* directly
- Add /volume1/docker/claude-dev to runner valid_volumes config

This eliminates 20+ commits of permission/namespace hacks by letting
workflows run directly in the runner's environment which already has
Docker access and proper volume mounts configured.
2026-04-04 16:00:49 +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