mirror of
https://github.com/julia-actions/setup-julia.git
synced 2026-02-15 20:46:53 +08:00
Compare commits
12 Commits
SaschaMann
...
v1.8.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5113fd16e9 | ||
|
|
ffea8bb089 | ||
|
|
3a89763b86 | ||
|
|
40f50bc31f | ||
|
|
8474f0e14d | ||
|
|
76f26cb710 | ||
|
|
40ab89a96a | ||
|
|
631e68d88a | ||
|
|
a07a9b4c49 | ||
|
|
67db496725 | ||
|
|
800ff44572 | ||
|
|
6966335537 |
1
.github/workflows/backup.yml
vendored
1
.github/workflows/backup.yml
vendored
@@ -9,6 +9,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
backup:
|
backup:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
|
timeout-minutes: 60
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Configure cache
|
- name: Configure cache
|
||||||
|
|||||||
9
.github/workflows/checkin.yml
vendored
9
.github/workflows/checkin.yml
vendored
@@ -1,14 +1,21 @@
|
|||||||
name: "PR Checks"
|
name: "PR Checks"
|
||||||
on: [pull_request, push]
|
on: [pull_request, push]
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
# Skip intermediate builds: all builds except for builds on the `master`, `main`, or `release-*` branches
|
||||||
|
# Cancel intermediate builds: only pull request builds
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || github.ref != 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release-') || github.run_number }}
|
||||||
|
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check_pr:
|
check_pr:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 60
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
|
|
||||||
- name: "npm ci"
|
- name: "npm ci"
|
||||||
run: npm ci
|
run: npm ci --legacy-peer-deps
|
||||||
|
|
||||||
- name: "npm run build"
|
- name: "npm run build"
|
||||||
run: npm run build
|
run: npm run build
|
||||||
|
|||||||
7
.github/workflows/codeql-analysis.yml
vendored
7
.github/workflows/codeql-analysis.yml
vendored
@@ -11,6 +11,12 @@
|
|||||||
#
|
#
|
||||||
name: "CodeQL"
|
name: "CodeQL"
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
# Skip intermediate builds: all builds except for builds on the `master`, `main`, or `release-*` branches
|
||||||
|
# Cancel intermediate builds: only pull request builds
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || github.ref != 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release-') || github.run_number }}
|
||||||
|
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ master, releases/* ]
|
branches: [ master, releases/* ]
|
||||||
@@ -24,6 +30,7 @@ jobs:
|
|||||||
analyze:
|
analyze:
|
||||||
name: Analyze
|
name: Analyze
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 60
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
|||||||
40
.github/workflows/example-builds-defaultarch.yml
vendored
Normal file
40
.github/workflows/example-builds-defaultarch.yml
vendored
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
name: Example builds (default arch)
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
# Skip intermediate builds: all builds except for builds on the `master`, `main`, or `release-*` branches
|
||||||
|
# Cancel intermediate builds: only pull request builds
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || github.ref != 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release-') || github.run_number }}
|
||||||
|
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: ['main', 'master', 'releases/*']
|
||||||
|
pull_request:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
timeout-minutes: 60
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
julia-version: ['1']
|
||||||
|
os: [ubuntu-latest, macOS-latest, windows-latest]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1.0.0
|
||||||
|
|
||||||
|
- name: "Install dependencies"
|
||||||
|
run: |
|
||||||
|
npm install --legacy-peer-deps
|
||||||
|
npm run build
|
||||||
|
npm run pack
|
||||||
|
|
||||||
|
- name: "Set up Julia"
|
||||||
|
id: setup-julia
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.julia-version }}
|
||||||
|
- run: julia --version
|
||||||
|
- run: julia --compile=min -O0 -e 'import InteractiveUtils; InteractiveUtils.versioninfo()'
|
||||||
38
.github/workflows/example-builds-nightly-defaultarch.yml
vendored
Normal file
38
.github/workflows/example-builds-nightly-defaultarch.yml
vendored
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
name: Example builds (nightly, default arch)
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
# Skip intermediate builds: all builds except for builds on the `master`, `main`, or `release-*` branches
|
||||||
|
# Cancel intermediate builds: only pull request builds
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || github.ref != 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release-') || github.run_number }}
|
||||||
|
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: ['main', 'master', 'releases/*']
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
timeout-minutes: 60
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
julia-version: [nightly, 1.8-nightly]
|
||||||
|
os: [ubuntu-latest, macOS-latest, windows-latest]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1.0.0
|
||||||
|
|
||||||
|
- name: "Install dependencies"
|
||||||
|
run: |
|
||||||
|
npm install --legacy-peer-deps
|
||||||
|
npm run build
|
||||||
|
npm run pack
|
||||||
|
|
||||||
|
- name: "Set up Julia (${{ matrix.julia-version }})"
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.julia-version }}
|
||||||
|
- run: julia --version
|
||||||
|
- run: julia --compile=min -O0 -e 'import InteractiveUtils; InteractiveUtils.versioninfo()'
|
||||||
13
.github/workflows/example-builds-nightly.yml
vendored
13
.github/workflows/example-builds-nightly.yml
vendored
@@ -1,5 +1,11 @@
|
|||||||
name: Example builds (nightly)
|
name: Example builds (nightly)
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
# Skip intermediate builds: all builds except for builds on the `master`, `main`, or `release-*` branches
|
||||||
|
# Cancel intermediate builds: only pull request builds
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || github.ref != 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release-') || github.run_number }}
|
||||||
|
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: ['main', 'master', 'releases/*']
|
branches: ['main', 'master', 'releases/*']
|
||||||
@@ -10,6 +16,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
timeout-minutes: 60
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@@ -20,13 +27,13 @@ jobs:
|
|||||||
exclude:
|
exclude:
|
||||||
- os: macOS-latest
|
- os: macOS-latest
|
||||||
julia-arch: x86
|
julia-arch: x86
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1.0.0
|
- uses: actions/checkout@v1.0.0
|
||||||
|
|
||||||
- name: "Install dependencies"
|
- name: "Install dependencies"
|
||||||
run: |
|
run: |
|
||||||
npm install
|
npm install --legacy-peer-deps
|
||||||
npm run build
|
npm run build
|
||||||
npm run pack
|
npm run pack
|
||||||
|
|
||||||
|
|||||||
16
.github/workflows/example-builds.yml
vendored
16
.github/workflows/example-builds.yml
vendored
@@ -1,5 +1,11 @@
|
|||||||
name: Example builds
|
name: Example builds
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
# Skip intermediate builds: all builds except for builds on the `master`, `main`, or `release-*` branches
|
||||||
|
# Cancel intermediate builds: only pull request builds
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || github.ref != 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release-') || github.run_number }}
|
||||||
|
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: ['main', 'master', 'releases/*']
|
branches: ['main', 'master', 'releases/*']
|
||||||
@@ -9,6 +15,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
timeout-minutes: 60
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@@ -19,26 +26,21 @@ jobs:
|
|||||||
exclude:
|
exclude:
|
||||||
- os: macOS-latest
|
- os: macOS-latest
|
||||||
julia-arch: x86
|
julia-arch: x86
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1.0.0
|
- uses: actions/checkout@v1.0.0
|
||||||
|
|
||||||
- name: "Install dependencies"
|
- name: "Install dependencies"
|
||||||
run: |
|
run: |
|
||||||
npm install
|
npm install --legacy-peer-deps
|
||||||
npm run build
|
npm run build
|
||||||
npm run pack
|
npm run pack
|
||||||
|
|
||||||
- run: mkdir -p ${{ github.workspace }}/dilumtestcache # TODO: delete this line
|
|
||||||
- name: "Set up Julia"
|
- name: "Set up Julia"
|
||||||
id: setup-julia
|
id: setup-julia
|
||||||
uses: ./
|
uses: ./
|
||||||
env:
|
|
||||||
RUNNER_TOOL_CACHE: ${{ github.workspace }}/dilumtestcache
|
|
||||||
with:
|
with:
|
||||||
version: ${{ matrix.julia-version }}
|
version: ${{ matrix.julia-version }}
|
||||||
arch: ${{ matrix.julia-arch }}
|
arch: ${{ matrix.julia-arch }}
|
||||||
- run: which julia # TODO: delete this line
|
|
||||||
- run: which -a julia # TODO: delete this line
|
|
||||||
- run: julia --version
|
- run: julia --version
|
||||||
- run: julia --compile=min -O0 -e 'import InteractiveUtils; InteractiveUtils.versioninfo()'
|
- run: julia --compile=min -O0 -e 'import InteractiveUtils; InteractiveUtils.versioninfo()'
|
||||||
|
|||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,3 +1,3 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
__tests__/runner/*
|
__tests__/runner/*
|
||||||
dist/
|
!dist/
|
||||||
|
|||||||
16
README.md
16
README.md
@@ -38,9 +38,15 @@ This action sets up a Julia environment for use in actions by downloading a spec
|
|||||||
|
|
||||||
# The architecture of the Julia binaries.
|
# The architecture of the Julia binaries.
|
||||||
#
|
#
|
||||||
# Supported values: x64 | x86
|
# Please note that installing aarch64 binaries only makes sense on self-hosted aarch64 runners.
|
||||||
|
# We currently don't run test builds on that architecture, so we cannot guarantee that the input won't break randomly,
|
||||||
|
# although there is no reason why it would.
|
||||||
#
|
#
|
||||||
# Default: x64
|
# Supported values: x64 | x86 | aarch64 (untested)
|
||||||
|
#
|
||||||
|
# Note: you can use X64, X86, and ARM64 as synonyms for x64, x86, and aarch64, respectively.
|
||||||
|
#
|
||||||
|
# Defaults to the architecture of the runner executing the job.
|
||||||
arch: ''
|
arch: ''
|
||||||
|
|
||||||
# Set the display setting for printing InteractiveUtils.versioninfo() after installing.
|
# Set the display setting for printing InteractiveUtils.versioninfo() after installing.
|
||||||
@@ -123,7 +129,7 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
julia-version: ['1.0', '1.2.0', '^1.3.0-rc1']
|
julia-version: ['1.0', '1.2.0', '^1.3.0-rc1']
|
||||||
os: [ubuntu-latest, windows-latest, macOS-latest]
|
os: [ubuntu-latest, windows-latest, macOS-latest]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1.0.0
|
- uses: actions/checkout@v1.0.0
|
||||||
- name: "Set up Julia"
|
- name: "Set up Julia"
|
||||||
@@ -149,7 +155,7 @@ jobs:
|
|||||||
exclude:
|
exclude:
|
||||||
- os: macOS-latest
|
- os: macOS-latest
|
||||||
julia-arch: x86
|
julia-arch: x86
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1.0.0
|
- uses: actions/checkout@v1.0.0
|
||||||
- name: "Set up Julia"
|
- name: "Set up Julia"
|
||||||
@@ -176,7 +182,7 @@ jobs:
|
|||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
julia-version: ['1.0.4']
|
julia-version: ['1.0.4']
|
||||||
julia-arch: x86
|
julia-arch: x86
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1.0.0
|
- uses: actions/checkout@v1.0.0
|
||||||
- name: "Set up Julia"
|
- name: "Set up Julia"
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ inputs:
|
|||||||
description: 'The Julia version to download (if necessary) and use. Example: 1.0.4'
|
description: 'The Julia version to download (if necessary) and use. Example: 1.0.4'
|
||||||
default: '1'
|
default: '1'
|
||||||
arch:
|
arch:
|
||||||
description: 'Architecture of the Julia binaries. Defaults to x64.'
|
description: 'Architecture of the Julia binaries. Defaults to the architecture of the runner executing the job.'
|
||||||
required: false
|
required: false
|
||||||
default: 'x64'
|
default: '${{ runner.arch }}'
|
||||||
show-versioninfo:
|
show-versioninfo:
|
||||||
description: 'Display InteractiveUtils.versioninfo() after installing'
|
description: 'Display InteractiveUtils.versioninfo() after installing'
|
||||||
required: false
|
required: false
|
||||||
@@ -19,7 +19,7 @@ outputs:
|
|||||||
julia-bindir:
|
julia-bindir:
|
||||||
description: 'Path to the directory containing the Julia executable. Equivalent to JULIA_BINDIR: https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_BINDIR'
|
description: 'Path to the directory containing the Julia executable. Equivalent to JULIA_BINDIR: https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_BINDIR'
|
||||||
runs:
|
runs:
|
||||||
using: 'node12'
|
using: 'node16'
|
||||||
main: 'dist/index.js'
|
main: 'dist/index.js'
|
||||||
branding:
|
branding:
|
||||||
icon: 'download'
|
icon: 'download'
|
||||||
|
|||||||
5213
dist/index.js
vendored
Normal file
5213
dist/index.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
dist/unzip
vendored
Normal file
BIN
dist/unzip
vendored
Normal file
Binary file not shown.
3
lib/installer.js
generated
3
lib/installer.js
generated
@@ -32,7 +32,8 @@ const osMap = {
|
|||||||
};
|
};
|
||||||
const archMap = {
|
const archMap = {
|
||||||
'x86': 'i686',
|
'x86': 'i686',
|
||||||
'x64': 'x86_64'
|
'x64': 'x86_64',
|
||||||
|
'aarch64': 'aarch64'
|
||||||
};
|
};
|
||||||
// Store information about the environment
|
// Store information about the environment
|
||||||
const osPlat = os.platform(); // possible values: win32 (Windows), linux (Linux), darwin (macOS)
|
const osPlat = os.platform(); // possible values: win32 (Windows), linux (Linux), darwin (macOS)
|
||||||
|
|||||||
13
lib/setup-julia.js
generated
13
lib/setup-julia.js
generated
@@ -21,6 +21,14 @@ const fs = __importStar(require("fs"));
|
|||||||
const https = __importStar(require("https"));
|
const https = __importStar(require("https"));
|
||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
const installer = __importStar(require("./installer"));
|
const installer = __importStar(require("./installer"));
|
||||||
|
const archSynonyms = {
|
||||||
|
'x86': 'x86',
|
||||||
|
'X86': 'x86',
|
||||||
|
'x64': 'x64',
|
||||||
|
'X64': 'x64',
|
||||||
|
'aarch64': 'aarch64',
|
||||||
|
'ARM64': 'aarch64'
|
||||||
|
};
|
||||||
function run() {
|
function run() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
try {
|
try {
|
||||||
@@ -41,7 +49,7 @@ function run() {
|
|||||||
}
|
}
|
||||||
// Inputs
|
// Inputs
|
||||||
const versionInput = core.getInput('version');
|
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 }}`
|
// 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 }}`.
|
// 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.
|
// 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) {
|
if (!versionInput) {
|
||||||
throw new Error('Version input must not be null');
|
throw new Error('Version input must not be null');
|
||||||
}
|
}
|
||||||
if (!arch) {
|
if (!originalArchInput) {
|
||||||
throw new Error(`Arch input must not be null`);
|
throw new Error(`Arch input must not be null`);
|
||||||
}
|
}
|
||||||
|
const arch = archSynonyms[originalArchInput];
|
||||||
const versionInfo = yield installer.getJuliaVersionInfo();
|
const versionInfo = yield installer.getJuliaVersionInfo();
|
||||||
const availableReleases = yield installer.getJuliaVersions(versionInfo);
|
const availableReleases = yield installer.getJuliaVersions(versionInfo);
|
||||||
const version = installer.getJuliaVersion(availableReleases, versionInput);
|
const version = installer.getJuliaVersion(availableReleases, versionInput);
|
||||||
|
|||||||
8
package-lock.json
generated
8
package-lock.json
generated
@@ -1,11 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "setup-julia",
|
"name": "setup-julia",
|
||||||
"version": "1.6.1",
|
"version": "1.8.1",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"version": "1.6.1",
|
"name": "setup-julia",
|
||||||
|
"version": "1.8.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.2.6",
|
"@actions/core": "^1.2.6",
|
||||||
@@ -12926,8 +12927,7 @@
|
|||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz",
|
||||||
"integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==",
|
"integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"requires": {}
|
|
||||||
},
|
},
|
||||||
"jest-regex-util": {
|
"jest-regex-util": {
|
||||||
"version": "24.3.0",
|
"version": "24.3.0",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "setup-julia",
|
"name": "setup-julia",
|
||||||
"version": "1.6.1",
|
"version": "1.8.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "setup Julia action",
|
"description": "setup Julia action",
|
||||||
"main": "lib/setup-julia.js",
|
"main": "lib/setup-julia.js",
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ const osMap = {
|
|||||||
}
|
}
|
||||||
const archMap = {
|
const archMap = {
|
||||||
'x86': 'i686',
|
'x86': 'i686',
|
||||||
'x64': 'x86_64'
|
'x64': 'x86_64',
|
||||||
|
'aarch64': 'aarch64'
|
||||||
}
|
}
|
||||||
|
|
||||||
// Store information about the environment
|
// Store information about the environment
|
||||||
|
|||||||
@@ -8,6 +8,15 @@ import * as path from 'path'
|
|||||||
|
|
||||||
import * as installer from './installer'
|
import * as installer from './installer'
|
||||||
|
|
||||||
|
const archSynonyms = {
|
||||||
|
'x86': 'x86',
|
||||||
|
'X86': 'x86',
|
||||||
|
'x64': 'x64',
|
||||||
|
'X64': 'x64',
|
||||||
|
'aarch64': 'aarch64',
|
||||||
|
'ARM64': 'aarch64'
|
||||||
|
}
|
||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
try {
|
try {
|
||||||
// Debugging info
|
// Debugging info
|
||||||
@@ -30,7 +39,7 @@ async function run() {
|
|||||||
|
|
||||||
// Inputs
|
// Inputs
|
||||||
const versionInput = core.getInput('version')
|
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 }}`
|
// 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 }}`.
|
// while the strategy matrix only contains a key `${{ matrix.version }}`.
|
||||||
@@ -40,10 +49,12 @@ async function run() {
|
|||||||
if (!versionInput) {
|
if (!versionInput) {
|
||||||
throw new Error('Version input must not be null')
|
throw new Error('Version input must not be null')
|
||||||
}
|
}
|
||||||
if (!arch) {
|
if (!originalArchInput) {
|
||||||
throw new Error(`Arch input must not be null`)
|
throw new Error(`Arch input must not be null`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const arch = archSynonyms[originalArchInput]
|
||||||
|
|
||||||
const versionInfo = await installer.getJuliaVersionInfo()
|
const versionInfo = await installer.getJuliaVersionInfo()
|
||||||
const availableReleases = await installer.getJuliaVersions(versionInfo)
|
const availableReleases = await installer.getJuliaVersions(versionInfo)
|
||||||
const version = installer.getJuliaVersion(availableReleases, versionInput)
|
const version = installer.getJuliaVersion(availableReleases, versionInput)
|
||||||
|
|||||||
Reference in New Issue
Block a user