d0abfe0b92
We've added support to the registry command to report the current version of the distribution package. The version package is generated with a shell script that gets the latest tag and add "+unknown". This allows builds from "go get" and "go install" to have a rough version number. Generated periodically, it will provide a decent indication of what code built the binary. For more accurate versioning, one can build with the "binaries" make target. Linker flags are used to replace the version string with the actual current tag at build time. Signed-off-by: Stephen J Day <stephen.day@docker.com>
22 lines
815 B
Bash
Executable File
22 lines
815 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# This bash script outputs the current, desired content of version.go, using
|
|
# git describe. For best effect, pipe this to the target file. Generally, this
|
|
# only needs to updated for releases. The actual value of will be replaced
|
|
# during build time if the makefile is used.
|
|
|
|
set -e
|
|
|
|
cat <<EOF
|
|
package version
|
|
|
|
// Package is the overall, canonical project import path under which the
|
|
// package was built.
|
|
var Package = "$(go list)"
|
|
|
|
// Version indicates which version of the binary is running. This is set to
|
|
// the latest release tag by hand, always suffixed by "+unknown". During
|
|
// build, it will be replaced by the actual version. The value here will be
|
|
// used if the registry is run after a go get based install.
|
|
var Version = "$(git describe --match 'v[0-9]*' --dirty='.m' --always)+unknown"
|
|
EOF |