Craig Condit created YUNIKORN-2420:
--------------------------------------

             Summary: [Shim] Create reproducible binaries
                 Key: YUNIKORN-2420
                 URL: https://issues.apache.org/jira/browse/YUNIKORN-2420
             Project: Apache YuniKorn
          Issue Type: Sub-task
          Components: shim - kubernetes
            Reporter: Craig Condit
            Assignee: Craig Condit


The binaries produced by the k8shim Makefile currently differ from one run to 
the next in 2 ways:
 * Go-generated BuildID (random)
 * Build timestamp (current time/date)

The first one can be solved by explicitly setting an empty string for the 
buildid in the go linker flags. The second can be solved by using a 
constently-derived build timestamp:
 # If possible, use the latest git commit timestamp, normalized to ISO8601 UTC
 # If the current source tree is not a git tree, use the contents of the 
build.date file in the top-level directory.
 # Fallback to the current date.
 # In all cases, save the result to build.date.

Using this process allows us to ensure that a reasonable build date is always 
used (if available). When we generate release tarballs, as long as the 
build.date file is generated as part of the release process, the results will 
be reproducible as well. The build.date file should be ignored by git, but 
supplied with the generated source tarball to ensure consistency.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to