From e8f279280f925556e17cd53d720635c69d821045 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 5 May 2026 22:27:16 +0800 Subject: [PATCH] fix(cd): install buildx for buildkit builds --- .gitea/workflows/cd.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/cd.yaml b/.gitea/workflows/cd.yaml index 1981872b..d263a20c 100644 --- a/.gitea/workflows/cd.yaml +++ b/.gitea/workflows/cd.yaml @@ -68,7 +68,7 @@ jobs: # actions/checkout@v4 fails before tests can start. run: | if command -v apk >/dev/null 2>&1; then - apk add --no-cache nodejs npm git curl bash openssh-client docker-cli + apk add --no-cache nodejs npm git curl bash openssh-client docker-cli docker-cli-buildx fi - uses: actions/checkout@v4 @@ -272,7 +272,7 @@ jobs: # actions/checkout@v4 and Telegram failure notifications run. run: | if command -v apk >/dev/null 2>&1; then - apk add --no-cache nodejs npm git curl bash openssh-client docker-cli + apk add --no-cache nodejs npm git curl bash openssh-client docker-cli docker-cli-buildx fi - uses: actions/checkout@v4 @@ -341,11 +341,11 @@ jobs: # ── API 鏡像建置(含 Layer Cache 加速)────────────────────────────── # 2026-04-01 ogt: CACHE_BUST=git_sha 確保 src/ 和 models.json 層每次重建 # deps 層 (pip install) 仍可 cache → 加速;代碼/配置層強制失效 - # 2026-05-05 Codex: host runner docker-cli lacks buildx; keep BuildKit - # disabled until buildx is installed on the persistent runner image. + # 2026-05-05 Codex: host runner bootstrap installs docker-cli-buildx; + # keep BuildKit enabled because the web Dockerfile uses RUN --mount. - name: Build and Push API env: - DOCKER_BUILDKIT: "0" + DOCKER_BUILDKIT: "1" run: | docker build -f apps/api/Dockerfile \ --build-arg BUILDKIT_INLINE_CACHE=1 \ @@ -364,10 +364,10 @@ jobs: # 2026-04-01 Claude Code: CACHE_BUST=git_sha 取代 --no-cache # - deps 層 (pnpm install) 仍可 cache → 節省 ~2-3 min # - COPY . . 以下由 CACHE_BUST 強制失效 → 業務邏輯/CSRF 等變更正確進入 bundle - # 2026-05-05 Codex: mirror API build mode; host runner docker-cli lacks buildx. + # 2026-05-05 Codex: mirror API build mode; BuildKit required for cache mounts. - name: Build and Push Web env: - DOCKER_BUILDKIT: "0" + DOCKER_BUILDKIT: "1" run: | docker build -f apps/web/Dockerfile \ --build-arg NEXT_PUBLIC_API_URL=https://awoooi.wooo.work \ @@ -832,7 +832,7 @@ jobs: # notifications, so it needs the same runner bootstrap as earlier jobs. run: | if command -v apk >/dev/null 2>&1; then - apk add --no-cache nodejs npm git curl bash openssh-client docker-cli + apk add --no-cache nodejs npm git curl bash openssh-client docker-cli docker-cli-buildx fi - uses: actions/checkout@v4