From 7cb03fb5628f3decb9ab547c1f71ca6a21a31ee8 Mon Sep 17 00:00:00 2001 From: Arief Hidayat Date: Thu, 21 Mar 2019 17:48:18 +0800 Subject: [PATCH 1/2] fix(script): follow redirected URL of github latest release When checking version and desired version is not set, we follow redirected URL of github latest release to get the latest tag instead of trying to get the tag value from html content. Closes #5480 Signed-off-by: Arief Hidayat --- scripts/get | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/scripts/get b/scripts/get index bc13039e2..4daf504da 100755 --- a/scripts/get +++ b/scripts/get @@ -78,16 +78,31 @@ verifySupported() { # checkDesiredVersion checks if the desired version is available. checkDesiredVersion() { # Use the GitHub releases webpage for the project to find the desired version for this project. - local release_url="https://github.com/helm/helm/releases/${DESIRED_VERSION:-latest}" + local latest_release_url="https://github.com/helm/helm/releases/latest" + local release_url + if [ "x$DESIRED_VERSION" == "x" ]; then + if type "curl" > /dev/null; then + release_url=$(curl -Ls -o /dev/null -w %{url_effective} $latest_release_url) + elif type "wget" > /dev/null; then + release_url=$(wget $latest_release_url --server-response -O /dev/null 2>&1 | awk '/^ Location: /{DEST=$2} END{ print DEST}') + fi + else + release_url="https://github.com/helm/helm/releases/${DESIRED_VERSION}" + fi + + local status_code if type "curl" > /dev/null; then - TAG=$(curl -SsL $release_url | awk '/\/tag\//' | grep -v no-underline | grep " /dev/null; then - TAG=$(wget -q -O - $release_url | awk '/\/tag\//' | grep -v no-underline | grep "&1 | grep "HTTP/" | awk '{print $2}') fi - if [ "x$TAG" == "x" ]; then + + if [[ "$status_code" -ne 200 ]] ; then echo "Cannot determine ${DESIRED_VERSION} tag." exit 1 fi + + TAG=$(echo $release_url | grep -oE "[^/]+$" ) } # checkHelmInstalledVersion checks which version of helm is installed and From 65193adc10bc50edcf96499b5321c7aab46b796c Mon Sep 17 00:00:00 2001 From: Arief Hidayat Date: Fri, 22 Mar 2019 22:50:35 +0700 Subject: [PATCH 2/2] fix(script): remove check on release URL Closes #5480 Signed-off-by: Arief Hidayat --- scripts/get | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/scripts/get b/scripts/get index 4daf504da..5479abddb 100755 --- a/scripts/get +++ b/scripts/get @@ -77,32 +77,17 @@ verifySupported() { # checkDesiredVersion checks if the desired version is available. checkDesiredVersion() { - # Use the GitHub releases webpage for the project to find the desired version for this project. - local latest_release_url="https://github.com/helm/helm/releases/latest" - local release_url if [ "x$DESIRED_VERSION" == "x" ]; then + # Get tag from release URL + local latest_release_url="https://github.com/helm/helm/releases/latest" if type "curl" > /dev/null; then - release_url=$(curl -Ls -o /dev/null -w %{url_effective} $latest_release_url) + TAG=$(curl -Ls -o /dev/null -w %{url_effective} $latest_release_url | grep -oE "[^/]+$" ) elif type "wget" > /dev/null; then - release_url=$(wget $latest_release_url --server-response -O /dev/null 2>&1 | awk '/^ Location: /{DEST=$2} END{ print DEST}') + TAG=$(wget $latest_release_url --server-response -O /dev/null 2>&1 | awk '/^ Location: /{DEST=$2} END{ print DEST}' | grep -oE "[^/]+$") fi else - release_url="https://github.com/helm/helm/releases/${DESIRED_VERSION}" + TAG=$DESIRED_VERSION fi - - local status_code - if type "curl" > /dev/null; then - status_code=$(curl --write-out %{http_code} --silent --output /dev/null $release_url) - elif type "wget" > /dev/null; then - status_code=$(wget --spider -S $release_url -O /dev/null 2>&1 | grep "HTTP/" | awk '{print $2}') - fi - - if [[ "$status_code" -ne 200 ]] ; then - echo "Cannot determine ${DESIRED_VERSION} tag." - exit 1 - fi - - TAG=$(echo $release_url | grep -oE "[^/]+$" ) } # checkHelmInstalledVersion checks which version of helm is installed and