Files
setup-beam/dist/install-elixir.ps1
T
Luke Bakken 9641cb96c1 Be explicit about which file (.bat / .cm) is executed in the Windows installation flow (#198)
In my Windows 11 test environment, using Powershell Core 7.3.4, I get
the following message while running similar code to what this github
action uses:

```
Installed Elixir version follows
InvalidOperation: C:\Users\vagrant\setup-beam\src\test.ps1:4
Line |
   4 |  & "${DIR_FOR_BIN}/bin/elixir" "-v" | Write-Output
     |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Cannot run a document in the middle of a pipeline: C:\elixir\bin\elixir.
```

Adding `.bat` fixes the issue. This is probably not the root cause of
erlef/setup-beam#189, however.
2023-05-03 10:50:24 +01:00

25 lines
892 B
PowerShell

param([Parameter(Mandatory=$true)][string]${VSN})
$ErrorActionPreference="Stop"
Set-Location ${Env:RUNNER_TEMP}
$FILE_INPUT="${VSN}.zip"
$FILE_OUTPUT="elixir.zip"
$DIR_FOR_BIN=".setup-beam/elixir"
$ProgressPreference="SilentlyContinue"
Invoke-WebRequest "https://builds.hex.pm/builds/elixir/${FILE_INPUT}" -OutFile "${FILE_OUTPUT}"
$ProgressPreference="Continue"
New-Item "${DIR_FOR_BIN}" -ItemType Directory | Out-Null
$ProgressPreference="SilentlyContinue"
Expand-Archive -DestinationPath "${DIR_FOR_BIN}" -Path "${FILE_OUTPUT}"
$ProgressPreference="Continue"
Write-Output "Installed Elixir version follows"
& "${DIR_FOR_BIN}/bin/elixir.bat" "-v" | Write-Output
$ProgressPreference="Continue"
New-Item "%UserProfile%/.mix/escripts" -ItemType Directory | Out-Null
"INSTALL_DIR_FOR_ELIXIR=${Env:RUNNER_TEMP}/${DIR_FOR_BIN}" | Out-File -FilePath ${Env:GITHUB_ENV} -Encoding utf8 -Append