mirror of
https://github.com/julia-actions/setup-julia.git
synced 2026-02-14 03:56:53 +08:00
Compare commits
53 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0504def29 | ||
|
|
7242f2d36e | ||
|
|
1ade3ab195 | ||
|
|
67e9ca1177 | ||
|
|
a29b9e4c77 | ||
|
|
7449f781cd | ||
|
|
8dccd20879 | ||
|
|
96b12c59b6 | ||
|
|
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:
|
||||||
|
- "*"
|
||||||
|
|||||||
8
.github/workflows/codeql-analysis.yml
vendored
8
.github/workflows/codeql-analysis.yml
vendored
@@ -42,11 +42,11 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6.0.1
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v3
|
uses: github/codeql-action/init@v4
|
||||||
with:
|
with:
|
||||||
languages: ${{ matrix.language }}
|
languages: ${{ matrix.language }}
|
||||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||||
@@ -57,7 +57,7 @@ jobs:
|
|||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@v3
|
uses: github/codeql-action/autobuild@v4
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 https://git.io/JvXDl
|
# 📚 https://git.io/JvXDl
|
||||||
@@ -71,4 +71,4 @@ jobs:
|
|||||||
# make release
|
# make release
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v3
|
uses: github/codeql-action/analyze@v4
|
||||||
|
|||||||
@@ -23,9 +23,9 @@ jobs:
|
|||||||
os: [ubuntu-latest, macOS-latest, windows-latest]
|
os: [ubuntu-latest, macOS-latest, windows-latest]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6.0.1
|
||||||
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v6
|
||||||
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
||||||
with:
|
with:
|
||||||
node-version-file: '.tool-versions'
|
node-version-file: '.tool-versions'
|
||||||
|
|||||||
@@ -18,20 +18,18 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
julia-version: [nightly, 1.10-nightly]
|
julia-version: [nightly, 1.13-nightly]
|
||||||
os:
|
os:
|
||||||
- ubuntu-latest
|
- ubuntu-latest
|
||||||
- windows-latest
|
- windows-latest
|
||||||
# - macos-11 # Intel
|
- macos-15-intel # Intel
|
||||||
- macos-12 # 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@v6.0.1
|
||||||
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v6
|
||||||
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
||||||
with:
|
with:
|
||||||
node-version-file: '.tool-versions'
|
node-version-file: '.tool-versions'
|
||||||
|
|||||||
6
.github/workflows/example-builds-nightly.yml
vendored
6
.github/workflows/example-builds-nightly.yml
vendored
@@ -20,7 +20,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
julia-version: [nightly, 1.10-nightly]
|
julia-version: [nightly, 1.13-nightly]
|
||||||
julia-arch: [x64, x86]
|
julia-arch: [x64, x86]
|
||||||
os: [ubuntu-latest, macOS-latest, windows-latest]
|
os: [ubuntu-latest, macOS-latest, windows-latest]
|
||||||
# 32-bit Julia binaries are not available on macOS
|
# 32-bit Julia binaries are not available on macOS
|
||||||
@@ -29,9 +29,9 @@ jobs:
|
|||||||
julia-arch: x86
|
julia-arch: x86
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6.0.1
|
||||||
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v6
|
||||||
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
||||||
with:
|
with:
|
||||||
node-version-file: '.tool-versions'
|
node-version-file: '.tool-versions'
|
||||||
|
|||||||
11
.github/workflows/example-builds.yml
vendored
11
.github/workflows/example-builds.yml
vendored
@@ -27,11 +27,18 @@ 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@v6.0.1
|
||||||
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v6
|
||||||
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
||||||
with:
|
with:
|
||||||
node-version-file: '.tool-versions'
|
node-version-file: '.tool-versions'
|
||||||
|
|||||||
30
.github/workflows/pr_checks.yml
vendored
30
.github/workflows/pr_checks.yml
vendored
@@ -39,21 +39,21 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
steps:
|
steps:
|
||||||
### Check out the repo:
|
### Check out the repo:
|
||||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
### Cleanall:
|
### Cleanall:
|
||||||
- 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@b7bcd026f18772e44fe1026d729e1611cc435d47
|
||||||
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'
|
||||||
# Windows:
|
# Windows:
|
||||||
# Windows does not support asdf, so we have to use `actions/setup-node`
|
# Windows does not support asdf, so we have to use `actions/setup-node`
|
||||||
# to install asdf:
|
# to install asdf:
|
||||||
- uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b
|
- uses: actions/setup-node@dda4788290998366da86b6a4f497909644397bb2
|
||||||
if: runner.os == 'Windows'
|
if: runner.os == 'Windows'
|
||||||
with:
|
with:
|
||||||
node-version-file: '.tool-versions'
|
node-version-file: '.tool-versions'
|
||||||
@@ -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
|
||||||
@@ -82,21 +82,21 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
### Check out the repo:
|
### Check out the repo:
|
||||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
### Cleanall:
|
### Cleanall:
|
||||||
- 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@b7bcd026f18772e44fe1026d729e1611cc435d47
|
||||||
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'
|
||||||
# Windows:
|
# Windows:
|
||||||
# Windows does not support asdf, so we have to use `actions/setup-node`
|
# Windows does not support asdf, so we have to use `actions/setup-node`
|
||||||
# to install asdf:
|
# to install asdf:
|
||||||
- uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b
|
- uses: actions/setup-node@dda4788290998366da86b6a4f497909644397bb2
|
||||||
if: runner.os == 'Windows'
|
if: runner.os == 'Windows'
|
||||||
with:
|
with:
|
||||||
node-version-file: '.tool-versions'
|
node-version-file: '.tool-versions'
|
||||||
@@ -126,21 +126,21 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
### Check out the repo:
|
### Check out the repo:
|
||||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
### Cleanall:
|
### Cleanall:
|
||||||
- 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@b7bcd026f18772e44fe1026d729e1611cc435d47
|
||||||
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'
|
||||||
# Windows:
|
# Windows:
|
||||||
# Windows does not support asdf, so we have to use `actions/setup-node`
|
# Windows does not support asdf, so we have to use `actions/setup-node`
|
||||||
# to install asdf:
|
# to install asdf:
|
||||||
- uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b
|
- uses: actions/setup-node@dda4788290998366da86b6a4f497909644397bb2
|
||||||
if: runner.os == 'Windows'
|
if: runner.os == 'Windows'
|
||||||
with:
|
with:
|
||||||
node-version-file: '.tool-versions'
|
node-version-file: '.tool-versions'
|
||||||
@@ -161,14 +161,14 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
### Check out the repo:
|
### Check out the repo:
|
||||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
### Cleanall:
|
### Cleanall:
|
||||||
- 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@b7bcd026f18772e44fe1026d729e1611cc435d47
|
||||||
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'
|
||||||
@@ -199,12 +199,12 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
steps:
|
steps:
|
||||||
### Check out the repo:
|
### Check out the repo:
|
||||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||||
with:
|
with:
|
||||||
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@b7bcd026f18772e44fe1026d729e1611cc435d47
|
||||||
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
|
||||||
|
|||||||
21
README.md
21
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,8 @@ 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'
|
||||||
|
|
||||||
# Set the display setting for printing InteractiveUtils.versioninfo() after installing.
|
# Set the display setting for printing InteractiveUtils.versioninfo() after installing.
|
||||||
#
|
#
|
||||||
@@ -70,12 +70,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 +122,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 +194,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')
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
2961
dist/index.js
vendored
2961
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
|
||||||
|
|||||||
5839
package-lock.json
generated
5839
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": "^25.2.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'
|
||||||
}
|
}
|
||||||
@@ -61,6 +62,10 @@ 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') {
|
||||||
|
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: 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