mirror of
https://github.com/optim-enterprises-bv/vault.git
synced 2025-11-02 19:47:54 +00:00
Explicitly check go version in build (#3309)
* Explicitly check go version in build Several GH issues have been opened by people trying to use an older version of Go to build Vault (e.g., #3307 is the most recent). This adds an explicit check to the build to hopefully make it more clear to users in the future. * Also add checking for go patch version * Up minimum go version And fix a comment * Bump travis to go1.9.1
This commit is contained in:
committed by
Chris Hoffman
parent
e768b73403
commit
7e03a4aed7
@@ -7,7 +7,7 @@ services:
|
||||
- docker
|
||||
|
||||
go:
|
||||
- 1.9
|
||||
- 1.9.1
|
||||
|
||||
matrix:
|
||||
allow_failures:
|
||||
|
||||
3
Makefile
3
Makefile
@@ -7,6 +7,8 @@ EXTERNAL_TOOLS=\
|
||||
BUILD_TAGS?=vault
|
||||
GOFMT_FILES?=$$(find . -name '*.go' | grep -v vendor)
|
||||
|
||||
GO_VERSION_MIN=1.9.1
|
||||
|
||||
default: dev
|
||||
|
||||
# bin generates the releaseable binaries for Vault
|
||||
@@ -61,6 +63,7 @@ vet:
|
||||
# prep runs `go generate` to build the dynamically generated
|
||||
# source files.
|
||||
prep:
|
||||
@sh -c "'$(CURDIR)/scripts/goversioncheck.sh' '$(GO_VERSION_MIN)'"
|
||||
go generate $(go list ./... | grep -v /vendor/)
|
||||
cp .hooks/* .git/hooks/
|
||||
|
||||
|
||||
19
scripts/goversioncheck.sh
Executable file
19
scripts/goversioncheck.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
GO_VERSION_MIN=$1
|
||||
echo "==> Checking that build is using go version >= $1..."
|
||||
|
||||
GO_VERSION=$(go version | grep -o 'go[0-9]\+\.[0-9]\+\(\.[0-9]\+\)\?' | tr -d 'go')
|
||||
|
||||
|
||||
IFS="." read -r -a GO_VERSION_ARR <<< "$GO_VERSION"
|
||||
IFS="." read -r -a GO_VERSION_REQ <<< "$GO_VERSION_MIN"
|
||||
|
||||
if [[ ${GO_VERSION_ARR[0]} -lt ${GO_VERSION_REQ[0]} ||
|
||||
( ${GO_VERSION_ARR[0]} -eq ${GO_VERSION_REQ[0]} &&
|
||||
( ${GO_VERSION_ARR[1]} -lt ${GO_VERSION_REQ[1]} ||
|
||||
( ${GO_VERSION_ARR[1]} -eq ${GO_VERSION_REQ[1]} && ${GO_VERSION_ARR[2]} -lt ${GO_VERSION_REQ[2]} )))
|
||||
]]; then
|
||||
echo "Vault requires go $GO_VERSION_MIN to build; found $GO_VERSION."
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user