Support nightly Julia builds

This commit is contained in:
Sascha Mann
2019-11-24 20:55:13 +01:00
parent b199a80ea6
commit 767e91ee6e
4 changed files with 43 additions and 6 deletions

21
lib/installer.js generated
View File

@@ -32,6 +32,10 @@ function getJuliaVersion(availableReleases, versionInput) {
// versionInput is a valid version, use it directly
return versionInput;
}
// nightlies
if (versionInput == 'nightly') {
return 'nightly';
}
// Use the highest available version that matches versionInput
let version = semver.maxSatisfying(availableReleases, versionInput);
if (version == null) {
@@ -47,9 +51,7 @@ function getMajorMinorVersion(version) {
return version.split('.').slice(0, 2).join('.');
}
function getDownloadURL(version, arch) {
const baseURL = 'https://julialang-s3.julialang.org/bin';
let platform;
const versionDir = getMajorMinorVersion(version);
if (osPlat === 'win32') { // Windows
platform = 'winnt';
}
@@ -65,6 +67,14 @@ function getDownloadURL(version, arch) {
else {
throw `Platform ${osPlat} is not supported`;
}
// nightlies
if (version == 'nightly') {
const baseURL = 'https://julialangnightlies-s3.julialang.org/bin';
return `${baseURL}/${platform}/${arch}/${getFileName('latest', arch)}`;
}
// normal versions
const baseURL = 'https://julialang-s3.julialang.org/bin';
const versionDir = getMajorMinorVersion(version);
return `${baseURL}/${platform}/${arch}/${versionDir}/${getFileName(version, arch)}`;
}
function getFileName(version, arch) {
@@ -81,7 +91,12 @@ function getFileName(version, arch) {
ext = 'dmg';
}
else if (osPlat === 'linux') { // Linux
versionExt = arch == 'x64' ? '-linux-x86_64' : '-linux-i686';
if (version == 'latest') { // nightly version
versionExt = arch == 'x64' ? '-linux64' : '-linux32';
}
else {
versionExt = arch == 'x64' ? '-linux-x86_64' : '-linux-i686';
}
ext = 'tar.gz';
}
else {