From afed70586a88d4d708d34c31b14ca3341276dc84 Mon Sep 17 00:00:00 2001 From: agent Date: Thu, 20 Aug 2026 13:37:22 +0200 Subject: [PATCH] fix: add git-daemon so git-http-backend exists in the image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alpine splits git-http-backend OUT of the `git` package: git alone ships git-remote-http/https but not the CGI backend. The runner therefore had git 2.52.0 and no git-http-backend, so zegit's internal/forgeprobe smart-HTTP tests failed at request time with "fork/exec git-http-backend: no such file or directory" and reported three FAILURES for a missing tool. That turned Gitea CI red on every zegit master commit while GitHub stayed green, for hours, with nobody looking — GitHub is the release oracle, which is exactly why a red mirror is invisible. Verified against the real base image, not just alpine:3 — on code.forgejo.org/forgejo/runner:12.11.1 (Alpine 3.23), `apk add git git-daemon` puts git-http-backend at /usr/libexec/git-core/git-http-backend, and `git --exec-path` resolves to that directory, which is the lookup the test harness performs. --- Dockerfile | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Dockerfile b/Dockerfile index f31e8d5..1579b2d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,6 +21,13 @@ USER root # nodejs -> JS actions runtime (actions/checkout, actions/setup-go, ...) # git -> checkout +# git-daemon -> provides git-http-backend, which Alpine splits OUT of the `git` +# package (git alone ships git-remote-http/https but NOT the CGI +# backend). Without it, internal/forgeprobe's smart-HTTP tests died +# with "fork/exec git-http-backend: no such file or directory" and +# reported three FAILURES for a missing tool — which turned Gitea CI +# red on every zegit master commit while GitHub stayed green, for +# hours, unnoticed. # bash -> `shell: bash` steps and many action entrypoints # coreutils-> GNU userland (alpine busybox tools trip up some scripts) # curl,tar -> setup-go / gitleaks download + extract their own arch-specific binaries @@ -32,6 +39,7 @@ USER root RUN apk add --no-cache \ nodejs \ git \ + git-daemon \ bash \ coreutils \ curl \