From f38b7f48cc46215de1d23a4882b4b6f5ac85ad69 Mon Sep 17 00:00:00 2001 From: Valentin Rothberg Date: Sun, 17 Jan 2021 17:07:04 +0100 Subject: golangci-lint: install to ./bin Install golangci-lint to `./bin` instead of `$GOBIN`. The latter may be shared with other projects who require a different version. Having a shared version of golangci-lint is a reoccurring source of red herrings on my work station, so I think it's time to split them. Signed-off-by: Valentin Rothberg --- hack/golangci-lint.sh | 2 +- hack/install_golangci.sh | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hack/golangci-lint.sh b/hack/golangci-lint.sh index 50bf29bb8..5be750129 100755 --- a/hack/golangci-lint.sh +++ b/hack/golangci-lint.sh @@ -21,5 +21,5 @@ for i in tunnel abi; do echo Running golangci-lint for "$i" echo Build Tags "$i": ${BUILD_TAGS[$i]} echo Skipped directories "$i": ${SKIP_DIRS[$i]} - golangci-lint run --build-tags=${BUILD_TAGS[$i]} --skip-dirs=${SKIP_DIRS[$i]} "$@" + ./bin/golangci-lint run --build-tags=${BUILD_TAGS[$i]} --skip-dirs=${SKIP_DIRS[$i]} "$@" done diff --git a/hack/install_golangci.sh b/hack/install_golangci.sh index 617679751..a962df6e1 100755 --- a/hack/install_golangci.sh +++ b/hack/install_golangci.sh @@ -7,10 +7,10 @@ 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" -BIN="$GOBIN/golangci-lint" +BIN="./bin/golangci-lint" if [ ! -x "$BIN" ]; then - echo "Installing golangci-lint v$VERSION into $GOBIN" - curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $GOBIN v$VERSION + 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 else # Prints its own file name as part of --version output echo "Using existing $(dirname $BIN)/$($BIN --version)" -- cgit v1.2.3-54-g00ecf From caaaa2c5e18fe76d6b2ce8e7a700fa85212a3a3e Mon Sep 17 00:00:00 2001 From: Valentin Rothberg Date: Sun, 17 Jan 2021 17:15:23 +0100 Subject: hack/install_golangci.sh: smarter install Detect if the installed version of golangci-lint is outdated and update it if needed. Signed-off-by: Valentin Rothberg --- hack/install_golangci.sh | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/hack/install_golangci.sh b/hack/install_golangci.sh index a962df6e1..41cf90ddc 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" -BIN="./bin/golangci-lint" -if [ ! -x "$BIN" ]; then +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 + 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 -- cgit v1.2.3-54-g00ecf