[#369] Add env GOFLAGS passing in Make targets
All checks were successful
/ Vulncheck (pull_request) Successful in 1m6s
/ Builds (1.20) (pull_request) Successful in 1m20s
/ Builds (1.21) (pull_request) Successful in 1m18s
/ DCO (pull_request) Successful in 40s
/ Lint (pull_request) Successful in 1m43s
/ Tests (1.20) (pull_request) Successful in 1m19s
/ Tests (1.21) (pull_request) Successful in 1m17s

Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
This commit is contained in:
Nikita Zinkevich 2024-08-01 11:24:08 +03:00
parent 86c8c5bc86
commit 7532afd237
4 changed files with 11 additions and 3 deletions

View file

@ -3,11 +3,12 @@ FROM golang:1.21 as builder
ARG BUILD=now ARG BUILD=now
ARG REPO=git.frostfs.info/TrueCloudLab/frostfs-s3-gw ARG REPO=git.frostfs.info/TrueCloudLab/frostfs-s3-gw
ARG VERSION=dev ARG VERSION=dev
ARG GOFLAGS=""
WORKDIR /src WORKDIR /src
COPY . /src COPY . /src
RUN make RUN make GOFLAGS=${GOFLAGS}
# Executable image # Executable image
FROM alpine AS frostfs-s3-gw FROM alpine AS frostfs-s3-gw

View file

@ -14,6 +14,8 @@ METRICS_DUMP_OUT ?= ./metrics-dump.json
CMDS = $(addprefix frostfs-, $(notdir $(wildcard cmd/*))) CMDS = $(addprefix frostfs-, $(notdir $(wildcard cmd/*)))
BINS = $(addprefix $(BINDIR)/, $(CMDS)) BINS = $(addprefix $(BINDIR)/, $(CMDS))
GOFLAGS ?=
# Variables for docker # Variables for docker
REPO_BASENAME = $(shell basename `go list -m`) REPO_BASENAME = $(shell basename `go list -m`)
HUB_IMAGE ?= "truecloudlab/$(REPO_BASENAME)" HUB_IMAGE ?= "truecloudlab/$(REPO_BASENAME)"
@ -38,6 +40,7 @@ all: $(BINS)
$(BINS): $(BINDIR) dep $(BINS): $(BINDIR) dep
@echo "⇒ Build $@" @echo "⇒ Build $@"
CGO_ENABLED=0 \ CGO_ENABLED=0 \
GOFLAGS=$(GOFLAGS) \
go build -v -trimpath \ go build -v -trimpath \
-ldflags "-X $(REPO)/internal/version.Version=$(VERSION)" \ -ldflags "-X $(REPO)/internal/version.Version=$(VERSION)" \
-o $@ ./cmd/$(subst frostfs-,,$(notdir $@)) -o $@ ./cmd/$(subst frostfs-,,$(notdir $@))
@ -64,7 +67,7 @@ docker/%:
-w /src \ -w /src \
-u `stat -c "%u:%g" .` \ -u `stat -c "%u:%g" .` \
--env HOME=/src \ --env HOME=/src \
golang:$(GO_VERSION) make $*,\ golang:$(GO_VERSION) make GOFLAGS=$(GOFLAGS) $*,\
@echo "supported docker targets: all $(BINS) lint") @echo "supported docker targets: all $(BINS) lint")
# Run tests # Run tests
@ -87,6 +90,7 @@ image:
@docker build \ @docker build \
--build-arg REPO=$(REPO) \ --build-arg REPO=$(REPO) \
--build-arg VERSION=$(VERSION) \ --build-arg VERSION=$(VERSION) \
--build-arg GOFLAGS=$(GOFLAGS) \
--rm \ --rm \
-f .docker/Dockerfile \ -f .docker/Dockerfile \
-t $(HUB_IMAGE):$(HUB_TAG) . -t $(HUB_IMAGE):$(HUB_TAG) .

View file

@ -377,6 +377,9 @@ logger:
### `http_logging` section ### `http_logging` section
Could be enabled only in builds with `loghttp` build tag. This could be done via `loghttp`,
`docker/loghttp` or `image-loghttp` Make targets.
```yaml ```yaml
http_logging: http_logging:
enabled: false enabled: false

View file

@ -12,7 +12,7 @@ help:
# Show help for docker/% IGNORE # Show help for docker/% IGNORE
help.docker/%: help.docker/%:
$(eval TARGETS:=$(notdir all lint) ${BINS}) $(eval TARGETS:=$(notdir all lint loghttp) ${BINS})
@echo ' Usage:' @echo ' Usage:'
@echo '' @echo ''
@echo ' make docker/% -- Run `make %` in Golang container' @echo ' make docker/% -- Run `make %` in Golang container'