fix: add git-daemon so git-http-backend exists in the image

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.
This commit is contained in:
agent committed 2026-08-20 13:37:22 +02:00
1 parent 9886437b2f
commit afed70586a
1 file changed
+8
+8
View File
@@ -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 \