From 614427c60232e3bfc59f10e05ad2a40d9f433883 Mon Sep 17 00:00:00 2001 From: Guilherme Caulada Date: Tue, 18 Apr 2023 10:03:27 -0300 Subject: [PATCH] Build: Add optional build-args for COMMIT_SHA and BUILD_BRANCH (#66672) * Remove .git from .dockerignore * Revert "Remove .git from .dockerignore" This reverts commit 5a4658f270220680a394f43c6f15498836396c23. * Add optional COMMIT_SHA and BUILD_BRANCH environment variables --- Dockerfile | 6 +++++- Makefile | 4 ++++ pkg/build/cmd.go | 14 ++++++++++++-- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 621cbe5443f..3d4f4dbdbe8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,6 +31,8 @@ RUN yarn build FROM ${GO_IMAGE} as go-builder +ARG COMMIT_SHA="" +ARG BUILD_BRANCH="" ARG GO_BUILD_TAGS="oss" ARG WIRE_TAGS="oss" ARG BINGO="true" @@ -62,7 +64,9 @@ COPY pkg pkg COPY scripts scripts COPY conf conf COPY .github .github -COPY .git .git + +ENV COMMIT_SHA=${COMMIT_SHA} +ENV BUILD_BRANCH=${BUILD_BRANCH} RUN make build-go GO_BUILD_TAGS=${GO_BUILD_TAGS} WIRE_TAGS=${WIRE_TAGS} diff --git a/Makefile b/Makefile index 327ec29b095..b91a2e36b11 100644 --- a/Makefile +++ b/Makefile @@ -191,6 +191,8 @@ build-docker-full: ## Build Docker image for development. --build-arg BINGO=false \ --build-arg GO_BUILD_TAGS=$(GO_BUILD_TAGS) \ --build-arg WIRE_TAGS=$(WIRE_TAGS) \ + --build-arg COMMIT_SHA=$$(git rev-parse --short HEAD) \ + --build-arg BUILD_BRANCH=$$(git rev-parse --abbrev-ref HEAD) \ --tag grafana/grafana$(TAG_SUFFIX):dev \ $(DOCKER_BUILD_ARGS) @@ -202,6 +204,8 @@ build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development. --build-arg BINGO=false \ --build-arg GO_BUILD_TAGS=$(GO_BUILD_TAGS) \ --build-arg WIRE_TAGS=$(WIRE_TAGS) \ + --build-arg COMMIT_SHA=$$(git rev-parse --short HEAD) \ + --build-arg BUILD_BRANCH=$$(git rev-parse --abbrev-ref HEAD) \ --build-arg BASE_IMAGE=ubuntu:20.04 \ --build-arg GO_IMAGE=golang:1.20.3 \ --tag grafana/grafana$(TAG_SUFFIX):dev-ubuntu \ diff --git a/pkg/build/cmd.go b/pkg/build/cmd.go index 93de968f7b4..7248c91080d 100644 --- a/pkg/build/cmd.go +++ b/pkg/build/cmd.go @@ -217,12 +217,22 @@ func ldflags(opts BuildOpts) (string, error) { return "", err } + commitSha := getGitSha() + if v := os.Getenv("COMMIT_SHA"); v != "" { + commitSha = v + } + + buildBranch := getGitBranch() + if v := os.Getenv("BUILD_BRANCH"); v != "" { + buildBranch = v + } + var b bytes.Buffer b.WriteString("-w") b.WriteString(fmt.Sprintf(" -X main.version=%s", opts.version)) - b.WriteString(fmt.Sprintf(" -X main.commit=%s", getGitSha())) + b.WriteString(fmt.Sprintf(" -X main.commit=%s", commitSha)) b.WriteString(fmt.Sprintf(" -X main.buildstamp=%d", buildStamp)) - b.WriteString(fmt.Sprintf(" -X main.buildBranch=%s", getGitBranch())) + b.WriteString(fmt.Sprintf(" -X main.buildBranch=%s", buildBranch)) if v := os.Getenv("LDFLAGS"); v != "" { b.WriteString(fmt.Sprintf(" -extldflags \"%s\"", v)) }