You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently when 2 different people build the same code base, the generated Go executable is different. For starters, the individual GOPATH is written when panics are logged.
With Go modules, perhaps this issue can be revisited.
There is definitely value in the same Go code base built for same OS for same ARCH with same version of Go and dependencies should generate EXACTLY the same binary.
The text was updated successfully, but these errors were encountered:
Go 1.13 will include a -trimpath flag; see #16860. That should make it easier to have fully reproducible builds. #32609 is for writing more documentation about this for the 1.13 release.
This is important for using Go in safety critical software, where the binaries tested and put into production must be identical. Until now, this meant that a build server was necesary. With 100% reproducible builds, a binary compiled on one machine would be identical to one built on a different one, which is means no build server is needed anymore.
Go 1.13 should have exactly the properties you describe when the -trimpath flag is set. If you always want it to be set for any command you run, note that you can set it in the GOFLAGS variable:
Currently when 2 different people build the same code base, the generated Go executable is different. For starters, the individual GOPATH is written when panics are logged.
With Go modules, perhaps this issue can be revisited.
There is definitely value in the same Go code base built for same OS for same ARCH with same version of Go and dependencies should generate EXACTLY the same binary.
The text was updated successfully, but these errors were encountered: