Browse code

make buildx: fix variable substitution and version

The variables were not substituted, because single-quotes were used.
While at it; change the fixed version/commit to use the actual commit
and version, using git.

before this change:

make buildx && ./bundles/buildx version
github.com/docker/buildx ${BUILDX_COMMIT} ${BUILDX_COMMIT}

after this change:

make buildx && ./bundles/buildx version
buildx v0.3.0 c967f1d

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

Sebastiaan van Stijn authored on 2019/10/14 20:34:28
Showing 1 changed files
... ...
@@ -10,5 +10,12 @@ ARG GOOS
10 10
 ARG GOARCH
11 11
 # Keep these essentially no-op var settings for debug purposes.
12 12
 # It allows us to see what the GOOS/GOARCH that's being built for is.
13
-RUN GOOS=${GOOS} GOARCH=${GOARCH} go build -ldflags '-X github.com/docker/buildx/version.Version=${BUILDX_COMMIT} -X github.com/docker/buildx/version.Revision=${BUILDX_COMMIT} -X github.com/docker/buildx/version.Package=github.com/docker/buildx' -o /usr/bin/buildx ./cmd/buildx
14
-ENTRYPOINT ["/usr/bin/buildx"]
15 13
\ No newline at end of file
14
+RUN GOOS="${GOOS}" GOARCH="${GOARCH}" BUILDX_COMMIT="${BUILDX_COMMIT}"; \
15
+    pkg="github.com/docker/buildx"; \
16
+    ldflags="\
17
+      -X \"${pkg}/version.Version=$(git describe --tags)\" \
18
+      -X \"${pkg}/version.Revision=$(git rev-parse --short HEAD)\" \
19
+      -X \"${pkg}/version.Package=buildx\" \
20
+    "; \
21
+    go build -ldflags "${ldflags}" -o /usr/bin/buildx ./cmd/buildx
22
+ENTRYPOINT ["/usr/bin/buildx"]