From 8c34f1e734a962b988529cc6e6d3a662b001001a Mon Sep 17 00:00:00 2001 From: jelle van der Waa Date: Wed, 21 Jul 2021 18:27:19 +0200 Subject: [PATCH] Make skaffold reproducible (#6238) Use SOURCE_DATE_EPOCH to set the previous build date when rebuilding a built binary. Motivation: https://reproducible-builds.org/ --- Makefile | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 0731a72fb77..cebae58be44 100644 --- a/Makefile +++ b/Makefile @@ -43,8 +43,15 @@ ifeq "$(strip $(VERSION))" "" override VERSION = $(shell git describe --always --tags --dirty) endif +DATE_FMT = +%Y-%m-%dT%H:%M:%SZ +ifdef SOURCE_DATE_EPOCH + BUILD_DATE ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u "$(DATE_FMT)") +else + BUILD_DATE ?= $(shell date "$(DATE_FMT)") +endif + GO_LDFLAGS = -X $(VERSION_PACKAGE).version=$(VERSION) -GO_LDFLAGS += -X $(VERSION_PACKAGE).buildDate=$(shell date +'%Y-%m-%dT%H:%M:%SZ') +GO_LDFLAGS += -X $(VERSION_PACKAGE).buildDate=$(BUILD_DATE) GO_LDFLAGS += -X $(VERSION_PACKAGE).gitCommit=$(COMMIT) GO_LDFLAGS += -s -w