mirror of
https://github.com/erlef/setup-beam.git
synced 2026-07-23 15:16:08 +00:00
Ease Elixir escripts execution by adding ${HOME}/.mix/escripts to path (#153)
* feat: add escripts to path * Update src/install-elixir.ps1 Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com> * add github action combo to test escript * force install * use os homedir for escript install path Co-authored-by: Paulo F. Oliveira <paulo.ferraz.oliveira@gmail.com>
This commit is contained in:
@@ -134,6 +134,11 @@ jobs:
|
|||||||
otp-version: '24'
|
otp-version: '24'
|
||||||
os: 'ubuntu-latest'
|
os: 'ubuntu-latest'
|
||||||
disable_problem_matchers: true
|
disable_problem_matchers: true
|
||||||
|
- elixir-version: 'v1.13'
|
||||||
|
otp-version: '24'
|
||||||
|
escript_packages: 'hex protobuf'
|
||||||
|
escript_script: 'protoc-gen-elixir --version'
|
||||||
|
os: 'ubuntu-latest'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Use erlef/setup-beam
|
- name: Use erlef/setup-beam
|
||||||
@@ -184,6 +189,11 @@ 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 }}
|
||||||
|
- name: Run escript
|
||||||
|
run: |
|
||||||
|
mix escript.install --force ${{matrix.combo.escript_packages}}
|
||||||
|
${{matrix.combo.escript_script}}
|
||||||
|
if: ${{matrix.combo.escript_packages && matrix.combo.escript_script}}
|
||||||
environment_variables:
|
environment_variables:
|
||||||
name: Environment variables
|
name: Environment variables
|
||||||
runs-on: ${{matrix.combo.os}}
|
runs-on: ${{matrix.combo.os}}
|
||||||
|
|||||||
@@ -45,6 +45,11 @@ jobs:
|
|||||||
otp-version: '24'
|
otp-version: '24'
|
||||||
rebar3-version: '3.16'
|
rebar3-version: '3.16'
|
||||||
os: 'windows-latest'
|
os: 'windows-latest'
|
||||||
|
- elixir-version: 'v1.13'
|
||||||
|
otp-version: '24'
|
||||||
|
escript_packages: 'hex protobuf'
|
||||||
|
escript_script: 'protoc-gen-elixir --version'
|
||||||
|
os: 'windows-latest'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Use erlef/setup-beam
|
- name: Use erlef/setup-beam
|
||||||
@@ -82,6 +87,11 @@ jobs:
|
|||||||
cd test-projects/erlang_rebar3
|
cd test-projects/erlang_rebar3
|
||||||
rebar3 ct
|
rebar3 ct
|
||||||
if: ${{matrix.combo.rebar3-version}}
|
if: ${{matrix.combo.rebar3-version}}
|
||||||
|
- name: Run escript
|
||||||
|
run: |
|
||||||
|
mix escript.install --force ${{matrix.combo.escript_packages}}
|
||||||
|
${{matrix.combo.escript_script}}
|
||||||
|
if: ${{matrix.combo.escript_packages && matrix.combo.escript_script}}
|
||||||
environment_variables:
|
environment_variables:
|
||||||
name: Environment variables
|
name: Environment variables
|
||||||
runs-on: ${{matrix.combo.os}}
|
runs-on: ${{matrix.combo.os}}
|
||||||
|
|||||||
Vendored
+2
@@ -7193,6 +7193,7 @@ module.exports = {
|
|||||||
|
|
||||||
const core = __nccwpck_require__(2186)
|
const core = __nccwpck_require__(2186)
|
||||||
const { exec } = __nccwpck_require__(1514)
|
const { exec } = __nccwpck_require__(1514)
|
||||||
|
const os = __nccwpck_require__(2037)
|
||||||
const path = __nccwpck_require__(1017)
|
const path = __nccwpck_require__(1017)
|
||||||
const semver = __nccwpck_require__(1383)
|
const semver = __nccwpck_require__(1383)
|
||||||
const https = __nccwpck_require__(5687)
|
const https = __nccwpck_require__(5687)
|
||||||
@@ -7269,6 +7270,7 @@ async function maybeInstallElixir(elixirSpec, otpVersion) {
|
|||||||
`##[add-matcher]${path.join(matchersPath, 'elixir-matchers.json')}`,
|
`##[add-matcher]${path.join(matchersPath, 'elixir-matchers.json')}`,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
core.addPath(`${os.homedir()}/.mix/escripts`)
|
||||||
core.addPath(`${process.env.RUNNER_TEMP}/.setup-beam/elixir/bin`)
|
core.addPath(`${process.env.RUNNER_TEMP}/.setup-beam/elixir/bin`)
|
||||||
console.log('##[endgroup]')
|
console.log('##[endgroup]')
|
||||||
|
|
||||||
|
|||||||
Vendored
+3
@@ -18,4 +18,7 @@ $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
|
||||||
|
|
||||||
|
$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
|
"INSTALL_DIR_FOR_ELIXIR=${Env:RUNNER_TEMP}/${DIR_FOR_BIN}" | Out-File -FilePath ${Env:GITHUB_ENV} -Encoding utf8 -Append
|
||||||
|
|||||||
Vendored
+2
@@ -15,4 +15,6 @@ unzip -q -o -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
|
||||||
|
|
||||||
|
mkdir -p "${HOME}/.mix/escripts"
|
||||||
|
|
||||||
echo "INSTALL_DIR_FOR_ELIXIR=${RUNNER_TEMP}/${DIR_FOR_BIN}" >> "${GITHUB_ENV}"
|
echo "INSTALL_DIR_FOR_ELIXIR=${RUNNER_TEMP}/${DIR_FOR_BIN}" >> "${GITHUB_ENV}"
|
||||||
|
|||||||
@@ -18,4 +18,7 @@ $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
|
||||||
|
|
||||||
|
$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
|
"INSTALL_DIR_FOR_ELIXIR=${Env:RUNNER_TEMP}/${DIR_FOR_BIN}" | Out-File -FilePath ${Env:GITHUB_ENV} -Encoding utf8 -Append
|
||||||
|
|||||||
@@ -15,4 +15,6 @@ unzip -q -o -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
|
||||||
|
|
||||||
|
mkdir -p "${HOME}/.mix/escripts"
|
||||||
|
|
||||||
echo "INSTALL_DIR_FOR_ELIXIR=${RUNNER_TEMP}/${DIR_FOR_BIN}" >> "${GITHUB_ENV}"
|
echo "INSTALL_DIR_FOR_ELIXIR=${RUNNER_TEMP}/${DIR_FOR_BIN}" >> "${GITHUB_ENV}"
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
const core = require('@actions/core')
|
const core = require('@actions/core')
|
||||||
const { exec } = require('@actions/exec')
|
const { exec } = require('@actions/exec')
|
||||||
|
const os = require('os')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const semver = require('semver')
|
const semver = require('semver')
|
||||||
const https = require('https')
|
const https = require('https')
|
||||||
@@ -76,6 +77,7 @@ async function maybeInstallElixir(elixirSpec, otpVersion) {
|
|||||||
`##[add-matcher]${path.join(matchersPath, 'elixir-matchers.json')}`,
|
`##[add-matcher]${path.join(matchersPath, 'elixir-matchers.json')}`,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
core.addPath(`${os.homedir()}/.mix/escripts`)
|
||||||
core.addPath(`${process.env.RUNNER_TEMP}/.setup-beam/elixir/bin`)
|
core.addPath(`${process.env.RUNNER_TEMP}/.setup-beam/elixir/bin`)
|
||||||
console.log('##[endgroup]')
|
console.log('##[endgroup]')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user