From 06fa9d5ade9ffd5292c95acf760a3a2730cde697 Mon Sep 17 00:00:00 2001 From: Tam Mach Date: Mon, 26 Oct 2020 20:13:25 +1100 Subject: [PATCH] build(docker): Fix version details in docker image As part of #1383, multi-arch docker build was supported. However, ldflags for version details was missing. This commit is to add -ldflags as part of Docker build. Fixes #1468 Signed-off-by: Tam Mach --- .github/workflows/tag.yml | 8 ++++++++ build/Dockerfile | 6 +++++- build/Dockerfile.alpine | 6 +++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml index b970de5b25cb..71335ae7f1f6 100644 --- a/.github/workflows/tag.yml +++ b/.github/workflows/tag.yml @@ -45,6 +45,10 @@ jobs: file: build/Dockerfile platforms: linux/amd64,linux/arm64 push: true + build-args: | + VERSION=${{ steps.prepare.outputs.tag_name }} + SHORT_COMMIT=${GITHUB_SHA::8} + DATE=$(date '+%Y-%m-%dT%H:%M:%SZ') tags: | golangci/golangci-lint:${{ steps.prepare.outputs.tag_name }} golangci/golangci-lint:${{ steps.prepare.outputs.major_tag }} @@ -56,6 +60,10 @@ jobs: context: . file: build/Dockerfile.alpine platforms: linux/amd64,linux/arm64 + build-args: | + VERSION=${{ steps.prepare.outputs.tag_name }} + SHORT_COMMIT=${GITHUB_SHA::8} + DATE=$(date '+%Y-%m-%dT%H:%M:%SZ') push: true tags: | golangci/golangci-lint:${{ steps.prepare.outputs.tag_name }}-alpine diff --git a/build/Dockerfile b/build/Dockerfile index b9dc78c1d508..e4d858e4f9b2 100644 --- a/build/Dockerfile +++ b/build/Dockerfile @@ -1,9 +1,13 @@ # stage 1 building the code FROM golang:1.15 as builder +ARG VERSION +ARG SHORT_COMMIT +ARG DATE + COPY / /golangci WORKDIR /golangci -RUN go build -o golangci-lint ./cmd/golangci-lint/main.go +RUN go build -s -w -X main.version=$VERSION -X main.commit=$SHORT_COMMIT -X main.date=$DATE -o golangci-lint ./cmd/golangci-lint/main.go # stage 2 FROM golang:1.15 diff --git a/build/Dockerfile.alpine b/build/Dockerfile.alpine index 065c6596db6b..2e818718ec28 100644 --- a/build/Dockerfile.alpine +++ b/build/Dockerfile.alpine @@ -1,9 +1,13 @@ # stage 1 building the code FROM golang:1.15-alpine as builder +ARG VERSION +ARG SHORT_COMMIT +ARG DATE + COPY / /golangci WORKDIR /golangci -RUN CGO_ENABLED=0 go build -o golangci-lint ./cmd/golangci-lint/main.go +RUN go build -s -w -X main.version=$VERSION -X main.commit=$SHORT_COMMIT -X main.date=$DATE -o golangci-lint ./cmd/golangci-lint/main.go # stage 2 FROM golang:1.15-alpine