Details

    Description

      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:

      1. If possible, use the latest git commit timestamp, normalized to ISO8601 UTC
      2. If the current source tree is not a git tree, use the contents of the build.date file in the top-level directory.
      3. Fallback to the current date.
      4. 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.

      Attachments

        Issue Links

          Activity

            People

              ccondit Craig Condit
              ccondit Craig Condit
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: