From c1d9a2ec8c5ac8e09439b1eb6845b69fe16728dc Mon Sep 17 00:00:00 2001 From: Piotr Idzik <65706193+vil02@users.noreply.github.com> Date: Mon, 8 Jul 2024 12:38:07 +0200 Subject: [PATCH 1/5] fix: get exact version of `stable` --- install_nim.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/install_nim.sh b/install_nim.sh index 16081cbe..45e3f839 100755 --- a/install_nim.sh +++ b/install_nim.sh @@ -57,6 +57,11 @@ while ((0 < $#)); do esac done +# get exact version of stable +if [[ "$nim_version" = "stable" ]]; then + nim_version=$(curl -sSL http://nim-lang.org/channels/stable) +fi + # build nim compiler for devel branch if [[ "$nim_version" = "devel" ]]; then if [[ "$os" = Windows ]]; then From b1f2425a4d4c2cf23be489cebf89edc2cbaeda9d Mon Sep 17 00:00:00 2001 From: Piotr Idzik <65706193+vil02@users.noreply.github.com> Date: Mon, 8 Jul 2024 12:56:11 +0200 Subject: [PATCH 2/5] style: remove old code resolving `stable` version --- install_nim.sh | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/install_nim.sh b/install_nim.sh index 45e3f839..89d0cd4a 100755 --- a/install_nim.sh +++ b/install_nim.sh @@ -2,16 +2,6 @@ set -eu -fetch_tags() { - # https://docs.github.com/ja/rest/git/refs?apiVersion=2022-11-28 - curl \ - -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${repo_token}" \ - -H "X-GitHub-Api-Version: 2022-11-28" https://api.github.com/repos/nim-lang/nim/git/refs/tags | - jq -r '.[].ref' | - sed -E 's:^refs/tags/v::' -} - info() { echo "$(date) [INFO] $*" } @@ -20,15 +10,6 @@ err() { echo "$(date) [ERR] $*" } -tag_regexp() { - version=$1 - echo "$version" | - sed -E \ - -e 's/\./\\./g' \ - -e 's/^/^/' \ - -e 's/x$//' -} - latest_version() { sort -V | tail -n 1 } @@ -79,13 +60,6 @@ if [[ "$nim_version" = "devel" ]]; then exit fi -# fetch latest tag if 'nim_version' was 'stable' -if [[ "$nim_version" = "stable" ]]; then - # NOTE: jq is pre-installed on github actions runner - nim_version="$(fetch_tags | latest_version)" -elif [[ "$nim_version" =~ ^[0-9]+\.[0-9]+\.x$ ]] || [[ "$nim_version" =~ ^[0-9]+\.x$ ]]; then - nim_version="$(fetch_tags | grep -E "$(tag_regexp "$nim_version")" | latest_version)" -fi info "install nim $nim_version" # download nim compiler From da84b4107f902bdfdf2dbcff19a27fe634981c8f Mon Sep 17 00:00:00 2001 From: Piotr Idzik <65706193+vil02@users.noreply.github.com> Date: Mon, 8 Jul 2024 13:02:08 +0200 Subject: [PATCH 3/5] style: use `https` Co-authored-by: jiro --- install_nim.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install_nim.sh b/install_nim.sh index 89d0cd4a..53dd4b2b 100755 --- a/install_nim.sh +++ b/install_nim.sh @@ -40,7 +40,7 @@ done # get exact version of stable if [[ "$nim_version" = "stable" ]]; then - nim_version=$(curl -sSL http://nim-lang.org/channels/stable) + nim_version=$(curl -sSL https://nim-lang.org/channels/stable) fi # build nim compiler for devel branch From 95e10e3e3360b18f1f546858a5024ef70b0db28b Mon Sep 17 00:00:00 2001 From: Piotr Idzik <65706193+vil02@users.noreply.github.com> Date: Mon, 8 Jul 2024 13:11:14 +0200 Subject: [PATCH 4/5] fix: hande versions like `1.6.x` or `2.x` --- install_nim.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/install_nim.sh b/install_nim.sh index 53dd4b2b..97164df1 100755 --- a/install_nim.sh +++ b/install_nim.sh @@ -2,6 +2,16 @@ set -eu +fetch_tags() { + # https://docs.github.com/ja/rest/git/refs?apiVersion=2022-11-28 + curl \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${repo_token}" \ + -H "X-GitHub-Api-Version: 2022-11-28" https://api.github.com/repos/nim-lang/nim/git/refs/tags | + jq -r '.[].ref' | + sed -E 's:^refs/tags/v::' +} + info() { echo "$(date) [INFO] $*" } @@ -10,6 +20,15 @@ err() { echo "$(date) [ERR] $*" } +tag_regexp() { + version=$1 + echo "$version" | + sed -E \ + -e 's/\./\\./g' \ + -e 's/^/^/' \ + -e 's/x$//' +} + latest_version() { sort -V | tail -n 1 } @@ -43,6 +62,10 @@ if [[ "$nim_version" = "stable" ]]; then nim_version=$(curl -sSL https://nim-lang.org/channels/stable) fi +if [[ "$nim_version" =~ ^[0-9]+\.[0-9]+\.x$ ]] || [[ "$nim_version" =~ ^[0-9]+\.x$ ]]; then + nim_version="$(fetch_tags | grep -E "$(tag_regexp "$nim_version")" | latest_version)" +fi + # build nim compiler for devel branch if [[ "$nim_version" = "devel" ]]; then if [[ "$os" = Windows ]]; then From 547c341767fc190fd23389a5365a73d2156cf037 Mon Sep 17 00:00:00 2001 From: Piotr Idzik <65706193+vil02@users.noreply.github.com> Date: Mon, 8 Jul 2024 13:16:12 +0200 Subject: [PATCH 5/5] style: make diff smaller --- install_nim.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/install_nim.sh b/install_nim.sh index 97164df1..cfecf5dd 100755 --- a/install_nim.sh +++ b/install_nim.sh @@ -57,15 +57,6 @@ while ((0 < $#)); do esac done -# get exact version of stable -if [[ "$nim_version" = "stable" ]]; then - nim_version=$(curl -sSL https://nim-lang.org/channels/stable) -fi - -if [[ "$nim_version" =~ ^[0-9]+\.[0-9]+\.x$ ]] || [[ "$nim_version" =~ ^[0-9]+\.x$ ]]; then - nim_version="$(fetch_tags | grep -E "$(tag_regexp "$nim_version")" | latest_version)" -fi - # build nim compiler for devel branch if [[ "$nim_version" = "devel" ]]; then if [[ "$os" = Windows ]]; then @@ -83,6 +74,15 @@ if [[ "$nim_version" = "devel" ]]; then exit fi +# get exact version of stable +if [[ "$nim_version" = "stable" ]]; then + nim_version=$(curl -sSL https://nim-lang.org/channels/stable) +fi + +if [[ "$nim_version" =~ ^[0-9]+\.[0-9]+\.x$ ]] || [[ "$nim_version" =~ ^[0-9]+\.x$ ]]; then + nim_version="$(fetch_tags | grep -E "$(tag_regexp "$nim_version")" | latest_version)" +fi + info "install nim $nim_version" # download nim compiler