From 59e5e83c2facd07624599fe6f0c67f8b68afe9e8 Mon Sep 17 00:00:00 2001 From: Jubilee Young <workingjubilee@gmail.com> Date: Thu, 19 Mar 2020 12:39:04 -0700 Subject: [PATCH] Fix fetch-configlet script Shamelessly dupes @coriolinus' fix: https://github.com/exercism/rust/pull/929 "Looks like Github has recently started returning non-uppercased HTTP headers, at least some of the time. This broke the script, which looked for a case-sensitive 'Location' header to find the newest version. We can see this problem in spurious build failures like this." "This fixes the script such that it no longer cares whether the initial L is capital or not, and if it breaks again in the future, it will give a more informative error." --- bin/fetch-configlet | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/bin/fetch-configlet b/bin/fetch-configlet index 7e51d1068..726ee0215 100755 --- a/bin/fetch-configlet +++ b/bin/fetch-configlet @@ -1,5 +1,7 @@ #!/usr/bin/env bash +set -e + LATEST=https://github.com/exercism/configlet/releases/latest OS=$( @@ -26,7 +28,12 @@ case $(uname -m) in echo 64bit;; esac) -VERSION="$(curl --head --silent $LATEST | awk -v FS=/ '/Location:/{print $NF}' | tr -d '\r')" -URL=https://github.com/exercism/configlet/releases/download/$VERSION/configlet-$OS-${ARCH}.tgz +VERSION="$(curl --head --silent $LATEST | awk -v FS=/ '/[lL]ocation:/{print $NF}' | tr -d '\r')" +if [ -z "$VERSION" ]; then + echo "Latest configlet release could not be determined; aborting" + exit 1 +fi + +URL="https://github.com/exercism/configlet/releases/download/$VERSION/configlet-$OS-${ARCH}.tgz" -curl -s --location "$URL" | tar xz -C bin/ +curl -sS --location $URL | tar xz -C bin/