Fix the Apple Silicon (macOS aarch64 / arm64) URLs for Julia nightly (#220)

* fix aarch64 urls for nightly

* rebuild js for aarch64 nightly

* test nightly on apple m1 (aarch64)

* Run on more macOS versions, and add a few comments

---------

Co-authored-by: Dilum Aluthge <dilum@aluthge.com>
This commit is contained in:
Benjamin Lorenz
2024-02-11 03:36:04 +01:00
committed by GitHub
parent bb12998da7
commit 0f702cc7c1
3 changed files with 34 additions and 5 deletions

View File

@@ -19,7 +19,14 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
julia-version: [nightly, 1.10-nightly] julia-version: [nightly, 1.10-nightly]
os: [ubuntu-latest, macOS-latest, windows-latest] os:
- ubuntu-latest
- windows-latest
- macos-11 # Intel
- macos-12 # Intel
- macos-13 # Intel
- macos-14 # Apple Silicon
- macos-latest # Currently Intel, but will probably point to Apple Silicon in the future
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4

17
lib/installer.js generated
View File

@@ -156,10 +156,23 @@ function getNightlyFileName(arch) {
if (arch == 'x86') { if (arch == 'x86') {
throw new Error('32-bit Julia is not available on macOS'); throw new Error('32-bit Julia is not available on macOS');
} }
versionExt = '-mac64'; else if (arch == 'aarch64') {
versionExt = '-macaarch64';
}
else {
versionExt = '-mac64';
}
} }
else if (osPlat === 'linux') { else if (osPlat === 'linux') {
versionExt = arch == 'x64' ? '-linux64' : '-linux32'; if (arch == 'x86') {
versionExt = '-linux32';
}
else if (arch == 'aarch64') {
versionExt = '-linux-aarch64';
}
else {
versionExt = '-linux64';
}
} }
else { else {
throw new Error(`Platform ${osPlat} is not supported`); throw new Error(`Platform ${osPlat} is not supported`);

View File

@@ -128,10 +128,19 @@ function getNightlyFileName(arch: string): string {
} else if (osPlat == 'darwin') { } else if (osPlat == 'darwin') {
if (arch == 'x86') { if (arch == 'x86') {
throw new Error('32-bit Julia is not available on macOS') throw new Error('32-bit Julia is not available on macOS')
} else if (arch == 'aarch64') {
versionExt = '-macaarch64'
} else {
versionExt = '-mac64'
} }
versionExt = '-mac64'
} else if (osPlat === 'linux') { } else if (osPlat === 'linux') {
versionExt = arch == 'x64' ? '-linux64' : '-linux32' if (arch == 'x86') {
versionExt = '-linux32'
} else if (arch == 'aarch64') {
versionExt = '-linux-aarch64'
} else {
versionExt = '-linux64'
}
} else { } else {
throw new Error(`Platform ${osPlat} is not supported`) throw new Error(`Platform ${osPlat} is not supported`)
} }