Skip to content

Commit

Permalink
Support older Gleam versions
Browse files Browse the repository at this point in the history
  • Loading branch information
lpil committed Sep 10, 2022
1 parent 6317554 commit 3fe9626
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 2 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/ubuntu.yml
Expand Up @@ -129,6 +129,9 @@ jobs:
- gleam-version: '0.23.0-rc1'
otp-version: false
os: 'ubuntu-latest'
- gleam-version: '0.22.0' # Version with Gleam's old archive naming convention
otp-version: '24'
os: 'ubuntu-latest'
steps:
- uses: actions/checkout@v2
- name: Use erlef/setup-beam
Expand Down
17 changes: 16 additions & 1 deletion dist/install-gleam.sh
Expand Up @@ -5,10 +5,25 @@ set -eo pipefail
cd "${RUNNER_TEMP}"

VSN=${1}
FILE_INPUT=gleam-${VSN}-x86_64-unknown-linux-musl.tar.gz
FILE_OUTPUT=gleam.tar.gz
DIR_FOR_BIN=.setup-beam/gleam

version_gt() {
test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"
}

uses_llvm_triplets() {
local version=$1
test "$version" = "nightly" || version_gt "$version" "0.22.1"
}

if uses_llvm_triplets "$version"
then
FILE_INPUT="gleam-${VSN}-x86_64-unknown-linux-musl.tar.gz"
else
FILE_INPUT="gleam-${VSN}-linux-amd64.tar.gz"
fi

wget -q -O "${FILE_OUTPUT}" "https://github.com/gleam-lang/gleam/releases/download/${VSN}/${FILE_INPUT}"
mkdir -p "${DIR_FOR_BIN}/bin"
tar zxf "${FILE_OUTPUT}" -C "${DIR_FOR_BIN}/bin"
Expand Down
17 changes: 16 additions & 1 deletion src/install-gleam.sh
Expand Up @@ -5,10 +5,25 @@ set -eo pipefail
cd "${RUNNER_TEMP}"

VSN=${1}
FILE_INPUT=gleam-${VSN}-x86_64-unknown-linux-musl.tar.gz
FILE_OUTPUT=gleam.tar.gz
DIR_FOR_BIN=.setup-beam/gleam

version_gt() {
test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"
}

uses_llvm_triplets() {
local version=$1
test "$version" = "nightly" || version_gt "$version" "0.22.1"
}

if uses_llvm_triplets "$version"
then
FILE_INPUT="gleam-${VSN}-x86_64-unknown-linux-musl.tar.gz"
else
FILE_INPUT="gleam-${VSN}-linux-amd64.tar.gz"
fi

wget -q -O "${FILE_OUTPUT}" "https://github.com/gleam-lang/gleam/releases/download/${VSN}/${FILE_INPUT}"
mkdir -p "${DIR_FOR_BIN}/bin"
tar zxf "${FILE_OUTPUT}" -C "${DIR_FOR_BIN}/bin"
Expand Down

0 comments on commit 3fe9626

Please sign in to comment.