From 28dfc265007a75ad40c3490f1d4a1a88b2ec1870 Mon Sep 17 00:00:00 2001 From: ducoterra Date: Sun, 1 Nov 2026 18:08:47 -0500 Subject: [PATCH] ci: name the Containerfile in the build smoke step MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Run #2 got through Checkout, the runtime probe and the whole suite (157 passed, 3 skipped — the `node --check` structural tests skip with no node in a python image, which is the graceful degradation they were written to have) and then failed on `docker build -t mirror:ci .`: with no -f, docker looks for "Dockerfile", finds none, and says "failed to read dockerfile" after transferring a 2-byte context. The publish job never hit this because docker/build-push-action passes `file: Containerfile` on its own. The gate is worth keeping rather than dropping: it is the only step that builds the image on a push, so without it a broken Containerfile surfaces only as a red publish job that quietly leaves :main stale. LLM-Generated: true --- .gitea/workflows/build-and-push.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/build-and-push.yml b/.gitea/workflows/build-and-push.yml index c6f998b..4e72bb1 100644 --- a/.gitea/workflows/build-and-push.yml +++ b/.gitea/workflows/build-and-push.yml @@ -68,7 +68,11 @@ jobs: # install step) here rather than in the publish job below. run: | set -euo pipefail - "${{ steps.runtime.outputs.path }}" build -t mirror:ci . + # -f is not optional: without it docker looks for "Dockerfile", finds + # none, and reports "failed to read dockerfile" with an empty context — + # which is exactly how run #2 failed. The publish job gets away without + # naming it because docker/build-push-action passes `file:` for us. + "${{ steps.runtime.outputs.path }}" build -f Containerfile -t mirror:ci . "${{ steps.runtime.outputs.path }}" run --rm mirror:ci --help >/dev/null build-and-push-app: