diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml index b970de5b25cb..7162b42d957b 100644 --- a/.github/workflows/tag.yml +++ b/.github/workflows/tag.yml @@ -31,8 +31,12 @@ jobs: run: | TAG=${GITHUB_REF#refs/tags/} MAJOR=${TAG%.*} + SHORT_COMMIT=${GITHUB_SHA::8} + DATE=$(date '+%Y-%m-%dT%H:%M:%SZ') echo ::set-output name=tag_name::${TAG} echo ::set-output name=major_tag::${MAJOR} + echo ::set-output name=short_commit::${SHORT_COMMIT} + echo ::set-output name=date::${DATE} - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx @@ -45,6 +49,10 @@ jobs: file: build/Dockerfile platforms: linux/amd64,linux/arm64 push: true + build-args: | + VERSION=${{ steps.prepare.outputs.tag_name }} + SHORT_COMMIT=${{ steps.prepare.outputs.short_commit }} + DATE=${{ steps.prepare.outputs.date }} tags: | golangci/golangci-lint:${{ steps.prepare.outputs.tag_name }} golangci/golangci-lint:${{ steps.prepare.outputs.major_tag }} @@ -56,6 +64,10 @@ jobs: context: . file: build/Dockerfile.alpine platforms: linux/amd64,linux/arm64 + build-args: | + VERSION=${{ steps.prepare.outputs.tag_name }} + SHORT_COMMIT=${{ steps.prepare.outputs.short_commit }} + DATE=${{ steps.prepare.outputs.date }} push: true tags: | golangci/golangci-lint:${{ steps.prepare.outputs.tag_name }}-alpine diff --git a/build/Dockerfile b/build/Dockerfile index b9dc78c1d508..fe9da9001b4d 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 -ldflags "-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..4488956a9e4c 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 -ldflags "-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