show full git SHA in ark version output

Signed-off-by: Steve Kriss <steve@heptio.com>
pull/1124/head
Steve Kriss 2018-12-06 13:21:05 -07:00
parent 59ca9a3974
commit ac317a87ff
4 changed files with 9 additions and 12 deletions

View File

@ -39,7 +39,7 @@ builds:
- goos: windows
goarch: arm64
ldflags:
- -X "github.com/heptio/ark/pkg/buildinfo.Version={{ .Tag }}" -X "github.com/heptio/ark/pkg/buildinfo.GitSHA={{ .Env.GIT_SHA }}" -X "github.com/heptio/ark/pkg/buildinfo.GitTreeState={{ .Env.GIT_TREE_STATE }}"
- -X "github.com/heptio/ark/pkg/buildinfo.Version={{ .Tag }}" -X "github.com/heptio/ark/pkg/buildinfo.GitSHA={{ .FullCommit }}" -X "github.com/heptio/ark/pkg/buildinfo.GitTreeState={{ .Env.GIT_TREE_STATE }}"
archive:
name_template: "{{ .ProjectName }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}"
files:
@ -47,8 +47,6 @@ archive:
- config/**/*
checksum:
name_template: 'CHECKSUM'
snapshot:
name_template: "{{ .Env.GIT_SHA }}"
release:
github:
owner: heptio

View File

@ -41,7 +41,7 @@ fi
export CGO_ENABLED=0
GIT_SHA=$(git describe --tags --always)
GIT_SHA=$(git rev-parse HEAD)
GIT_DIRTY=$(git status --porcelain 2> /dev/null)
if [[ -z "${GIT_DIRTY}" ]]; then
GIT_TREE_STATE=clean

View File

@ -29,8 +29,6 @@ if [ -z "${RELEASE_NOTES_FILE}" ]; then
exit 1
fi
export GIT_SHA=$(git describe --tags --always)
GIT_DIRTY=$(git status --porcelain 2> /dev/null)
if [[ -z "${GIT_DIRTY}" ]]; then
export GIT_TREE_STATE=clean

View File

@ -18,19 +18,20 @@ set -o nounset
set -o errexit
set -o pipefail
GIT_TAG=$(git describe --tags --always)
# this script copies all of the files under examples/ into a new directory,
# config/ (which is gitignored so it doesn't result in the git
# state being dirty, which would prevent goreleaser from running), and then
# updates all of the image tags in those files to use $GIT_SHA (which will
# be the release/tag name).
# config/ (which is gitignored so it doesn't result in the git state being
# dirty, which would prevent goreleaser from running), and then updates all
# of the image tags in those files to use $GIT_TAG.
rm -rf config/ && cp -r examples/ config/
# the "-i'.bak'" flag to sed is necessary, with no space between the flag
# and the value, for this to be compatible across BSD/OSX sed and GNU sed.
# remove the ".bak" files afterwards (they're copies of the originals).
find config/ -type f -name "*.yaml" | xargs sed -i'.bak' "s|gcr.io/heptio-images/ark:latest|gcr.io/heptio-images/ark:$GIT_SHA|g"
find config/ -type f -name "*.yaml" | xargs sed -i'.bak' "s|gcr.io/heptio-images/ark:latest|gcr.io/heptio-images/ark:$GIT_TAG|g"
find config/ -type f -name "*.bak" | xargs rm
find config/ -type f -name "*.yaml" | xargs sed -i'.bak' "s|gcr.io/heptio-images/fsfreeze-pause:latest|gcr.io/heptio-images/fsfreeze-pause:$GIT_SHA|g"
find config/ -type f -name "*.yaml" | xargs sed -i'.bak' "s|gcr.io/heptio-images/fsfreeze-pause:latest|gcr.io/heptio-images/fsfreeze-pause:$GIT_TAG|g"
find config/ -type f -name "*.bak" | xargs rm