diff --git a/.docker/Dockerfile b/.docker/Dockerfile index 560e25b1..8b8f7da9 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -3,11 +3,12 @@ FROM golang:1.21 as builder ARG BUILD=now ARG REPO=git.frostfs.info/TrueCloudLab/frostfs-s3-gw ARG VERSION=dev +ARG GOFLAGS="" WORKDIR /src COPY . /src -RUN make +RUN make GOFLAGS=${GOFLAGS} # Executable image FROM alpine AS frostfs-s3-gw diff --git a/Makefile b/Makefile index e074da22..88d41be3 100755 --- a/Makefile +++ b/Makefile @@ -14,6 +14,8 @@ METRICS_DUMP_OUT ?= ./metrics-dump.json CMDS = $(addprefix frostfs-, $(notdir $(wildcard cmd/*))) BINS = $(addprefix $(BINDIR)/, $(CMDS)) +GOFLAGS ?= + # Variables for docker REPO_BASENAME = $(shell basename `go list -m`) HUB_IMAGE ?= "truecloudlab/$(REPO_BASENAME)" @@ -38,6 +40,7 @@ all: $(BINS) $(BINS): $(BINDIR) dep @echo "⇒ Build $@" CGO_ENABLED=0 \ + GOFLAGS=$(GOFLAGS) \ go build -v -trimpath \ -ldflags "-X $(REPO)/internal/version.Version=$(VERSION)" \ -o $@ ./cmd/$(subst frostfs-,,$(notdir $@)) @@ -64,7 +67,7 @@ docker/%: -w /src \ -u `stat -c "%u:%g" .` \ --env HOME=/src \ - golang:$(GO_VERSION) make $*,\ + golang:$(GO_VERSION) make GOFLAGS=$(GOFLAGS) $*,\ @echo "supported docker targets: all $(BINS) lint") # Run tests @@ -87,6 +90,7 @@ image: @docker build \ --build-arg REPO=$(REPO) \ --build-arg VERSION=$(VERSION) \ + --build-arg GOFLAGS=$(GOFLAGS) \ --rm \ -f .docker/Dockerfile \ -t $(HUB_IMAGE):$(HUB_TAG) .