Fix the "default arch" code path with Julia nightly (and add a CI job for that code path) (#115)

This commit is contained in:
Dilum Aluthge
2022-06-25 03:26:39 -04:00
committed by GitHub
parent 40f50bc31f
commit 3a89763b86
11 changed files with 103 additions and 15 deletions

5
lib/installer.js generated
View File

@@ -32,11 +32,8 @@ const osMap = {
};
const archMap = {
'x86': 'i686',
'X86': 'i686',
'x64': 'x86_64',
'X64': 'x86_64',
'aarch64': 'aarch64',
'ARM64': 'aarch64'
'aarch64': 'aarch64'
};
// Store information about the environment
const osPlat = os.platform(); // possible values: win32 (Windows), linux (Linux), darwin (macOS)

13
lib/setup-julia.js generated
View File

@@ -21,6 +21,14 @@ const fs = __importStar(require("fs"));
const https = __importStar(require("https"));
const path = __importStar(require("path"));
const installer = __importStar(require("./installer"));
const archSynonyms = {
'x86': 'x86',
'X86': 'x86',
'x64': 'x64',
'X64': 'x64',
'aarch64': 'aarch64',
'ARM64': 'aarch64'
};
function run() {
return __awaiter(this, void 0, void 0, function* () {
try {
@@ -41,7 +49,7 @@ function run() {
}
// Inputs
const versionInput = core.getInput('version');
const arch = core.getInput('arch');
const originalArchInput = core.getInput('arch');
// It can easily happen that, for example, a workflow file contains an input `version: ${{ matrix.julia-version }}`
// while the strategy matrix only contains a key `${{ matrix.version }}`.
// In that case, we want the action to fail, rather than trying to download julia from an URL that's missing parts and 404ing.
@@ -50,9 +58,10 @@ function run() {
if (!versionInput) {
throw new Error('Version input must not be null');
}
if (!arch) {
if (!originalArchInput) {
throw new Error(`Arch input must not be null`);
}
const arch = archSynonyms[originalArchInput];
const versionInfo = yield installer.getJuliaVersionInfo();
const availableReleases = yield installer.getJuliaVersions(versionInfo);
const version = installer.getJuliaVersion(availableReleases, versionInput);