Stamp the git tag or short commit in a plain docker build (closes #35) #36

Zusammengeführt
clawbot hat 1 Commits von issue-35-docker-version nach next 2026-10-02 06:12:06 +02:00 zusammengeführt
2 geänderte Dateien mit 15 neuen und 2 gelöschten Zeilen
Nur Änderungen aus Commit 6163f265e1 werden angezeigt - Alle Commits anzeigen
+2 -1
Datei anzeigen
@@ -1,3 +1,4 @@
.git
# .git is sent so the build can stamp the version, without its config.
.git/config
.gitea
/keyfunc
+13 -1
Datei anzeigen
@@ -16,7 +16,19 @@ COPY . .
RUN make fmt-check
RUN make test
RUN make build
# The version stamped into the binary: the VERSION build argument when one
# is given, otherwise `git describe --tags --always` of the .git in the
# build context. A context that carries .git and still yields no version
# fails the build; with neither, as from a source tarball, it is "dev".
ARG VERSION
RUN version="${VERSION:-$(git describe --tags --always || echo dev)}"; \
if [ -e .git ] && { [ -z "$version" ] || [ "$version" = dev ] || \
[ "$version" = unknown ]; }; then \
echo "no version could be derived although the build context carries .git" >&2; \
exit 1; \
fi; \
make build VERSION="$version"
# alpine:3.23, 2026-09-07
FROM alpine@sha256:fd791d74b68913cbb027c6546007b3f0d3bc45125f797758156952bc2d6daf40