diff --git a/.forgejo/workflows/build-grid-rs.yaml b/.forgejo/workflows/build-grid-rs.yaml index addfa2c5..5812d876 100644 --- a/.forgejo/workflows/build-grid-rs.yaml +++ b/.forgejo/workflows/build-grid-rs.yaml @@ -49,14 +49,31 @@ jobs: - name: Wait for Docker daemon run: | + # act_runner mounts the host docker socket into the job, but + # the daemon side sometimes takes a moment to answer. Poll + # `docker info` until it responds so the login/build steps + # below don't race the socket and fail with "unable to + # connect to docker". Mirrors the diagnostics in build.yaml + # so failures surface *why* the socket is unreachable. + sock="${DOCKER_HOST:-unix:///var/run/docker.sock}" + echo "Using DOCKER_HOST=${sock}" + for i in $(seq 1 30); do if docker info >/dev/null 2>&1; then echo "Docker daemon reachable after ${i}s" exit 0 fi + echo "Waiting for Docker daemon... ($i/30)" sleep 1 done - echo "Docker daemon never became reachable" >&2 + + echo "Docker daemon never became reachable — diagnostics:" >&2 + echo "--- ls -l /var/run/docker.sock ---" >&2 + ls -l /var/run/docker.sock 2>&1 || true + echo "--- env | grep -i docker ---" >&2 + env | grep -i docker 2>&1 || true + echo "--- docker info (verbose) ---" >&2 + docker info 2>&1 || true exit 1 - name: Generate image tag