Add environment variables (#94)

* Allow for Windows'22 container

(win22 is just a guess, at this moment)

* Add environment variables

* Clean up code
This commit is contained in:
Paulo F. Oliveira
2022-02-22 11:05:11 +00:00
committed by GitHub
parent b28629c519
commit 2494d08aa0
19 changed files with 182 additions and 82 deletions
+29
View File
@@ -149,3 +149,32 @@ jobs:
cd test-projects/gleam_gleam cd test-projects/gleam_gleam
gleam test gleam test
if: ${{ matrix.combo.gleam-version && matrix.combo.otp-version && !matrix.combo.rebar3-version }} if: ${{ matrix.combo.gleam-version && matrix.combo.otp-version && !matrix.combo.rebar3-version }}
environment_variables:
name: Environment variables
runs-on: ${{matrix.combo.os}}
strategy:
fail-fast: false
matrix:
combo:
- otp-version: '24'
elixir-version: 'v1.12'
gleam-version: '0.19'
rebar3-version: 'nightly'
os: 'ubuntu-latest'
steps:
- uses: actions/checkout@v2
- name: Use erlef/setup-beam
id: setup-beam
uses: ./
with:
otp-version: ${{matrix.combo.otp-version}}
elixir-version: ${{matrix.combo.elixir-version}}
gleam-version: ${{matrix.combo.gleam-version}}
rebar3-version: ${{matrix.combo.rebar3-version}}
- run: env
- name: List environment variables
run: |
echo "${{env.INSTALL_DIR_FOR_ELIXIR}}"
echo "${{env.INSTALL_DIR_FOR_GLEAM}}"
echo "${{env.INSTALL_DIR_FOR_OTP}}"
echo "${{env.INSTALL_DIR_FOR_REBAR3}}"
+29
View File
@@ -84,3 +84,32 @@ jobs:
cd test-projects/gleam_rebar3 cd test-projects/gleam_rebar3
rebar3 eunit rebar3 eunit
if: ${{matrix.combo.gleam-version}} if: ${{matrix.combo.gleam-version}}
environment_variables:
name: Environment variables
runs-on: ${{matrix.combo.os}}
strategy:
fail-fast: false
matrix:
combo:
- otp-version: '24'
elixir-version: 'v1.12'
gleam-version: '0.19'
rebar3-version: 'nightly'
os: 'windows-latest'
steps:
- uses: actions/checkout@v2
- name: Use erlef/setup-beam
id: setup-beam
uses: ./
with:
otp-version: ${{matrix.combo.otp-version}}
elixir-version: ${{matrix.combo.elixir-version}}
gleam-version: ${{matrix.combo.gleam-version}}
rebar3-version: ${{matrix.combo.rebar3-version}}
- run: env
- name: List environment variables
run: |
echo "${{env.INSTALL_DIR_FOR_ELIXIR}}"
echo "${{env.INSTALL_DIR_FOR_GLEAM}}"
echo "${{env.INSTALL_DIR_FOR_OTP}}"
echo "${{env.INSTALL_DIR_FOR_REBAR3}}"
+10
View File
@@ -187,6 +187,16 @@ jobs:
**Note**: the `otp-version: false` input is only applicable when installing Gleam. **Note**: the `otp-version: false` input is only applicable when installing Gleam.
## Environment variables
Base installation folders (useful for e.g. fetching headers for NIFs) are available in the following
environment variables:
- `INSTALL_DIR_FOR_ELIXIR`: base folder for Erlang/OTP
- `INSTALL_DIR_FOR_GLEAM`: base folder for Elixir
- `INSTALL_DIR_FOR_OTP`: base folder for Gleam
- `INSTALL_DIR_FOR_REBAR3`: base folder for `rebar3`
## Elixir Problem Matchers ## Elixir Problem Matchers
The Elixir Problem Matchers in this repository are adapted from The Elixir Problem Matchers in this repository are adapted from
+7 -5
View File
@@ -1,19 +1,21 @@
param([Parameter(Mandatory=$true)][string]$VSN) param([Parameter(Mandatory=$true)][string]${VSN})
$ErrorActionPreference="Stop" $ErrorActionPreference="Stop"
Set-Location $Env:RUNNER_TEMP Set-Location ${Env:RUNNER_TEMP}
$FILE_INPUT="${VSN}.zip" $FILE_INPUT="${VSN}.zip"
$FILE_OUTPUT="elixir.zip" $FILE_OUTPUT="elixir.zip"
$DIR_FOR_BIN=".setup-beam/elixir" $DIR_FOR_BIN=".setup-beam/elixir"
$ProgressPreference="SilentlyContinue" $ProgressPreference="SilentlyContinue"
Invoke-WebRequest "https://repo.hex.pm/builds/elixir/${FILE_INPUT}" -OutFile "$FILE_OUTPUT" Invoke-WebRequest "https://repo.hex.pm/builds/elixir/${FILE_INPUT}" -OutFile "${FILE_OUTPUT}"
$ProgressPreference="Continue" $ProgressPreference="Continue"
New-Item "$DIR_FOR_BIN" -ItemType Directory | Out-Null New-Item "${DIR_FOR_BIN}" -ItemType Directory | Out-Null
$ProgressPreference="SilentlyContinue" $ProgressPreference="SilentlyContinue"
Expand-Archive -DestinationPath "${DIR_FOR_BIN}" -Path "${FILE_OUTPUT}" Expand-Archive -DestinationPath "${DIR_FOR_BIN}" -Path "${FILE_OUTPUT}"
$ProgressPreference="Continue" $ProgressPreference="Continue"
Write-Output "Installed Elixir version follows" Write-Output "Installed Elixir version follows"
& "$DIR_FOR_BIN/bin/elixir" "-v" | Write-Output & "${DIR_FOR_BIN}/bin/elixir" "-v" | Write-Output
"INSTALL_DIR_FOR_ELIXIR=${Env:RUNNER_TEMP}/${DIR_FOR_BIN}" | Out-File -FilePath ${Env:GITHUB_ENV} -Encoding utf8 -Append
+3 -1
View File
@@ -2,7 +2,7 @@
set -eo pipefail set -eo pipefail
cd "$RUNNER_TEMP" cd "${RUNNER_TEMP}"
VSN=${1} VSN=${1}
FILE_INPUT="${VSN}.zip" FILE_INPUT="${VSN}.zip"
@@ -14,3 +14,5 @@ mkdir -p "${DIR_FOR_BIN}"
unzip -q -d "${DIR_FOR_BIN}" "${FILE_OUTPUT}" unzip -q -d "${DIR_FOR_BIN}" "${FILE_OUTPUT}"
echo "Installed Elixir version follows" echo "Installed Elixir version follows"
${DIR_FOR_BIN}/bin/elixir -v ${DIR_FOR_BIN}/bin/elixir -v
echo "INSTALL_DIR_FOR_ELIXIR=${RUNNER_TEMP}/${DIR_FOR_BIN}" >> "${GITHUB_ENV}"
+9 -7
View File
@@ -1,19 +1,21 @@
param([Parameter(Mandatory=$true)][string]$VSN) param([Parameter(Mandatory=$true)][string]${VSN})
$ErrorActionPreference="Stop" $ErrorActionPreference="Stop"
Set-Location $Env:RUNNER_TEMP Set-Location ${Env:RUNNER_TEMP}
$FILE_INPUT="gleam-${VSN}-windows-64bit.zip" $FILE_INPUT="gleam-${VSN}-windows-64bit.zip"
$FILE_OUTPUT="gleam.zip" $FILE_OUTPUT="gleam.zip"
$DIR_FOR_BIN=".setup-beam/gleam/bin" $DIR_FOR_BIN=".setup-beam/gleam"
$ProgressPreference="SilentlyContinue" $ProgressPreference="SilentlyContinue"
Invoke-WebRequest "https://github.com/gleam-lang/gleam/releases/download/${VSN}/${FILE_INPUT}" -OutFile "$FILE_OUTPUT" Invoke-WebRequest "https://github.com/gleam-lang/gleam/releases/download/${VSN}/${FILE_INPUT}" -OutFile "${FILE_OUTPUT}"
$ProgressPreference="Continue" $ProgressPreference="Continue"
New-Item "$DIR_FOR_BIN" -ItemType Directory | Out-Null New-Item "${DIR_FOR_BIN}/bin" -ItemType Directory | Out-Null
$ProgressPreference="SilentlyContinue" $ProgressPreference="SilentlyContinue"
Expand-Archive -DestinationPath "${DIR_FOR_BIN}" -Path "${FILE_OUTPUT}" Expand-Archive -DestinationPath "${DIR_FOR_BIN}/bin" -Path "${FILE_OUTPUT}"
$ProgressPreference="Continue" $ProgressPreference="Continue"
Write-Output "Installed Gleam version follows" Write-Output "Installed Gleam version follows"
& "$DIR_FOR_BIN/gleam" "--version" | Write-Output & "${DIR_FOR_BIN}/bin/gleam" "--version" | Write-Output
"INSTALL_DIR_FOR_GLEAM=${Env:RUNNER_TEMP}/${DIR_FOR_BIN}" | Out-File -FilePath ${Env:GITHUB_ENV} -Encoding utf8 -Append
+7 -5
View File
@@ -2,16 +2,18 @@
set -eo pipefail set -eo pipefail
cd "$RUNNER_TEMP" cd "${RUNNER_TEMP}"
VSN=${1} VSN=${1}
FILE_INPUT=gleam-${VSN}-linux-amd64.tar.gz FILE_INPUT=gleam-${VSN}-linux-amd64.tar.gz
FILE_OUTPUT=gleam.tar.gz FILE_OUTPUT=gleam.tar.gz
DIR_FOR_BIN=.setup-beam/gleam/bin DIR_FOR_BIN=.setup-beam/gleam
wget -q -O "${FILE_OUTPUT}" "https://github.com/gleam-lang/gleam/releases/download/${VSN}/${FILE_INPUT}" wget -q -O "${FILE_OUTPUT}" "https://github.com/gleam-lang/gleam/releases/download/${VSN}/${FILE_INPUT}"
mkdir -p "${DIR_FOR_BIN}" mkdir -p "${DIR_FOR_BIN}/bin"
tar zxf "${FILE_OUTPUT}" -C "${DIR_FOR_BIN}" tar zxf "${FILE_OUTPUT}" -C "${DIR_FOR_BIN}/bin"
echo "Installed Gleam version follows" echo "Installed Gleam version follows"
${DIR_FOR_BIN}/gleam --version ${DIR_FOR_BIN}/bin/gleam --version
echo "INSTALL_DIR_FOR_GLEAM=${RUNNER_TEMP}/${DIR_FOR_BIN}" >> "${GITHUB_ENV}"
+11 -9
View File
@@ -1,20 +1,22 @@
param([Parameter(Mandatory=$true)][string]$VSN) param([Parameter(Mandatory=$true)][string]${VSN})
$ErrorActionPreference="Stop" $ErrorActionPreference="Stop"
Set-Location $Env:RUNNER_TEMP Set-Location ${Env:RUNNER_TEMP}
$FILE_OUTPUT="otp.exe" $FILE_OUTPUT="otp.exe"
$DIR_FOR_BIN=".setup-beam/otp" $DIR_FOR_BIN=".setup-beam/otp"
$ProgressPreference="SilentlyContinue" $ProgressPreference="SilentlyContinue"
Invoke-WebRequest "https://github.com/erlang/otp/releases/download/OTP-$VSN/otp_win64_$VSN.exe" -OutFile "$FILE_OUTPUT" Invoke-WebRequest "https://github.com/erlang/otp/releases/download/OTP-${VSN}/otp_win64_${VSN}.exe" -OutFile "${FILE_OUTPUT}"
$ProgressPreference="Continue" $ProgressPreference="Continue"
New-Item "$DIR_FOR_BIN" -ItemType Directory | Out-Null New-Item "${DIR_FOR_BIN}" -ItemType Directory | Out-Null
Move-Item "$FILE_OUTPUT" "$DIR_FOR_BIN" Move-Item "${FILE_OUTPUT}" "${DIR_FOR_BIN}"
Start-Process "./$DIR_FOR_BIN/$FILE_OUTPUT" /S -Wait Start-Process "./${DIR_FOR_BIN}/${FILE_OUTPUT}" /S -Wait
$ErlExec = Get-ChildItem -Path "C:/Program Files/" -Recurse -Depth 2 -Filter 'erl.exe' -Name | ForEach-Object { Write-Output "C:/Program Files/$_" } $ErlExec = Get-ChildItem -Path "C:/Program Files/" -Recurse -Depth 2 -Filter 'erl.exe' -Name | ForEach-Object { Write-Output "C:/Program Files/$_" }
$ErlPath = Split-Path -Path "$ErlExec" $ErlPath = Split-Path -Path "${ErlExec}"
Write-Output "$ErlPath" | Out-File -FilePath otp_path.txt -Encoding utf8 -NoNewline Write-Output "${ErlPath}" | Out-File -FilePath otp_path.txt -Encoding utf8 -NoNewline
Write-Output "Installed Erlang/OTP version follows" Write-Output "Installed Erlang/OTP version follows"
& "$ErlPath/erl.exe" "+V" | Write-Output & "${ErlPath}/erl.exe" "+V" | Write-Output
"INSTALL_DIR_FOR_OTP="+(Get-Item ${ErlPath}).parent.FullName | Out-File -FilePath ${Env:GITHUB_ENV} -Encoding utf8 -Append
+3 -1
View File
@@ -2,7 +2,7 @@
set -eo pipefail set -eo pipefail
cd "$RUNNER_TEMP" cd "${RUNNER_TEMP}"
OS=${1} OS=${1}
VSN=${2} VSN=${2}
@@ -16,3 +16,5 @@ tar zxf "${FILE_OUTPUT}" -C "${DIR_FOR_BIN}" --strip-components=1
"${DIR_FOR_BIN}/Install" -minimal "$(pwd)/${DIR_FOR_BIN}" "${DIR_FOR_BIN}/Install" -minimal "$(pwd)/${DIR_FOR_BIN}"
echo "Installed Erlang/OTP version follows" echo "Installed Erlang/OTP version follows"
${DIR_FOR_BIN}/bin/erl -version ${DIR_FOR_BIN}/bin/erl -version
echo "INSTALL_DIR_FOR_OTP=${RUNNER_TEMP}/${DIR_FOR_BIN}" >> "${GITHUB_ENV}"
+13 -11
View File
@@ -1,8 +1,8 @@
param([Parameter(Mandatory=$true)][string]$VSN) param([Parameter(Mandatory=$true)][string]${VSN})
$ErrorActionPreference="Stop" $ErrorActionPreference="Stop"
Set-Location $Env:RUNNER_TEMP Set-Location ${Env:RUNNER_TEMP}
$FILE_INPUT="rebar3" $FILE_INPUT="rebar3"
$FILE_OUTPUT="rebar3" $FILE_OUTPUT="rebar3"
@@ -12,17 +12,19 @@ $DIR_FOR_BIN=".setup-beam/rebar3"
$ProgressPreference="SilentlyContinue" $ProgressPreference="SilentlyContinue"
$REBAR3_TARGET="https://github.com/erlang/rebar3/releases/download/${VSN}/${FILE_INPUT}" $REBAR3_TARGET="https://github.com/erlang/rebar3/releases/download/${VSN}/${FILE_INPUT}"
$REBAR3_NIGHTLY="" $REBAR3_NIGHTLY=""
If ( $VSN -eq "nightly" ) If ( ${VSN} -eq "nightly" )
{ {
$REBAR3_TARGET="https://s3.amazonaws.com/rebar3-nightly/rebar3" $REBAR3_TARGET="https://s3.amazonaws.com/rebar3-nightly/rebar3"
$REBAR3_NIGHTLY=" (from nightly build)" $REBAR3_NIGHTLY=" (from nightly build)"
} }
Invoke-WebRequest "$REBAR3_TARGET" -OutFile "$FILE_OUTPUT" Invoke-WebRequest "${REBAR3_TARGET}" -OutFile "${FILE_OUTPUT}"
$ProgressPreference="Continue" $ProgressPreference="Continue"
New-Item "$DIR_FOR_BIN/bin" -ItemType Directory | Out-Null New-Item "${DIR_FOR_BIN}/bin" -ItemType Directory | Out-Null
Move-Item "$FILE_OUTPUT" "$DIR_FOR_BIN/bin" Move-Item "${FILE_OUTPUT}" "${DIR_FOR_BIN}/bin"
Write-Output "& escript.exe $PWD/$DIR_FOR_BIN/bin/$FILE_OUTPUT `$args" | Out-File -FilePath "$FILE_OUTPUT_PS1" -Encoding utf8 -Append Write-Output "& escript.exe ${PWD}/${DIR_FOR_BIN}/bin/${FILE_OUTPUT} `${args}" | Out-File -FilePath "${FILE_OUTPUT_PS1}" -Encoding utf8 -Append
type $FILE_OUTPUT_PS1 type ${FILE_OUTPUT_PS1}
Move-Item "$FILE_OUTPUT_PS1" "$DIR_FOR_BIN/bin" Move-Item "${FILE_OUTPUT_PS1}" "${DIR_FOR_BIN}/bin"
Write-Output "Installed rebar3 version$REBAR3_NIGHTLY follows" Write-Output "Installed rebar3 version${REBAR3_NIGHTLY} follows"
& "$DIR_FOR_BIN/bin/rebar3" "version" | Write-Output & "${DIR_FOR_BIN}/bin/rebar3" "version" | Write-Output
"INSTALL_DIR_FOR_REBAR3=${Env:RUNNER_TEMP}/${DIR_FOR_BIN}" | Out-File -FilePath ${Env:GITHUB_ENV} -Encoding utf8 -Append
+4 -2
View File
@@ -2,7 +2,7 @@
set -eo pipefail set -eo pipefail
cd "$RUNNER_TEMP" cd "${RUNNER_TEMP}"
VSN=${1} VSN=${1}
FILE_INPUT=rebar3 FILE_INPUT=rebar3
@@ -19,5 +19,7 @@ wget -q -O "${FILE_OUTPUT}" "${REBAR3_TARGET}"
mkdir -p "${DIR_FOR_BIN}/bin" mkdir -p "${DIR_FOR_BIN}/bin"
chmod +x "${FILE_OUTPUT}" chmod +x "${FILE_OUTPUT}"
mv "${FILE_OUTPUT}" "${DIR_FOR_BIN}/bin" mv "${FILE_OUTPUT}" "${DIR_FOR_BIN}/bin"
echo "Installed rebar3 version$REBAR3_NIGHTLY follows" echo "Installed rebar3 version${REBAR3_NIGHTLY} follows"
${DIR_FOR_BIN}/bin/rebar3 version ${DIR_FOR_BIN}/bin/rebar3 version
echo "INSTALL_DIR_FOR_REBAR3=${RUNNER_TEMP}/${DIR_FOR_BIN}" >> "${GITHUB_ENV}"
+7 -5
View File
@@ -1,19 +1,21 @@
param([Parameter(Mandatory=$true)][string]$VSN) param([Parameter(Mandatory=$true)][string]${VSN})
$ErrorActionPreference="Stop" $ErrorActionPreference="Stop"
Set-Location $Env:RUNNER_TEMP Set-Location ${Env:RUNNER_TEMP}
$FILE_INPUT="${VSN}.zip" $FILE_INPUT="${VSN}.zip"
$FILE_OUTPUT="elixir.zip" $FILE_OUTPUT="elixir.zip"
$DIR_FOR_BIN=".setup-beam/elixir" $DIR_FOR_BIN=".setup-beam/elixir"
$ProgressPreference="SilentlyContinue" $ProgressPreference="SilentlyContinue"
Invoke-WebRequest "https://repo.hex.pm/builds/elixir/${FILE_INPUT}" -OutFile "$FILE_OUTPUT" Invoke-WebRequest "https://repo.hex.pm/builds/elixir/${FILE_INPUT}" -OutFile "${FILE_OUTPUT}"
$ProgressPreference="Continue" $ProgressPreference="Continue"
New-Item "$DIR_FOR_BIN" -ItemType Directory | Out-Null New-Item "${DIR_FOR_BIN}" -ItemType Directory | Out-Null
$ProgressPreference="SilentlyContinue" $ProgressPreference="SilentlyContinue"
Expand-Archive -DestinationPath "${DIR_FOR_BIN}" -Path "${FILE_OUTPUT}" Expand-Archive -DestinationPath "${DIR_FOR_BIN}" -Path "${FILE_OUTPUT}"
$ProgressPreference="Continue" $ProgressPreference="Continue"
Write-Output "Installed Elixir version follows" Write-Output "Installed Elixir version follows"
& "$DIR_FOR_BIN/bin/elixir" "-v" | Write-Output & "${DIR_FOR_BIN}/bin/elixir" "-v" | Write-Output
"INSTALL_DIR_FOR_ELIXIR=${Env:RUNNER_TEMP}/${DIR_FOR_BIN}" | Out-File -FilePath ${Env:GITHUB_ENV} -Encoding utf8 -Append
+3 -1
View File
@@ -2,7 +2,7 @@
set -eo pipefail set -eo pipefail
cd "$RUNNER_TEMP" cd "${RUNNER_TEMP}"
VSN=${1} VSN=${1}
FILE_INPUT="${VSN}.zip" FILE_INPUT="${VSN}.zip"
@@ -14,3 +14,5 @@ mkdir -p "${DIR_FOR_BIN}"
unzip -q -d "${DIR_FOR_BIN}" "${FILE_OUTPUT}" unzip -q -d "${DIR_FOR_BIN}" "${FILE_OUTPUT}"
echo "Installed Elixir version follows" echo "Installed Elixir version follows"
${DIR_FOR_BIN}/bin/elixir -v ${DIR_FOR_BIN}/bin/elixir -v
echo "INSTALL_DIR_FOR_ELIXIR=${RUNNER_TEMP}/${DIR_FOR_BIN}" >> "${GITHUB_ENV}"
+9 -7
View File
@@ -1,19 +1,21 @@
param([Parameter(Mandatory=$true)][string]$VSN) param([Parameter(Mandatory=$true)][string]${VSN})
$ErrorActionPreference="Stop" $ErrorActionPreference="Stop"
Set-Location $Env:RUNNER_TEMP Set-Location ${Env:RUNNER_TEMP}
$FILE_INPUT="gleam-${VSN}-windows-64bit.zip" $FILE_INPUT="gleam-${VSN}-windows-64bit.zip"
$FILE_OUTPUT="gleam.zip" $FILE_OUTPUT="gleam.zip"
$DIR_FOR_BIN=".setup-beam/gleam/bin" $DIR_FOR_BIN=".setup-beam/gleam"
$ProgressPreference="SilentlyContinue" $ProgressPreference="SilentlyContinue"
Invoke-WebRequest "https://github.com/gleam-lang/gleam/releases/download/${VSN}/${FILE_INPUT}" -OutFile "$FILE_OUTPUT" Invoke-WebRequest "https://github.com/gleam-lang/gleam/releases/download/${VSN}/${FILE_INPUT}" -OutFile "${FILE_OUTPUT}"
$ProgressPreference="Continue" $ProgressPreference="Continue"
New-Item "$DIR_FOR_BIN" -ItemType Directory | Out-Null New-Item "${DIR_FOR_BIN}/bin" -ItemType Directory | Out-Null
$ProgressPreference="SilentlyContinue" $ProgressPreference="SilentlyContinue"
Expand-Archive -DestinationPath "${DIR_FOR_BIN}" -Path "${FILE_OUTPUT}" Expand-Archive -DestinationPath "${DIR_FOR_BIN}/bin" -Path "${FILE_OUTPUT}"
$ProgressPreference="Continue" $ProgressPreference="Continue"
Write-Output "Installed Gleam version follows" Write-Output "Installed Gleam version follows"
& "$DIR_FOR_BIN/gleam" "--version" | Write-Output & "${DIR_FOR_BIN}/bin/gleam" "--version" | Write-Output
"INSTALL_DIR_FOR_GLEAM=${Env:RUNNER_TEMP}/${DIR_FOR_BIN}" | Out-File -FilePath ${Env:GITHUB_ENV} -Encoding utf8 -Append
+7 -5
View File
@@ -2,16 +2,18 @@
set -eo pipefail set -eo pipefail
cd "$RUNNER_TEMP" cd "${RUNNER_TEMP}"
VSN=${1} VSN=${1}
FILE_INPUT=gleam-${VSN}-linux-amd64.tar.gz FILE_INPUT=gleam-${VSN}-linux-amd64.tar.gz
FILE_OUTPUT=gleam.tar.gz FILE_OUTPUT=gleam.tar.gz
DIR_FOR_BIN=.setup-beam/gleam/bin DIR_FOR_BIN=.setup-beam/gleam
wget -q -O "${FILE_OUTPUT}" "https://github.com/gleam-lang/gleam/releases/download/${VSN}/${FILE_INPUT}" wget -q -O "${FILE_OUTPUT}" "https://github.com/gleam-lang/gleam/releases/download/${VSN}/${FILE_INPUT}"
mkdir -p "${DIR_FOR_BIN}" mkdir -p "${DIR_FOR_BIN}/bin"
tar zxf "${FILE_OUTPUT}" -C "${DIR_FOR_BIN}" tar zxf "${FILE_OUTPUT}" -C "${DIR_FOR_BIN}/bin"
echo "Installed Gleam version follows" echo "Installed Gleam version follows"
${DIR_FOR_BIN}/gleam --version ${DIR_FOR_BIN}/bin/gleam --version
echo "INSTALL_DIR_FOR_GLEAM=${RUNNER_TEMP}/${DIR_FOR_BIN}" >> "${GITHUB_ENV}"
+11 -9
View File
@@ -1,20 +1,22 @@
param([Parameter(Mandatory=$true)][string]$VSN) param([Parameter(Mandatory=$true)][string]${VSN})
$ErrorActionPreference="Stop" $ErrorActionPreference="Stop"
Set-Location $Env:RUNNER_TEMP Set-Location ${Env:RUNNER_TEMP}
$FILE_OUTPUT="otp.exe" $FILE_OUTPUT="otp.exe"
$DIR_FOR_BIN=".setup-beam/otp" $DIR_FOR_BIN=".setup-beam/otp"
$ProgressPreference="SilentlyContinue" $ProgressPreference="SilentlyContinue"
Invoke-WebRequest "https://github.com/erlang/otp/releases/download/OTP-$VSN/otp_win64_$VSN.exe" -OutFile "$FILE_OUTPUT" Invoke-WebRequest "https://github.com/erlang/otp/releases/download/OTP-${VSN}/otp_win64_${VSN}.exe" -OutFile "${FILE_OUTPUT}"
$ProgressPreference="Continue" $ProgressPreference="Continue"
New-Item "$DIR_FOR_BIN" -ItemType Directory | Out-Null New-Item "${DIR_FOR_BIN}" -ItemType Directory | Out-Null
Move-Item "$FILE_OUTPUT" "$DIR_FOR_BIN" Move-Item "${FILE_OUTPUT}" "${DIR_FOR_BIN}"
Start-Process "./$DIR_FOR_BIN/$FILE_OUTPUT" /S -Wait Start-Process "./${DIR_FOR_BIN}/${FILE_OUTPUT}" /S -Wait
$ErlExec = Get-ChildItem -Path "C:/Program Files/" -Recurse -Depth 2 -Filter 'erl.exe' -Name | ForEach-Object { Write-Output "C:/Program Files/$_" } $ErlExec = Get-ChildItem -Path "C:/Program Files/" -Recurse -Depth 2 -Filter 'erl.exe' -Name | ForEach-Object { Write-Output "C:/Program Files/$_" }
$ErlPath = Split-Path -Path "$ErlExec" $ErlPath = Split-Path -Path "${ErlExec}"
Write-Output "$ErlPath" | Out-File -FilePath otp_path.txt -Encoding utf8 -NoNewline Write-Output "${ErlPath}" | Out-File -FilePath otp_path.txt -Encoding utf8 -NoNewline
Write-Output "Installed Erlang/OTP version follows" Write-Output "Installed Erlang/OTP version follows"
& "$ErlPath/erl.exe" "+V" | Write-Output & "${ErlPath}/erl.exe" "+V" | Write-Output
"INSTALL_DIR_FOR_OTP="+(Get-Item ${ErlPath}).parent.FullName | Out-File -FilePath ${Env:GITHUB_ENV} -Encoding utf8 -Append
+3 -1
View File
@@ -2,7 +2,7 @@
set -eo pipefail set -eo pipefail
cd "$RUNNER_TEMP" cd "${RUNNER_TEMP}"
OS=${1} OS=${1}
VSN=${2} VSN=${2}
@@ -16,3 +16,5 @@ tar zxf "${FILE_OUTPUT}" -C "${DIR_FOR_BIN}" --strip-components=1
"${DIR_FOR_BIN}/Install" -minimal "$(pwd)/${DIR_FOR_BIN}" "${DIR_FOR_BIN}/Install" -minimal "$(pwd)/${DIR_FOR_BIN}"
echo "Installed Erlang/OTP version follows" echo "Installed Erlang/OTP version follows"
${DIR_FOR_BIN}/bin/erl -version ${DIR_FOR_BIN}/bin/erl -version
echo "INSTALL_DIR_FOR_OTP=${RUNNER_TEMP}/${DIR_FOR_BIN}" >> "${GITHUB_ENV}"
+13 -11
View File
@@ -1,8 +1,8 @@
param([Parameter(Mandatory=$true)][string]$VSN) param([Parameter(Mandatory=$true)][string]${VSN})
$ErrorActionPreference="Stop" $ErrorActionPreference="Stop"
Set-Location $Env:RUNNER_TEMP Set-Location ${Env:RUNNER_TEMP}
$FILE_INPUT="rebar3" $FILE_INPUT="rebar3"
$FILE_OUTPUT="rebar3" $FILE_OUTPUT="rebar3"
@@ -12,17 +12,19 @@ $DIR_FOR_BIN=".setup-beam/rebar3"
$ProgressPreference="SilentlyContinue" $ProgressPreference="SilentlyContinue"
$REBAR3_TARGET="https://github.com/erlang/rebar3/releases/download/${VSN}/${FILE_INPUT}" $REBAR3_TARGET="https://github.com/erlang/rebar3/releases/download/${VSN}/${FILE_INPUT}"
$REBAR3_NIGHTLY="" $REBAR3_NIGHTLY=""
If ( $VSN -eq "nightly" ) If ( ${VSN} -eq "nightly" )
{ {
$REBAR3_TARGET="https://s3.amazonaws.com/rebar3-nightly/rebar3" $REBAR3_TARGET="https://s3.amazonaws.com/rebar3-nightly/rebar3"
$REBAR3_NIGHTLY=" (from nightly build)" $REBAR3_NIGHTLY=" (from nightly build)"
} }
Invoke-WebRequest "$REBAR3_TARGET" -OutFile "$FILE_OUTPUT" Invoke-WebRequest "${REBAR3_TARGET}" -OutFile "${FILE_OUTPUT}"
$ProgressPreference="Continue" $ProgressPreference="Continue"
New-Item "$DIR_FOR_BIN/bin" -ItemType Directory | Out-Null New-Item "${DIR_FOR_BIN}/bin" -ItemType Directory | Out-Null
Move-Item "$FILE_OUTPUT" "$DIR_FOR_BIN/bin" Move-Item "${FILE_OUTPUT}" "${DIR_FOR_BIN}/bin"
Write-Output "& escript.exe $PWD/$DIR_FOR_BIN/bin/$FILE_OUTPUT `$args" | Out-File -FilePath "$FILE_OUTPUT_PS1" -Encoding utf8 -Append Write-Output "& escript.exe ${PWD}/${DIR_FOR_BIN}/bin/${FILE_OUTPUT} `${args}" | Out-File -FilePath "${FILE_OUTPUT_PS1}" -Encoding utf8 -Append
type $FILE_OUTPUT_PS1 type ${FILE_OUTPUT_PS1}
Move-Item "$FILE_OUTPUT_PS1" "$DIR_FOR_BIN/bin" Move-Item "${FILE_OUTPUT_PS1}" "${DIR_FOR_BIN}/bin"
Write-Output "Installed rebar3 version$REBAR3_NIGHTLY follows" Write-Output "Installed rebar3 version${REBAR3_NIGHTLY} follows"
& "$DIR_FOR_BIN/bin/rebar3" "version" | Write-Output & "${DIR_FOR_BIN}/bin/rebar3" "version" | Write-Output
"INSTALL_DIR_FOR_REBAR3=${Env:RUNNER_TEMP}/${DIR_FOR_BIN}" | Out-File -FilePath ${Env:GITHUB_ENV} -Encoding utf8 -Append
+4 -2
View File
@@ -2,7 +2,7 @@
set -eo pipefail set -eo pipefail
cd "$RUNNER_TEMP" cd "${RUNNER_TEMP}"
VSN=${1} VSN=${1}
FILE_INPUT=rebar3 FILE_INPUT=rebar3
@@ -19,5 +19,7 @@ wget -q -O "${FILE_OUTPUT}" "${REBAR3_TARGET}"
mkdir -p "${DIR_FOR_BIN}/bin" mkdir -p "${DIR_FOR_BIN}/bin"
chmod +x "${FILE_OUTPUT}" chmod +x "${FILE_OUTPUT}"
mv "${FILE_OUTPUT}" "${DIR_FOR_BIN}/bin" mv "${FILE_OUTPUT}" "${DIR_FOR_BIN}/bin"
echo "Installed rebar3 version$REBAR3_NIGHTLY follows" echo "Installed rebar3 version${REBAR3_NIGHTLY} follows"
${DIR_FOR_BIN}/bin/rebar3 version ${DIR_FOR_BIN}/bin/rebar3 version
echo "INSTALL_DIR_FOR_REBAR3=${RUNNER_TEMP}/${DIR_FOR_BIN}" >> "${GITHUB_ENV}"