buildbuildsuccesssuccess  written inwritten inbashbash

A template shell script for building golang binaries for distribution.

There are a number of nonobvious steps involved when building release archives for a golang binary. This template build script is intended to be copied into your own repository as a base.

• Build for mulitple platforms
• Archive in platform native format
• Always rebuild dependencies
• Strip sensitive symbol information (ldflags '-s -w')
• Strip sensitive path information (remove baked $GOPATH)
• Strip sensitive user information (tar --owner=0 --group=0)
• ISC license
• "Works on my machine" (go 1.7 win64 with cygwin)


2017-02-11 1.2
• Fix an issue with trimpath if the $GOPATH contained a trailing slash
2016-10-08 1.1
• Use trimpath instead of custom stripper for removing baked $GOPATH
2016-05-01 1.0
• Initial public release


For bug reports, feature requests, or if you need any help, please click here to email me.