-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
52 lines (41 loc) · 1.34 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
SHELL=/usr/bin/env bash -o pipefail
VERSION?=$(shell cat VERSION | tr -d " \t\n\r")
PROMETHEUS_COMMON_PKG=github.com/prometheus/common
BUILD_DATE=$(shell date +"%Y%m%d-%T")
# source: https://docs.github.com/en/free-pro-team@latest/actions/reference/environment-variables#default-environment-variables
ifndef GITHUB_ACTIONS
BUILD_USER?=$(USER)
BUILD_BRANCH?=$(shell git branch --show-current)
BUILD_REVISION?=$(shell git rev-parse --short HEAD)
else
BUILD_USER=Action-Run-ID-$(GITHUB_RUN_ID)
BUILD_BRANCH=$(GITHUB_REF:refs/heads/%=%)
BUILD_REVISION=$(GITHUB_SHA)
endif
# The ldflags for the go build process to set the version related data.
GO_BUILD_LDFLAGS=\
-s \
-X $(PROMETHEUS_COMMON_PKG)/version.Revision=$(BUILD_REVISION) \
-X $(PROMETHEUS_COMMON_PKG)/version.BuildUser=$(BUILD_USER) \
-X $(PROMETHEUS_COMMON_PKG)/version.BuildDate=$(BUILD_DATE) \
-X $(PROMETHEUS_COMMON_PKG)/version.Branch=$(BUILD_BRANCH) \
-X $(PROMETHEUS_COMMON_PKG)/version.Version=$(VERSION)
GO_BUILD_RECIPE=\
GOOS=$(GOOS) \
GOARCH=$(GOARCH) \
CGO_ENABLED=0 \
go build -ldflags="$(GO_BUILD_LDFLAGS)"
make: tidy
.PHONY: tidy
tidy:
go mod tidy -v
.PHONY: build
build: clean prometheus-configs-provider
prometheus-configs-provider:
$(GO_BUILD_RECIPE) -o bin/$@
run:
go run main.go --output-dir=./output
clean:
rm -rf bin
docker:
docker buildx bake --load local