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.
This commit is contained in:
Gan, Jimmy
2026-04-04 17:26:53 +08:00
parent 5707b74d8d
commit 71e1991420
+11 -1
View File
@@ -49,6 +49,7 @@ jobs:
if: env.ROLLBACK_ONLY == '0' if: env.ROLLBACK_ONLY == '0'
run: | run: |
set -euo pipefail set -euo pipefail
export DOCKER_API_VERSION=1.43
# Check if base image exists, build if missing # Check if base image exists, build if missing
if ! docker image inspect claude-dev-base:latest >/dev/null 2>&1; then if ! docker image inspect claude-dev-base:latest >/dev/null 2>&1; then
echo "Base image not found, building claude-dev-base:latest..." echo "Base image not found, building claude-dev-base:latest..."
@@ -71,18 +72,21 @@ jobs:
if: env.ROLLBACK_ONLY == '0' if: env.ROLLBACK_ONLY == '0'
run: | run: |
set -euo pipefail set -euo pipefail
export DOCKER_API_VERSION=1.43
docker run --rm "$CLAUDE_DEV_IMAGE" bash /opt/claude-dev/scripts/smoke-tools.sh docker run --rm "$CLAUDE_DEV_IMAGE" bash /opt/claude-dev/scripts/smoke-tools.sh
- name: Smoke test network assumptions - name: Smoke test network assumptions
if: env.ROLLBACK_ONLY == '0' if: env.ROLLBACK_ONLY == '0'
run: | run: |
set -euo pipefail set -euo pipefail
export DOCKER_API_VERSION=1.43
docker run --rm --network host "$CLAUDE_DEV_IMAGE" bash /opt/claude-dev/scripts/smoke-network.sh docker run --rm --network host "$CLAUDE_DEV_IMAGE" bash /opt/claude-dev/scripts/smoke-network.sh
- name: Smoke test auth and mount expectations - name: Smoke test auth and mount expectations
if: env.ROLLBACK_ONLY == '0' if: env.ROLLBACK_ONLY == '0'
run: | run: |
set -euo pipefail set -euo pipefail
export DOCKER_API_VERSION=1.43
docker run --rm --network host \ docker run --rm --network host \
-e REQUIRE_MOUNTS=1 \ -e REQUIRE_MOUNTS=1 \
-v /volume1/docker/claude-dev/claude-config:/root/.claude \ -v /volume1/docker/claude-dev/claude-config:/root/.claude \
@@ -94,6 +98,7 @@ jobs:
- name: Record previous image - name: Record previous image
run: | run: |
set -euo pipefail set -euo pipefail
export DOCKER_API_VERSION=1.43
mkdir -p /volume1/docker/claude-dev mkdir -p /volume1/docker/claude-dev
previous_image="$(docker inspect -f '{{.Config.Image}}' claude-dev 2>/dev/null || true)" previous_image="$(docker inspect -f '{{.Config.Image}}' claude-dev 2>/dev/null || true)"
if [ -n "$previous_image" ]; then if [ -n "$previous_image" ]; then
@@ -106,20 +111,25 @@ jobs:
- name: Sync compose and target tag - name: Sync compose and target tag
run: | run: |
set -euo pipefail set -euo pipefail
export DOCKER_API_VERSION=1.43
cp claude-dev/docker-compose.yml /volume1/docker/claude-dev/docker-compose.yml cp claude-dev/docker-compose.yml /volume1/docker/claude-dev/docker-compose.yml
printf '%s\n' "$CLAUDE_DEV_IMAGE_TAG" > /volume1/docker/claude-dev/target-tag.txt printf '%s\n' "$CLAUDE_DEV_IMAGE_TAG" > /volume1/docker/claude-dev/target-tag.txt
- name: Remove stale claude-dev container - name: Remove stale claude-dev container
run: docker rm -f claude-dev || true run: |
export DOCKER_API_VERSION=1.43
docker rm -f claude-dev || true
- name: Deploy claude-dev - name: Deploy claude-dev
run: | run: |
set -euo pipefail set -euo pipefail
export DOCKER_API_VERSION=1.43
CLAUDE_DEV_IMAGE_TAG="$CLAUDE_DEV_IMAGE_TAG" docker compose -f /volume1/docker/claude-dev/docker-compose.yml up -d --pull never CLAUDE_DEV_IMAGE_TAG="$CLAUDE_DEV_IMAGE_TAG" docker compose -f /volume1/docker/claude-dev/docker-compose.yml up -d --pull never
- name: Post-deploy runtime checks - name: Post-deploy runtime checks
run: | run: |
set -euo pipefail set -euo pipefail
export DOCKER_API_VERSION=1.43
docker exec claude-dev bash -lc 'claude --version' docker exec claude-dev bash -lc 'claude --version'
docker exec claude-dev bash -lc 'gh --version' docker exec claude-dev bash -lc 'gh --version'
docker exec claude-dev bash -lc 'gh auth status || true' docker exec claude-dev bash -lc 'gh auth status || true'