Add osVersion parameter based on ImageOS env variable
This commit is contained in:
20
dist/index.js
vendored
20
dist/index.js
vendored
@@ -2955,9 +2955,9 @@ async function installElixir(version, otpMajor) {
|
||||
*
|
||||
* @param {string} version
|
||||
*/
|
||||
async function installOTP(version) {
|
||||
async function installOTP(version, osVersion) {
|
||||
if (process.platform === 'linux') {
|
||||
await exec(__webpack_require__.ab + "install-otp", [version])
|
||||
await exec(__webpack_require__.ab + "install-otp", [version, osVersion])
|
||||
return
|
||||
}
|
||||
|
||||
@@ -3321,14 +3321,15 @@ async function main() {
|
||||
elixirSpec,
|
||||
otpVersion
|
||||
)
|
||||
const osVersion = getOSVersion()
|
||||
|
||||
let installHex = core.getInput('install-hex')
|
||||
installHex = installHex == null ? 'true' : installHex
|
||||
let installRebar = core.getInput('install-rebar')
|
||||
installRebar = installRebar == null ? 'true' : installRebar
|
||||
|
||||
console.log(`##[group]Installing OTP ${otpVersion}`)
|
||||
await installOTP(otpVersion)
|
||||
console.log(`##[group]Installing OTP ${otpVersion} - built on ${osVersion}`)
|
||||
await installOTP(otpVersion, osVersion)
|
||||
console.log(`##[endgroup]`)
|
||||
|
||||
console.log(`##[group]Installing Elixir ${elixirVersion}`)
|
||||
@@ -3344,6 +3345,7 @@ async function main() {
|
||||
console.log(`##[add-matcher]${path.join(matchersPath, 'elixir.json')}`)
|
||||
core.setOutput('otp-version', otpVersion)
|
||||
core.setOutput('elixir-version', elixirVersion)
|
||||
core.setOutput('osVersion', osVersion)
|
||||
}
|
||||
|
||||
function checkPlatform() {
|
||||
@@ -3357,6 +3359,16 @@ async function getOtpVersion(spec) {
|
||||
return getVersionFromSpec(spec, await getOtpVersions()) || spec
|
||||
}
|
||||
|
||||
function getOSVersion() {
|
||||
const mapToUbuntuVersion = {
|
||||
ubuntu16: 'ubuntu-16.04',
|
||||
ubuntu18: 'ubuntu-18.04',
|
||||
ubuntu20: 'ubuntu-20.04',
|
||||
}
|
||||
|
||||
return mapToUbuntuVersion[process.env.ImageOS] || 'ubuntu-18.04'
|
||||
}
|
||||
|
||||
exports.getElixirVersion = getElixirVersion
|
||||
|
||||
async function getElixirVersion(spec, otpVersion) {
|
||||
|
||||
2
dist/install-otp
vendored
2
dist/install-otp
vendored
@@ -4,7 +4,7 @@ set -eo pipefail
|
||||
|
||||
cd $RUNNER_TEMP
|
||||
|
||||
wget -q -O otp.tar.gz https://repo.hex.pm/builds/otp/ubuntu-14.04/OTP-${1}.tar.gz
|
||||
wget -q -O otp.tar.gz https://repo.hex.pm/builds/otp/${2}/OTP-${1}.tar.gz
|
||||
mkdir -p .setup-elixir/otp
|
||||
tar zxf otp.tar.gz -C .setup-elixir/otp --strip-components=1
|
||||
rm otp.tar.gz
|
||||
|
||||
@@ -4,7 +4,7 @@ set -eo pipefail
|
||||
|
||||
cd $RUNNER_TEMP
|
||||
|
||||
wget -q -O otp.tar.gz https://repo.hex.pm/builds/otp/ubuntu-14.04/OTP-${1}.tar.gz
|
||||
wget -q -O otp.tar.gz https://repo.hex.pm/builds/otp/${2}/OTP-${1}.tar.gz
|
||||
mkdir -p .setup-elixir/otp
|
||||
tar zxf otp.tar.gz -C .setup-elixir/otp --strip-components=1
|
||||
rm otp.tar.gz
|
||||
|
||||
@@ -22,9 +22,9 @@ async function installElixir(version, otpMajor) {
|
||||
*
|
||||
* @param {string} version
|
||||
*/
|
||||
async function installOTP(version) {
|
||||
async function installOTP(version, osVersion) {
|
||||
if (process.platform === 'linux') {
|
||||
await exec(path.join(__dirname, 'install-otp'), [version])
|
||||
await exec(path.join(__dirname, 'install-otp'), [version, osVersion])
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -23,14 +23,15 @@ async function main() {
|
||||
elixirSpec,
|
||||
otpVersion
|
||||
)
|
||||
const osVersion = getOSVersion()
|
||||
|
||||
let installHex = core.getInput('install-hex')
|
||||
installHex = installHex == null ? 'true' : installHex
|
||||
let installRebar = core.getInput('install-rebar')
|
||||
installRebar = installRebar == null ? 'true' : installRebar
|
||||
|
||||
console.log(`##[group]Installing OTP ${otpVersion}`)
|
||||
await installOTP(otpVersion)
|
||||
console.log(`##[group]Installing OTP ${otpVersion} - built on ${osVersion}`)
|
||||
await installOTP(otpVersion, osVersion)
|
||||
console.log(`##[endgroup]`)
|
||||
|
||||
console.log(`##[group]Installing Elixir ${elixirVersion}`)
|
||||
@@ -46,6 +47,7 @@ async function main() {
|
||||
console.log(`##[add-matcher]${path.join(matchersPath, 'elixir.json')}`)
|
||||
core.setOutput('otp-version', otpVersion)
|
||||
core.setOutput('elixir-version', elixirVersion)
|
||||
core.setOutput('osVersion', osVersion)
|
||||
}
|
||||
|
||||
function checkPlatform() {
|
||||
@@ -59,6 +61,16 @@ async function getOtpVersion(spec) {
|
||||
return getVersionFromSpec(spec, await getOtpVersions()) || spec
|
||||
}
|
||||
|
||||
function getOSVersion() {
|
||||
const mapToUbuntuVersion = {
|
||||
ubuntu16: 'ubuntu-16.04',
|
||||
ubuntu18: 'ubuntu-18.04',
|
||||
ubuntu20: 'ubuntu-20.04',
|
||||
}
|
||||
|
||||
return mapToUbuntuVersion[process.env.ImageOS] || 'ubuntu-18.04'
|
||||
}
|
||||
|
||||
exports.getElixirVersion = getElixirVersion
|
||||
|
||||
async function getElixirVersion(spec, otpVersion) {
|
||||
|
||||
Reference in New Issue
Block a user