mirror of
https://github.com/containers/podman.git
synced 2025-07-02 16:57:24 +08:00
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>
This commit is contained in:
@ -1,17 +1,23 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
die() { echo "${1:-No error message given} (from $(basename $0))"; exit 1; }
|
die() { echo "${1:-No error message given} (from $(basename $0))"; exit 1; }
|
||||||
|
|
||||||
[ -n "$VERSION" ] || die "\$VERSION is empty or undefined"
|
[ -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"
|
BIN="./bin/golangci-lint"
|
||||||
if [ ! -x "$BIN" ]; then
|
if [ ! -x "$BIN" ]; then
|
||||||
echo "Installing golangci-lint v$VERSION into $BIN"
|
install
|
||||||
curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b ./bin v$VERSION
|
|
||||||
else
|
else
|
||||||
# Prints its own file name as part of --version output
|
# 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
|
fi
|
||||||
|
Reference in New Issue
Block a user