Ver código fonte

Build: Support SOURCE_DATE_EPOCH for reproducible builds (#18953)

If grafana is build from a non-git source a new timestamp is used every build which makes grafana binaries
non-reproducible.

Motivation: https://reproducible-builds.org
jelle van der Waa 6 anos atrás
pai
commit
ce7a8dde83
1 arquivos alterados com 5 adições e 0 exclusões
  1. 5 0
      build.go

+ 5 - 0
build.go

@@ -592,6 +592,11 @@ func getGitSha() string {
 }
 
 func buildStamp() int64 {
+	// use SOURCE_DATE_EPOCH if set.
+	if s, _ := strconv.ParseInt(os.Getenv("SOURCE_DATE_EPOCH"), 10, 64); s > 0 {
+		return s
+	}
+
 	bs, err := runError("git", "show", "-s", "--format=%ct")
 	if err != nil {
 		return time.Now().Unix()