Stamp the git tag or short commit in a plain docker build (closes #86)
check / check (push) Successful in 1m36s
check / check (push) Successful in 1m36s
The builder stage now has git and takes the version from the VERSION build argument when one is given, otherwise from `git describe --tags --always` of the repo's .git, copied to /git so go build does not see it. A version that still comes out empty, dev or unknown fails the build. ARG VERSION has no default. .dockerignore keeps .git/config out of the build context, and the comments in script/docker and script/cibuild no longer say .git is excluded. Model: opus-5-5
This commit was merged in pull request #87.
This commit is contained in:
+2
-3
@@ -16,9 +16,8 @@ main() {
|
||||
"$SCRIPT_DIR/check"
|
||||
# Own line: a failing command substitution inside an argument does
|
||||
# not trip `set -e`, so the inline form degrades silently to an
|
||||
# empty constant. VERSION is computed here because .dockerignore
|
||||
# excludes .git, so `git describe` in a build stage yields an empty
|
||||
# version without failing.
|
||||
# empty constant. The VERSION build argument takes precedence over
|
||||
# the version a build stage derives from the .git in the context.
|
||||
version="$(git describe --tags --always --dirty 2>/dev/null || true)"
|
||||
[ -n "$version" ] || version="unknown"
|
||||
docker build --no-cache \
|
||||
|
||||
Reference in New Issue
Block a user