From 5fdc9fb15e103bd5b85f46cf7a903caeb032e9f6 Mon Sep 17 00:00:00 2001 From: Will Anderson Date: Fri, 8 May 2026 11:49:17 -0500 Subject: [PATCH] fix(ci): fall back to ci-base:latest when ci-base:dev doesn't exist yet The BASE build arg was hardcoded to ci-base:dev even when the pull fell back to :latest. Docker then tried to resolve ci-base:dev from the registry during the build and failed. Capture which tag was actually pulled and use that as BASE. --- .gitea/workflows/ci-dev.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/ci-dev.yaml b/.gitea/workflows/ci-dev.yaml index 446ed0d..3572c95 100644 --- a/.gitea/workflows/ci-dev.yaml +++ b/.gitea/workflows/ci-dev.yaml @@ -272,8 +272,9 @@ jobs: gcloud config set project neuron-785695 gcloud auth configure-docker us-central1-docker.pkg.dev --quiet - # Pull existing ci-base:dev (system deps stay cached in the base layer) - docker pull "${CI_BASE}:dev" || docker pull "${CI_BASE}:latest" + # Pull existing ci-base:dev (or fall back to :latest on first run) + BASE_TAG="dev" + docker pull "${CI_BASE}:dev" || { docker pull "${CI_BASE}:latest" && BASE_TAG="latest"; } # Inline Dockerfile — only replaces the El SDK layer cat > /tmp/Dockerfile.ci-base-patch << 'EOF' @@ -288,7 +289,7 @@ jobs: EOF docker build \ - --build-arg BASE="${CI_BASE}:dev" \ + --build-arg BASE="${CI_BASE}:${BASE_TAG}" \ --build-arg BUILDKIT_INLINE_CACHE=1 \ -f /tmp/Dockerfile.ci-base-patch \ -t "${CI_BASE}:dev" \ -- 2.52.0