mirror of
https://github.com/hashicorp/vault.git
synced 2025-11-29 22:51:31 +01: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:
parent
e768b73403
commit
7e03a4aed7
@ -7,7 +7,7 @@ services:
|
|||||||
- docker
|
- docker
|
||||||
|
|
||||||
go:
|
go:
|
||||||
- 1.9
|
- 1.9.1
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
allow_failures:
|
allow_failures:
|
||||||
|
|||||||
3
Makefile
3
Makefile
@ -7,6 +7,8 @@ EXTERNAL_TOOLS=\
|
|||||||
BUILD_TAGS?=vault
|
BUILD_TAGS?=vault
|
||||||
GOFMT_FILES?=$$(find . -name '*.go' | grep -v vendor)
|
GOFMT_FILES?=$$(find . -name '*.go' | grep -v vendor)
|
||||||
|
|
||||||
|
GO_VERSION_MIN=1.9.1
|
||||||
|
|
||||||
default: dev
|
default: dev
|
||||||
|
|
||||||
# bin generates the releaseable binaries for Vault
|
# bin generates the releaseable binaries for Vault
|
||||||
@ -61,6 +63,7 @@ vet:
|
|||||||
# prep runs `go generate` to build the dynamically generated
|
# prep runs `go generate` to build the dynamically generated
|
||||||
# source files.
|
# source files.
|
||||||
prep:
|
prep:
|
||||||
|
@sh -c "'$(CURDIR)/scripts/goversioncheck.sh' '$(GO_VERSION_MIN)'"
|
||||||
go generate $(go list ./... | grep -v /vendor/)
|
go generate $(go list ./... | grep -v /vendor/)
|
||||||
cp .hooks/* .git/hooks/
|
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
|
||||||
Loading…
x
Reference in New Issue
Block a user