mirror of
https://github.com/julia-actions/setup-julia.git
synced 2026-02-16 04:56:53 +08:00
Compare commits
47 Commits
v2.5.0
...
ib/force_a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
60d0df7300 | ||
|
|
ab8c34a8eb | ||
|
|
75f97ff30b | ||
|
|
99376169b2 | ||
|
|
946b8945ed | ||
|
|
9ededf8091 | ||
|
|
45280051d6 | ||
|
|
b3ecfef5e8 | ||
|
|
5d51882ecc | ||
|
|
14bdca5404 | ||
|
|
ca8072aa45 | ||
|
|
32e4823075 | ||
|
|
d0db705ab1 | ||
|
|
3e78fcb3ae | ||
|
|
72fa5ed0d6 | ||
|
|
fcde44f420 | ||
|
|
9e20c521eb | ||
|
|
83661cac11 | ||
|
|
68c5d57bec | ||
|
|
1fccbf1fae | ||
|
|
154fe254d8 | ||
|
|
89905e6bd4 | ||
|
|
ef03891851 | ||
|
|
2e147ef522 | ||
|
|
60afaeb367 | ||
|
|
887a1b8574 | ||
|
|
1e6e69ac02 | ||
|
|
2edba243f1 | ||
|
|
e4eeff6f60 | ||
|
|
3094e57881 | ||
|
|
8cc4ff0bf6 | ||
|
|
5c9647d97b | ||
|
|
17468e89a3 | ||
|
|
c861e46bed | ||
|
|
2fa18025fe | ||
|
|
05e75bd682 | ||
|
|
9b79636afc | ||
|
|
0360370b20 | ||
|
|
4e3f1d687a | ||
|
|
1068b5ed3f | ||
|
|
f42f7fb072 | ||
|
|
a06d998188 | ||
|
|
83c1b1f3c9 | ||
|
|
be1659352d | ||
|
|
d6ffb3065b | ||
|
|
95d7bc0174 | ||
|
|
6cb24233ff |
15
.github/dependabot.yml
vendored
15
.github/dependabot.yml
vendored
@@ -5,15 +5,30 @@ updates:
|
|||||||
schedule:
|
schedule:
|
||||||
interval: monthly
|
interval: monthly
|
||||||
open-pull-requests-limit: 99
|
open-pull-requests-limit: 99
|
||||||
|
groups:
|
||||||
|
# Group all Git submodules PRs into a single PR:
|
||||||
|
all-gitsubmodule-actions:
|
||||||
|
patterns:
|
||||||
|
- "*"
|
||||||
|
|
||||||
- package-ecosystem: 'github-actions'
|
- package-ecosystem: 'github-actions'
|
||||||
directory: '/'
|
directory: '/'
|
||||||
schedule:
|
schedule:
|
||||||
interval: 'monthly'
|
interval: 'monthly'
|
||||||
open-pull-requests-limit: 99
|
open-pull-requests-limit: 99
|
||||||
|
groups:
|
||||||
|
# Group all GitHub Actions PRs into a single PR:
|
||||||
|
all-github-actions:
|
||||||
|
patterns:
|
||||||
|
- "*"
|
||||||
|
|
||||||
- package-ecosystem: npm
|
- package-ecosystem: npm
|
||||||
directory: "/"
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
interval: monthly
|
interval: monthly
|
||||||
open-pull-requests-limit: 99
|
open-pull-requests-limit: 99
|
||||||
|
groups:
|
||||||
|
# Group all NPM PRs into a single PR:
|
||||||
|
all-npm-actions:
|
||||||
|
patterns:
|
||||||
|
- "*"
|
||||||
|
|||||||
@@ -22,11 +22,9 @@ jobs:
|
|||||||
os:
|
os:
|
||||||
- ubuntu-latest
|
- ubuntu-latest
|
||||||
- windows-latest
|
- windows-latest
|
||||||
# - macos-11 # Intel
|
|
||||||
- macos-12 # Intel
|
|
||||||
- macos-13 # Intel
|
- macos-13 # Intel
|
||||||
- macos-14 # Apple Silicon
|
- macos-14 # Apple Silicon
|
||||||
- macos-latest # Currently Intel, but will probably point to Apple Silicon in the future
|
- macos-latest # Apple Silicon
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|||||||
7
.github/workflows/example-builds.yml
vendored
7
.github/workflows/example-builds.yml
vendored
@@ -27,6 +27,13 @@ jobs:
|
|||||||
exclude:
|
exclude:
|
||||||
- os: macOS-latest
|
- os: macOS-latest
|
||||||
julia-arch: x86
|
julia-arch: x86
|
||||||
|
include:
|
||||||
|
- os: macOS-latest
|
||||||
|
julia-arch: aarch64
|
||||||
|
julia-version: 'lts'
|
||||||
|
- os: macOS-latest
|
||||||
|
julia-arch: aarch64
|
||||||
|
julia-version: '1'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|||||||
14
.github/workflows/pr_checks.yml
vendored
14
.github/workflows/pr_checks.yml
vendored
@@ -46,7 +46,7 @@ jobs:
|
|||||||
- run: make cleanall
|
- run: make cleanall
|
||||||
### Install NodeJS
|
### Install NodeJS
|
||||||
# Unix (non-Windows):
|
# Unix (non-Windows):
|
||||||
- uses: asdf-vm/actions/setup@05e0d2ed97b598bfce82fd30daf324ae0c4570e6
|
- uses: asdf-vm/actions/setup@1902764435ca0dd2f3388eea723a4f92a4eb8302
|
||||||
if: runner.os != 'Windows'
|
if: runner.os != 'Windows'
|
||||||
- run: make unix-asdf-install
|
- run: make unix-asdf-install
|
||||||
if: runner.os != 'Windows'
|
if: runner.os != 'Windows'
|
||||||
@@ -71,7 +71,7 @@ jobs:
|
|||||||
### Clean (not cleanall!):
|
### Clean (not cleanall!):
|
||||||
- run: make clean
|
- run: make clean
|
||||||
### Make sure there are no uncommited changes
|
### Make sure there are no uncommited changes
|
||||||
- uses: julia-actions/setup-julia@780022b48dfc0c2c6b94cfee6a9284850107d037
|
- uses: julia-actions/setup-julia@5c9647d97b78a5debe5164e9eec09d653d29bd71 # v2.6.1
|
||||||
with:
|
with:
|
||||||
version: '1'
|
version: '1'
|
||||||
- run: git --no-pager status
|
- run: git --no-pager status
|
||||||
@@ -89,7 +89,7 @@ jobs:
|
|||||||
- run: make cleanall
|
- run: make cleanall
|
||||||
### Install NodeJS
|
### Install NodeJS
|
||||||
# Unix (non-Windows):
|
# Unix (non-Windows):
|
||||||
- uses: asdf-vm/actions/setup@05e0d2ed97b598bfce82fd30daf324ae0c4570e6
|
- uses: asdf-vm/actions/setup@1902764435ca0dd2f3388eea723a4f92a4eb8302
|
||||||
if: runner.os != 'Windows'
|
if: runner.os != 'Windows'
|
||||||
- run: make unix-asdf-install
|
- run: make unix-asdf-install
|
||||||
if: runner.os != 'Windows'
|
if: runner.os != 'Windows'
|
||||||
@@ -133,7 +133,7 @@ jobs:
|
|||||||
- run: make cleanall
|
- run: make cleanall
|
||||||
### Install NodeJS
|
### Install NodeJS
|
||||||
# Unix (non-Windows):
|
# Unix (non-Windows):
|
||||||
- uses: asdf-vm/actions/setup@05e0d2ed97b598bfce82fd30daf324ae0c4570e6
|
- uses: asdf-vm/actions/setup@1902764435ca0dd2f3388eea723a4f92a4eb8302
|
||||||
if: runner.os != 'Windows'
|
if: runner.os != 'Windows'
|
||||||
- run: make unix-asdf-install
|
- run: make unix-asdf-install
|
||||||
if: runner.os != 'Windows'
|
if: runner.os != 'Windows'
|
||||||
@@ -168,7 +168,7 @@ jobs:
|
|||||||
- run: make cleanall
|
- run: make cleanall
|
||||||
### Install NodeJS
|
### Install NodeJS
|
||||||
# Unix (non-Windows):
|
# Unix (non-Windows):
|
||||||
- uses: asdf-vm/actions/setup@05e0d2ed97b598bfce82fd30daf324ae0c4570e6
|
- uses: asdf-vm/actions/setup@1902764435ca0dd2f3388eea723a4f92a4eb8302
|
||||||
if: runner.os != 'Windows'
|
if: runner.os != 'Windows'
|
||||||
- run: make unix-asdf-install
|
- run: make unix-asdf-install
|
||||||
if: runner.os != 'Windows'
|
if: runner.os != 'Windows'
|
||||||
@@ -204,7 +204,7 @@ jobs:
|
|||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
### Install NodeJS
|
### Install NodeJS
|
||||||
# Unix (non-Windows):
|
# Unix (non-Windows):
|
||||||
- uses: asdf-vm/actions/setup@05e0d2ed97b598bfce82fd30daf324ae0c4570e6
|
- uses: asdf-vm/actions/setup@1902764435ca0dd2f3388eea723a4f92a4eb8302
|
||||||
if: runner.os != 'Windows'
|
if: runner.os != 'Windows'
|
||||||
- run: make unix-asdf-install
|
- run: make unix-asdf-install
|
||||||
if: runner.os != 'Windows'
|
if: runner.os != 'Windows'
|
||||||
@@ -214,7 +214,7 @@ jobs:
|
|||||||
# - run: npm install --package-lock-only
|
# - run: npm install --package-lock-only
|
||||||
- run: npm install
|
- run: npm install
|
||||||
### Make sure there are no uncommited changes
|
### Make sure there are no uncommited changes
|
||||||
- uses: julia-actions/setup-julia@780022b48dfc0c2c6b94cfee6a9284850107d037
|
- uses: julia-actions/setup-julia@5c9647d97b78a5debe5164e9eec09d653d29bd71 # v2.6.1
|
||||||
with:
|
with:
|
||||||
version: '1'
|
version: '1'
|
||||||
- run: git --no-pager status
|
- run: git --no-pager status
|
||||||
|
|||||||
33
README.md
33
README.md
@@ -41,7 +41,7 @@ This action sets up a Julia environment for use in actions by downloading a spec
|
|||||||
# For example, `1.10` may be parsed as `1.1`.
|
# For example, `1.10` may be parsed as `1.1`.
|
||||||
#
|
#
|
||||||
# Default: '1'
|
# Default: '1'
|
||||||
version: ''
|
version: '1'
|
||||||
|
|
||||||
# The architecture of the Julia binaries.
|
# The architecture of the Julia binaries.
|
||||||
#
|
#
|
||||||
@@ -53,8 +53,20 @@ This action sets up a Julia environment for use in actions by downloading a spec
|
|||||||
#
|
#
|
||||||
# Note: you can use X64, X86, and ARM64 as synonyms for x64, x86, and aarch64, respectively.
|
# 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.
|
# Specifying 'default' uses the architecture of the runner executing the job.
|
||||||
arch: ''
|
arch: 'default'
|
||||||
|
|
||||||
|
# Force the use of the specified architecture even when it may be suboptimal on the runner.
|
||||||
|
#
|
||||||
|
# By default, requesting x86 or x64 on an aarch64 macOS runner (Apple Silicon) will fail with an error,
|
||||||
|
# as this is usually a misconfiguration. Set this to 'true' to override the error and allow the installation.
|
||||||
|
#
|
||||||
|
# Note: x64 Julia can run on Apple Silicon via Rosetta 2, but native aarch64 is typically preferred.
|
||||||
|
#
|
||||||
|
# Supported values: true | false
|
||||||
|
#
|
||||||
|
# Default: false
|
||||||
|
force-arch: 'false'
|
||||||
|
|
||||||
# Set the display setting for printing InteractiveUtils.versioninfo() after installing.
|
# Set the display setting for printing InteractiveUtils.versioninfo() after installing.
|
||||||
#
|
#
|
||||||
@@ -70,12 +82,12 @@ This action sets up a Julia environment for use in actions by downloading a spec
|
|||||||
# never: Never print versioninfo
|
# never: Never print versioninfo
|
||||||
#
|
#
|
||||||
# Default: false
|
# Default: false
|
||||||
show-versioninfo: ''
|
show-versioninfo: 'false'
|
||||||
|
|
||||||
# Set the path to the project directory or file to use when resolving some versions (e.g. `min`).
|
# Set the path to the project directory or file to use when resolving some versions (e.g. `min`).
|
||||||
#
|
#
|
||||||
# Defaults to using JULIA_PROJECT if defined, otherwise '.'
|
# Defaults to using JULIA_PROJECT if defined, otherwise '.'
|
||||||
project: ''
|
project: ${{ env.JULIA_PROJECT }} or '.' (if JULIA_PROJECT is unset)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Outputs
|
### Outputs
|
||||||
@@ -122,6 +134,7 @@ You can either specify specific Julia versions or version ranges. If you specify
|
|||||||
- `'~1.3.0-rc1'` is a **tilde** version range that includes pre-releases of `1.3.0` starting at `rc1`. It matches all versions `≥ 1.3.0-rc1` and `< 1.4.0`.
|
- `'~1.3.0-rc1'` is a **tilde** version range that includes pre-releases of `1.3.0` starting at `rc1`. It matches all versions `≥ 1.3.0-rc1` and `< 1.4.0`.
|
||||||
- `'^1.3.0-0'` is a **caret** version range that includes _all_ pre-releases of `1.3.0`. It matches all versions `≥ 1.3.0-` and `< 2.0.0`.
|
- `'^1.3.0-0'` is a **caret** version range that includes _all_ pre-releases of `1.3.0`. It matches all versions `≥ 1.3.0-` and `< 2.0.0`.
|
||||||
- `'~1.3.0-0'` is a **tilde** version range that includes _all_ pre-releases of `1.3.0`. It matches all versions `≥ 1.3.0-` and `< 1.4.0`.
|
- `'~1.3.0-0'` is a **tilde** version range that includes _all_ pre-releases of `1.3.0`. It matches all versions `≥ 1.3.0-` and `< 1.4.0`.
|
||||||
|
- `'1'` will install the latest v1 version of Julia.
|
||||||
- `'lts'` will install the latest LTS build.
|
- `'lts'` will install the latest LTS build.
|
||||||
- `'pre'` will install the latest prerelease build (RCs, betas, and alphas).
|
- `'pre'` will install the latest prerelease build (RCs, betas, and alphas).
|
||||||
- `'nightly'` will install the latest nightly build.
|
- `'nightly'` will install the latest nightly build.
|
||||||
@@ -193,12 +206,18 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
julia-version: ['1.0', '1.2.0', '^1.3.0-rc1']
|
julia-version: ['1.0', '1.2.0', '^1.3.0-rc1']
|
||||||
julia-arch: [x64, x86]
|
julia-arch: [x64, x86, aarch64]
|
||||||
os: [ubuntu-latest, windows-latest, macOS-latest]
|
os: [ubuntu-latest, windows-latest, macOS-latest]
|
||||||
# 32-bit Julia binaries are not available on macOS
|
# exclude unavailable/unwanted architectures
|
||||||
exclude:
|
exclude:
|
||||||
- os: macOS-latest
|
- os: macOS-latest
|
||||||
julia-arch: x86
|
julia-arch: x86
|
||||||
|
- os: macOS-latest
|
||||||
|
julia-arch: x64 # can be run but via rosetta on apple silicon runners
|
||||||
|
- os: ubuntu-latest
|
||||||
|
julia-arch: aarch64
|
||||||
|
- os: windows-latest
|
||||||
|
julia-arch: aarch64
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -26,8 +26,8 @@ const testVersions = [
|
|||||||
'1.7.0', '1.7.0-beta1', '1.7.0-beta2', '1.7.0-beta3', '1.7.0-beta4', '1.7.0-rc1', '1.7.0-rc2', '1.7.0-rc3', '1.7.1', '1.7.2', '1.7.3',
|
'1.7.0', '1.7.0-beta1', '1.7.0-beta2', '1.7.0-beta3', '1.7.0-beta4', '1.7.0-rc1', '1.7.0-rc2', '1.7.0-rc3', '1.7.1', '1.7.2', '1.7.3',
|
||||||
'1.8.0', '1.8.0-beta1', '1.8.0-beta2', '1.8.0-beta3', '1.8.0-rc1', '1.8.0-rc2', '1.8.0-rc3', '1.8.0-rc4', '1.8.1', '1.8.2', '1.8.3', '1.8.4', '1.8.5',
|
'1.8.0', '1.8.0-beta1', '1.8.0-beta2', '1.8.0-beta3', '1.8.0-rc1', '1.8.0-rc2', '1.8.0-rc3', '1.8.0-rc4', '1.8.1', '1.8.2', '1.8.3', '1.8.4', '1.8.5',
|
||||||
'1.9.0', '1.9.0-alpha1', '1.9.0-beta1', '1.9.0-beta2', '1.9.0-beta3', '1.9.0-beta4', '1.9.0-rc1', '1.9.0-rc2', '1.9.0-rc3', '1.9.1', '1.9.2', '1.9.3', '1.9.4',
|
'1.9.0', '1.9.0-alpha1', '1.9.0-beta1', '1.9.0-beta2', '1.9.0-beta3', '1.9.0-beta4', '1.9.0-rc1', '1.9.0-rc2', '1.9.0-rc3', '1.9.1', '1.9.2', '1.9.3', '1.9.4',
|
||||||
'1.10.0', '1.10.0-alpha1', '1.10.0-beta1', '1.10.0-beta2', '1.10.0-beta3', '1.10.0-rc1', '1.10.0-rc2', '1.10.0-rc3', '1.10.1', '1.10.2',
|
'1.10.0', '1.10.0-alpha1', '1.10.0-beta1', '1.10.0-beta2', '1.10.0-beta3', '1.10.0-rc1', '1.10.0-rc2', '1.10.0-rc3', '1.10.1', '1.10.2', '1.10.3', '1.10.4', '1.10.5',
|
||||||
'1.11.0-alpha1', '1.11.0-alpha2', '1.11.0-beta1'
|
'1.11.0', '1.11.0-alpha1', '1.11.0-alpha2', '1.11.0-beta1', '1.11.0-beta2', '1.11.0-rc1', '1.11.0-rc2', '1.11.0-rc3', '1.11.0-rc4',
|
||||||
]
|
]
|
||||||
|
|
||||||
const toolDir = path.join(__dirname, 'runner', 'tools')
|
const toolDir = path.join(__dirname, 'runner', 'tools')
|
||||||
@@ -187,30 +187,30 @@ describe('version matching tests', () => {
|
|||||||
|
|
||||||
it('LTS', () => {
|
it('LTS', () => {
|
||||||
// Update test when LTS is updated
|
// Update test when LTS is updated
|
||||||
expect(installer.getJuliaVersion(testVersions, 'lts')).toEqual(installer.getJuliaVersion(testVersions, '1.6'))
|
expect(installer.getJuliaVersion(testVersions, 'lts')).toEqual(installer.getJuliaVersion(testVersions, '1.10'))
|
||||||
expect(installer.getJuliaVersion(testVersions, 'lts')).toEqual('1.6.7')
|
expect(installer.getJuliaVersion(testVersions, 'lts')).toEqual('1.10.5')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('pre', () => {
|
it('pre', () => {
|
||||||
expect(installer.getJuliaVersion(testVersions, 'pre')).toEqual('1.11.0-beta1')
|
expect(installer.getJuliaVersion(testVersions, 'pre')).toEqual('1.11.0')
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('version ranges', () => {
|
describe('version ranges', () => {
|
||||||
it('Chooses the highest available version that matches the input', () => {
|
it('Chooses the highest available version that matches the input', () => {
|
||||||
expect(installer.getJuliaVersion(testVersions, '1')).toEqual('1.10.2')
|
expect(installer.getJuliaVersion(testVersions, '1')).toEqual('1.11.0')
|
||||||
expect(installer.getJuliaVersion(testVersions, '1.0')).toEqual('1.0.5')
|
expect(installer.getJuliaVersion(testVersions, '1.0')).toEqual('1.0.5')
|
||||||
expect(installer.getJuliaVersion(testVersions, '^1.3.0-rc1')).toEqual('1.10.2')
|
expect(installer.getJuliaVersion(testVersions, '^1.3.0-rc1')).toEqual('1.11.0')
|
||||||
expect(installer.getJuliaVersion(testVersions, '^1.2.0-rc1')).toEqual('1.10.2')
|
expect(installer.getJuliaVersion(testVersions, '^1.2.0-rc1')).toEqual('1.11.0')
|
||||||
expect(installer.getJuliaVersion(testVersions, '^1.10.0-rc1')).toEqual('1.10.2')
|
expect(installer.getJuliaVersion(testVersions, '^1.10.0-rc1')).toEqual('1.11.0')
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('include-prereleases', () => {
|
describe('include-prereleases', () => {
|
||||||
it('Chooses the highest available version that matches the input including prereleases', () => {
|
it('Chooses the highest available version that matches the input including prereleases', () => {
|
||||||
expect(installer.getJuliaVersion(testVersions, '^1.2.0-0', true)).toEqual('1.11.0-beta1')
|
expect(installer.getJuliaVersion(testVersions, '^1.2.0-0', true)).toEqual('1.11.0')
|
||||||
expect(installer.getJuliaVersion(testVersions, '1', true)).toEqual('1.11.0-beta1')
|
expect(installer.getJuliaVersion(testVersions, '1', true)).toEqual('1.11.0')
|
||||||
expect(installer.getJuliaVersion(testVersions, '^1.2.0-0', false)).toEqual('1.10.2')
|
expect(installer.getJuliaVersion(testVersions, '^1.2.0-0', false)).toEqual('1.11.0')
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,10 @@ inputs:
|
|||||||
description: 'Architecture of the Julia binaries. Defaults to the architecture of the runner executing the job.'
|
description: 'Architecture of the Julia binaries. Defaults to the architecture of the runner executing the job.'
|
||||||
required: false
|
required: false
|
||||||
default: 'default'
|
default: 'default'
|
||||||
|
force-arch:
|
||||||
|
description: 'Force the use of the specified architecture even when it may be suboptimal on the runner (e.g., x86 on Apple Silicon macOS runners). By default, requesting x86/x64 on aarch64 macOS runners will fail with an error.'
|
||||||
|
required: false
|
||||||
|
default: 'false'
|
||||||
show-versioninfo:
|
show-versioninfo:
|
||||||
description: 'Display InteractiveUtils.versioninfo() after installing'
|
description: 'Display InteractiveUtils.versioninfo() after installing'
|
||||||
required: false
|
required: false
|
||||||
|
|||||||
2932
dist/index.js
vendored
2932
dist/index.js
vendored
File diff suppressed because one or more lines are too long
26
lib/installer.js
generated
26
lib/installer.js
generated
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|||||||
}) : function(o, v) {
|
}) : function(o, v) {
|
||||||
o["default"] = v;
|
o["default"] = v;
|
||||||
});
|
});
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
var __importStar = (this && this.__importStar) || (function () {
|
||||||
if (mod && mod.__esModule) return mod;
|
var ownKeys = function(o) {
|
||||||
var result = {};
|
ownKeys = Object.getOwnPropertyNames || function (o) {
|
||||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
var ar = [];
|
||||||
__setModuleDefault(result, mod);
|
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
||||||
return result;
|
return ar;
|
||||||
};
|
};
|
||||||
|
return ownKeys(o);
|
||||||
|
};
|
||||||
|
return function (mod) {
|
||||||
|
if (mod && mod.__esModule) return mod;
|
||||||
|
var result = {};
|
||||||
|
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
||||||
|
__setModuleDefault(result, mod);
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
})();
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
@@ -52,7 +62,7 @@ const path = __importStar(require("path"));
|
|||||||
const retry = require("async-retry");
|
const retry = require("async-retry");
|
||||||
const semver = __importStar(require("semver"));
|
const semver = __importStar(require("semver"));
|
||||||
const toml = __importStar(require("toml"));
|
const toml = __importStar(require("toml"));
|
||||||
const LTS_VERSION = '1.6';
|
const LTS_VERSION = '1.10';
|
||||||
const MAJOR_VERSION = '1'; // Could be deduced from versions.json
|
const MAJOR_VERSION = '1'; // Could be deduced from versions.json
|
||||||
// Translations between actions input and Julia arch names
|
// Translations between actions input and Julia arch names
|
||||||
const osMap = {
|
const osMap = {
|
||||||
|
|||||||
28
lib/setup-julia.js
generated
28
lib/setup-julia.js
generated
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|||||||
}) : function(o, v) {
|
}) : function(o, v) {
|
||||||
o["default"] = v;
|
o["default"] = v;
|
||||||
});
|
});
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
var __importStar = (this && this.__importStar) || (function () {
|
||||||
if (mod && mod.__esModule) return mod;
|
var ownKeys = function(o) {
|
||||||
var result = {};
|
ownKeys = Object.getOwnPropertyNames || function (o) {
|
||||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
var ar = [];
|
||||||
__setModuleDefault(result, mod);
|
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
||||||
return result;
|
return ar;
|
||||||
};
|
};
|
||||||
|
return ownKeys(o);
|
||||||
|
};
|
||||||
|
return function (mod) {
|
||||||
|
if (mod && mod.__esModule) return mod;
|
||||||
|
var result = {};
|
||||||
|
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
||||||
|
__setModuleDefault(result, mod);
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
})();
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
@@ -46,6 +56,7 @@ const installer = __importStar(require("./installer"));
|
|||||||
const archSynonyms = {
|
const archSynonyms = {
|
||||||
'x86': 'x86',
|
'x86': 'x86',
|
||||||
'x64': 'x64',
|
'x64': 'x64',
|
||||||
|
'x86_64': 'x64',
|
||||||
'aarch64': 'aarch64',
|
'aarch64': 'aarch64',
|
||||||
'arm64': 'aarch64'
|
'arm64': 'aarch64'
|
||||||
};
|
};
|
||||||
@@ -87,6 +98,9 @@ function run() {
|
|||||||
if (!originalArchInput) { // if `originalArchInput` is an empty string
|
if (!originalArchInput) { // if `originalArchInput` is an empty string
|
||||||
throw new Error(`Arch input must not be null`);
|
throw new Error(`Arch input must not be null`);
|
||||||
}
|
}
|
||||||
|
if (originalArchInput == 'x64' && os.platform() == 'darwin' && os.arch() == 'arm64') {
|
||||||
|
core.warning('[setup-julia] x64 arch has been requested on a macOS runner that has an arm64 (Apple Silicon) architecture. You may have meant to use the "aarch64" arch instead (or left it unspecified for the correct default).');
|
||||||
|
}
|
||||||
let processedArchInput;
|
let processedArchInput;
|
||||||
if (originalArchInput == "default") {
|
if (originalArchInput == "default") {
|
||||||
// If the user sets the `arch` input to `default`, then we use the
|
// If the user sets the `arch` input to `default`, then we use the
|
||||||
|
|||||||
4636
package-lock.json
generated
4636
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
28
package.json
28
package.json
@@ -20,26 +20,26 @@
|
|||||||
"author": "Sascha Mann <git@mail.saschamann.eu>",
|
"author": "Sascha Mann <git@mail.saschamann.eu>",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.10.1",
|
"@actions/core": "^1.11.1",
|
||||||
"@actions/exec": "^1.1.1",
|
"@actions/exec": "^1.1.1",
|
||||||
"@actions/io": "^1.1.3",
|
"@actions/io": "^1.1.3",
|
||||||
"@actions/tool-cache": "^2.0.1",
|
"@actions/tool-cache": "^2.0.2",
|
||||||
"async-retry": "^1.3.3",
|
"async-retry": "^1.3.3",
|
||||||
"semver": "^7.6.3",
|
"semver": "^7.7.0",
|
||||||
"toml": "^3.0.0"
|
"toml": "^3.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/async-retry": "^1.4.8",
|
"@types/async-retry": "^1.4.9",
|
||||||
"@types/jest": "^29.5.12",
|
"@types/jest": "^30.0.0",
|
||||||
"@types/node": "^22.5.1",
|
"@types/node": "^24.1.0",
|
||||||
"@types/retry": "^0.12.5",
|
"@types/retry": "^0.12.5",
|
||||||
"@types/semver": "^7.5.8",
|
"@types/semver": "^7.7.0",
|
||||||
"@vercel/ncc": "^0.38.1",
|
"@vercel/ncc": "^0.38.3",
|
||||||
"jest": "^29.7.0",
|
"jest": "^30.0.5",
|
||||||
"jest-circus": "^29.7.0",
|
"jest-circus": "^30.0.3",
|
||||||
"nock": "^13.5.4",
|
"nock": "^14.0.8",
|
||||||
"prettier": "^3.3.3",
|
"prettier": "^3.6.2",
|
||||||
"ts-jest": "^29.2.5",
|
"ts-jest": "^29.4.0",
|
||||||
"typescript": "^5.5.4"
|
"typescript": "^5.9.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import retry = require('async-retry')
|
|||||||
import * as semver from 'semver'
|
import * as semver from 'semver'
|
||||||
import * as toml from 'toml'
|
import * as toml from 'toml'
|
||||||
|
|
||||||
const LTS_VERSION = '1.6'
|
const LTS_VERSION = '1.10'
|
||||||
const MAJOR_VERSION = '1' // Could be deduced from versions.json
|
const MAJOR_VERSION = '1' // Could be deduced from versions.json
|
||||||
|
|
||||||
// Translations between actions input and Julia arch names
|
// Translations between actions input and Julia arch names
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import * as installer from './installer'
|
|||||||
const archSynonyms = {
|
const archSynonyms = {
|
||||||
'x86': 'x86',
|
'x86': 'x86',
|
||||||
'x64': 'x64',
|
'x64': 'x64',
|
||||||
|
'x86_64': 'x64',
|
||||||
'aarch64': 'aarch64',
|
'aarch64': 'aarch64',
|
||||||
'arm64': 'aarch64'
|
'arm64': 'aarch64'
|
||||||
}
|
}
|
||||||
@@ -44,6 +45,7 @@ async function run() {
|
|||||||
const versionInput = core.getInput('version').trim()
|
const versionInput = core.getInput('version').trim()
|
||||||
const includePrereleases = core.getInput('include-all-prereleases').trim() == 'true'
|
const includePrereleases = core.getInput('include-all-prereleases').trim() == 'true'
|
||||||
const originalArchInput = core.getInput('arch').trim()
|
const originalArchInput = core.getInput('arch').trim()
|
||||||
|
const forceArch = core.getInput('force-arch').trim() == 'true'
|
||||||
const projectInput = core.getInput('project').trim() // Julia project file
|
const projectInput = core.getInput('project').trim() // Julia project file
|
||||||
|
|
||||||
// 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 }}`
|
||||||
@@ -61,6 +63,14 @@ async function run() {
|
|||||||
throw new Error(`Arch input must not be null`)
|
throw new Error(`Arch input must not be null`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (originalArchInput == 'x64' && os.platform() == 'darwin' && os.arch() == 'arm64') {
|
||||||
|
if (forceArch) {
|
||||||
|
core.warning('[setup-julia] x64 arch has been requested on a macOS runner that has an arm64 (Apple Silicon) architecture. The "force-arch" input is set to "true", so proceeding with x64 installation. Note that this will mean Julia will be run under Rosetta emulation.')
|
||||||
|
} else {
|
||||||
|
throw new Error('[setup-julia] x64 arch has been requested on a macOS runner that has an arm64 (Apple Silicon) architecture. You may have meant to use the "aarch64" arch instead (or "default" or left it unspecified for the correct default). To force the use of x64 on this runner, set the "force-arch" input to "true".')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let processedArchInput: string;
|
let processedArchInput: string;
|
||||||
if (originalArchInput == "default") {
|
if (originalArchInput == "default") {
|
||||||
// If the user sets the `arch` input to `default`, then we use the
|
// If the user sets the `arch` input to `default`, then we use the
|
||||||
|
|||||||
Reference in New Issue
Block a user