diff --git a/hack/install_golangci.sh b/hack/install_golangci.sh index a962df6e11..41cf90ddc4 100755 --- a/hack/install_golangci.sh +++ b/hack/install_golangci.sh @@ -1,17 +1,23 @@ #!/usr/bin/env bash -set -e - die() { echo "${1:-No error message given} (from $(basename $0))"; exit 1; } [ -n "$VERSION" ] || die "\$VERSION is empty or undefined" -[ -n "$GOBIN" ] || die "\$GOBIN is empty or undefined" + +function install() { + echo "Installing golangci-lint v$VERSION into $BIN" + curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b ./bin v$VERSION +} BIN="./bin/golangci-lint" if [ ! -x "$BIN" ]; then - echo "Installing golangci-lint v$VERSION into $BIN" - curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b ./bin v$VERSION + install else # Prints its own file name as part of --version output - echo "Using existing $(dirname $BIN)/$($BIN --version)" + $BIN --version | grep "$VERSION" + if [ $? -eq 0 ]; then + echo "Using existing $(dirname $BIN)/$($BIN --version)" + else + install + fi fi