summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValentin Rothberg <rothberg@redhat.com>2021-01-17 17:15:23 +0100
committerValentin Rothberg <rothberg@redhat.com>2021-01-17 17:15:23 +0100
commitcaaaa2c5e18fe76d6b2ce8e7a700fa85212a3a3e (patch)
tree20b52b6bb076dfb0ca2bc6df064ef3b40b6d2b44
parentf38b7f48cc46215de1d23a4882b4b6f5ac85ad69 (diff)
downloadpodman-caaaa2c5e18fe76d6b2ce8e7a700fa85212a3a3e.tar.gz
podman-caaaa2c5e18fe76d6b2ce8e7a700fa85212a3a3e.tar.bz2
podman-caaaa2c5e18fe76d6b2ce8e7a700fa85212a3a3e.zip
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 <rothberg@redhat.com>
-rwxr-xr-xhack/install_golangci.sh18
1 files 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