summaryrefslogtreecommitdiff
path: root/hack/install_golangci.sh
diff options
context:
space:
mode:
authorChris Evich <cevich@redhat.com>2020-01-31 12:50:27 -0500
committerChris Evich <cevich@redhat.com>2020-03-02 08:50:54 -0500
commitd0782e7839888d9eecdc97e8e885d5f787f5b8a7 (patch)
tree3611ed6dffdab3013c47a92c2d1dca3a7746e70b /hack/install_golangci.sh
parent275e9b855dd0a384a283174912c08f3f097101b5 (diff)
downloadpodman-d0782e7839888d9eecdc97e8e885d5f787f5b8a7.tar.gz
podman-d0782e7839888d9eecdc97e8e885d5f787f5b8a7.tar.bz2
podman-d0782e7839888d9eecdc97e8e885d5f787f5b8a7.zip
Cirrus: Fix gate image & false-positive exits
A number of scripts relating to tooling used and the gate container image were not exiting upon errors as intended. Coupled with external service unavailability (i.e. downloading golangci-lint) was observed to cause difficult to debug failures. This change corrects the scripts inside/out of the gate container as well as fixes many golang related path consistency problems vs other CI jobs. After this change, all jobs use consistent path names reducing the number of special-case overrides needed. Lastly, I also made a documentation-pass, updating/correcting as needed, including documenting a likely local validation-failure mode, related to `$EPOCH_TEST_COMMIT`. This is dependent on the developers git environment, so documentation is the only possible "fix". Signed-off-by: Chris Evich <cevich@redhat.com>
Diffstat (limited to 'hack/install_golangci.sh')
-rwxr-xr-xhack/install_golangci.sh24
1 files changed, 12 insertions, 12 deletions
diff --git a/hack/install_golangci.sh b/hack/install_golangci.sh
index 430685a71..6ef8ce823 100755
--- a/hack/install_golangci.sh
+++ b/hack/install_golangci.sh
@@ -1,17 +1,17 @@
#!/bin/bash
-if [ -z "$VERSION" ]; then
- echo \$VERSION is empty
- exit 1
-fi
+set -e
-if [ -z "$GOBIN" ]; then
- echo \$GOBIN is empty
- exit 1
-fi
+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"
-$GOBIN/golangci-lint --version | grep $VERSION
-if [ $? -ne 0 ]; then
- set -e
- curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $GOBIN v$VERSION
+BIN="$GOBIN/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
+else
+ # Prints it's own file name as part of --verison output
+ echo "Using existing $(dirname $BIN)/$($BIN --version)"
fi