mirror of
https://github.com/julia-actions/setup-julia.git
synced 2026-02-14 03:56:53 +08:00
Compare commits
27 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3645a07f58 | ||
|
|
d56bd397bb | ||
|
|
c7aa298e32 | ||
|
|
cae3c21ea1 | ||
|
|
389de5c0df | ||
|
|
42e03d3446 | ||
|
|
e62bf8c418 | ||
|
|
30038810d2 | ||
|
|
0e4b558b25 | ||
|
|
3599cbd45f | ||
|
|
16b01270a4 | ||
|
|
ed4a842dbe | ||
|
|
63a26ece8c | ||
|
|
4581e12ce4 | ||
|
|
4212b2587b | ||
|
|
a515f9fb49 | ||
|
|
5fb759db5c | ||
|
|
90754937ed | ||
|
|
f5b61b79e1 | ||
|
|
ae2b920dd5 | ||
|
|
699547385f | ||
|
|
85c0672686 | ||
|
|
b96a5725f5 | ||
|
|
437a175294 | ||
|
|
e9d953d306 | ||
|
|
4190528a8c | ||
|
|
9acd04fccc |
1
.github/ISSUE_TEMPLATE/bug_report.md
vendored
1
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -3,7 +3,6 @@ name: Bug report
|
|||||||
about: Create a report to help us improve
|
about: Create a report to help us improve
|
||||||
title: "[BUG] "
|
title: "[BUG] "
|
||||||
labels: bug
|
labels: bug
|
||||||
assignees: SaschaMann
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
34
.github/workflows/backup.yml
vendored
34
.github/workflows/backup.yml
vendored
@@ -1,34 +0,0 @@
|
|||||||
name: Backup
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: '5 4 * * 0'
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
backup:
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
timeout-minutes: 60
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Configure cache
|
|
||||||
uses: actions/cache@v4
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
${{ env.GITHUB_WORKSPACE }}
|
|
||||||
~/.cache/restic
|
|
||||||
key: ${{ runner.os }}
|
|
||||||
|
|
||||||
- name: Install the correct Python version
|
|
||||||
uses: actions/setup-python@v5
|
|
||||||
with:
|
|
||||||
python-version: '3.x'
|
|
||||||
|
|
||||||
- name: Run backup action
|
|
||||||
uses: julia-actions/restic-action@main
|
|
||||||
env: # Options: https://restic.readthedocs.io/en/latest/040_backup.html#environment-variables
|
|
||||||
RESTIC_REPOSITORY: b2:${{ secrets.B2_BUCKET }}:${{ github.repository }}
|
|
||||||
RESTIC_PASSWORD: ${{ secrets.RESTIC_PASSWORD }}
|
|
||||||
B2_ACCOUNT_ID: ${{ secrets.B2_ACCOUNT_ID }}
|
|
||||||
B2_ACCOUNT_KEY: ${{ secrets.B2_ACCOUNT_KEY }}
|
|
||||||
2
.github/workflows/checkin.yml
vendored
2
.github/workflows/checkin.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
|||||||
|
|
||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 16
|
node-version-file: '.tool-versions'
|
||||||
|
|
||||||
- name: "npm ci"
|
- name: "npm ci"
|
||||||
run: npm ci
|
run: npm ci
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ jobs:
|
|||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
||||||
with:
|
with:
|
||||||
node-version: 16
|
node-version-file: '.tool-versions'
|
||||||
|
|
||||||
- name: "Install dependencies"
|
- name: "Install dependencies"
|
||||||
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ jobs:
|
|||||||
os:
|
os:
|
||||||
- ubuntu-latest
|
- ubuntu-latest
|
||||||
- windows-latest
|
- windows-latest
|
||||||
- macos-11 # Intel
|
# - macos-11 # Intel
|
||||||
- macos-12 # Intel
|
- macos-12 # Intel
|
||||||
- macos-13 # Intel
|
- macos-13 # Intel
|
||||||
- macos-14 # Apple Silicon
|
- macos-14 # Apple Silicon
|
||||||
@@ -34,7 +34,7 @@ jobs:
|
|||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
||||||
with:
|
with:
|
||||||
node-version: 16
|
node-version-file: '.tool-versions'
|
||||||
|
|
||||||
- name: "Install dependencies"
|
- name: "Install dependencies"
|
||||||
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
||||||
|
|||||||
2
.github/workflows/example-builds-nightly.yml
vendored
2
.github/workflows/example-builds-nightly.yml
vendored
@@ -34,7 +34,7 @@ jobs:
|
|||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
||||||
with:
|
with:
|
||||||
node-version: 16
|
node-version-file: '.tool-versions'
|
||||||
|
|
||||||
- name: "Install dependencies"
|
- name: "Install dependencies"
|
||||||
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
||||||
|
|||||||
4
.github/workflows/example-builds.yml
vendored
4
.github/workflows/example-builds.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
julia-version: ['1.0.5', '1.2', '^1.5.0-beta1', '1']
|
julia-version: ['1.0.5', '1.2', '^1.5.0-beta1', '1', 'lts', 'pre']
|
||||||
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
|
||||||
@@ -33,7 +33,7 @@ jobs:
|
|||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
||||||
with:
|
with:
|
||||||
node-version: 16
|
node-version-file: '.tool-versions'
|
||||||
|
|
||||||
- name: "Install dependencies"
|
- name: "Install dependencies"
|
||||||
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
|
||||||
|
|||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,3 +1,3 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
__tests__/runner/*
|
__tests__/runner/*
|
||||||
dist/
|
!dist/
|
||||||
|
|||||||
1
.tool-versions
Normal file
1
.tool-versions
Normal file
@@ -0,0 +1 @@
|
|||||||
|
nodejs 20.11.1
|
||||||
@@ -1,11 +1,3 @@
|
|||||||
# Dev docs / Contributing guide
|
# Contributing
|
||||||
|
|
||||||
## Building and tagging a release (requires write access)
|
Please see the README in the [`devdocs/`](devdocs/) folder.
|
||||||
|
|
||||||
1. Test your changes, merge into `master`.
|
|
||||||
2. Checkout `master`.
|
|
||||||
3. Bump the version number in [`package.json`](package.json).
|
|
||||||
4. Run `./bin/build-release julia-actions/setup-julia` to create a release branch and build a release.
|
|
||||||
5. Push the branch (**without tags**) and verify that CI is passing on it.
|
|
||||||
6. Run `git push --tags --force` to update the tags.
|
|
||||||
7. Create a release for the `vX.Y.Z` tag.
|
|
||||||
|
|||||||
57
README.md
57
README.md
@@ -22,7 +22,7 @@ This action sets up a Julia environment for use in actions by downloading a spec
|
|||||||
### Inputs
|
### Inputs
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- uses: julia-actions/setup-julia@v1
|
- uses: julia-actions/setup-julia@v2
|
||||||
with:
|
with:
|
||||||
# The Julia version that will be installed and added as `julia` to the PATH.
|
# The Julia version that will be installed and added as `julia` to the PATH.
|
||||||
# See "Julia Versions" below for a list of valid values.
|
# See "Julia Versions" below for a list of valid values.
|
||||||
@@ -86,8 +86,8 @@ outputs:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1.0.0
|
- uses: actions/checkout@v4
|
||||||
- uses: julia-actions/setup-julia@v1
|
- uses: julia-actions/setup-julia@v2
|
||||||
with:
|
with:
|
||||||
version: '1.10'
|
version: '1.10'
|
||||||
- run: julia -e 'println("Hello, World!")'
|
- run: julia -e 'println("Hello, World!")'
|
||||||
@@ -109,6 +109,8 @@ 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`.
|
||||||
|
- `'lts'` will install the latest LTS build.
|
||||||
|
- `'pre'` will install the latest prerelease build.
|
||||||
- `'nightly'` will install the latest nightly build.
|
- `'nightly'` will install the latest nightly build.
|
||||||
- `'1.7-nightly'` will install the latest nightly build for the upcoming 1.7 release. This version will only be available during certain phases of the Julia release cycle.
|
- `'1.7-nightly'` will install the latest nightly build for the upcoming 1.7 release. This version will only be available during certain phases of the Julia release cycle.
|
||||||
|
|
||||||
@@ -133,7 +135,7 @@ With `include-all-prereleases: true`, it would match `1.3.0-rc1`, `1.3.0-rc2`, `
|
|||||||
If you want to run tests against the latest tagged version, no matter what version that is, you can use
|
If you want to run tests against the latest tagged version, no matter what version that is, you can use
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- uses: julia-actions/setup-julia@v1
|
- uses: julia-actions/setup-julia@v2
|
||||||
with:
|
with:
|
||||||
version: '1'
|
version: '1'
|
||||||
include-all-prereleases: true
|
include-all-prereleases: true
|
||||||
@@ -159,9 +161,9 @@ jobs:
|
|||||||
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@v4
|
||||||
- name: "Set up Julia"
|
- name: "Set up Julia"
|
||||||
uses: julia-actions/setup-julia@v1
|
uses: julia-actions/setup-julia@v2
|
||||||
with:
|
with:
|
||||||
version: ${{ matrix.julia-version }}
|
version: ${{ matrix.julia-version }}
|
||||||
- run: julia -e 'println("Hello, World!")'
|
- run: julia -e 'println("Hello, World!")'
|
||||||
@@ -185,9 +187,9 @@ jobs:
|
|||||||
julia-arch: x86
|
julia-arch: x86
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1.0.0
|
- uses: actions/checkout@v4
|
||||||
- name: "Set up Julia"
|
- name: "Set up Julia"
|
||||||
uses: julia-actions/setup-julia@v1
|
uses: julia-actions/setup-julia@v2
|
||||||
with:
|
with:
|
||||||
version: ${{ matrix.julia-version }}
|
version: ${{ matrix.julia-version }}
|
||||||
arch: ${{ matrix.julia-arch }}
|
arch: ${{ matrix.julia-arch }}
|
||||||
@@ -212,9 +214,9 @@ jobs:
|
|||||||
julia-arch: x86
|
julia-arch: x86
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1.0.0
|
- uses: actions/checkout@v4
|
||||||
- name: "Set up Julia"
|
- name: "Set up Julia"
|
||||||
uses: julia-actions/setup-julia@v1
|
uses: julia-actions/setup-julia@v2
|
||||||
with:
|
with:
|
||||||
version: ${{ matrix.julia-version }}
|
version: ${{ matrix.julia-version }}
|
||||||
- run: julia -e 'println("Hello, World!")'
|
- run: julia -e 'println("Hello, World!")'
|
||||||
@@ -237,23 +239,44 @@ This action follows [GitHub's advice](https://help.github.com/en/articles/about-
|
|||||||
|
|
||||||
If you don't want to deal with updating the version of the action, similiarly to how Travis CI handles it, use `latest` or major version branches. [Dependabot](https://dependabot.com/) can also be used to automatically create Pull Requests to update actions used in your workflows.
|
If you don't want to deal with updating the version of the action, similiarly to how Travis CI handles it, use `latest` or major version branches. [Dependabot](https://dependabot.com/) can also be used to automatically create Pull Requests to update actions used in your workflows.
|
||||||
|
|
||||||
It's unlikely, but not impossible, that there will be breaking changes post-v1.0.0 unless a new major version of Julia is introduced.
|
It's unlikely, but not impossible, that there will be breaking changes post-v2.0.0 unless a new major version of Julia is introduced.
|
||||||
|
|
||||||
You can specify commits, branches or tags in your workflows as follows:
|
You can specify commits, branches or tags in your workflows as follows:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- uses: julia-actions/setup-julia@d3ce119a16594ea9e5d7974813970c73b6ab9e94 # commit SHA of the tagged 1.4.1 commit
|
- uses: julia-actions/setup-julia@f2258781c657ad9b4b88072c5eeaf9ec8c370874 # commit SHA of the tagged 2.0.0 commit
|
||||||
- uses: julia-actions/setup-julia@latest # latest version tag (may break existing workflows)
|
- uses: julia-actions/setup-julia@latest # latest version tag (may break existing workflows)
|
||||||
- uses: julia-actions/setup-julia@v1 # major version tag
|
- uses: julia-actions/setup-julia@v2 # major version tag
|
||||||
- uses: julia-actions/setup-julia@v1.4 # minor version tag
|
- uses: julia-actions/setup-julia@v2.0 # minor version tag
|
||||||
- uses: julia-actions/setup-julia@v1.4.1 # specific version tag
|
- uses: julia-actions/setup-julia@v2.0.0 # specific version tag
|
||||||
```
|
```
|
||||||
|
|
||||||
If your workflow requires access to secrets, you should always pin it to a commit SHA instead of a tag.
|
If your workflow requires access to secrets, you should always pin it to a commit SHA instead of a tag.
|
||||||
This will protect you in case a bad actor gains access to the setup-julia repo.
|
This will protect you in case a bad actor gains access to the setup-julia repo.
|
||||||
You can find more information in [GitHub's security hardening guide](https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions).
|
You can find more information in [GitHub's security hardening guide](https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions).
|
||||||
|
|
||||||
|
## Using Dependabot version updates to keep your GitHub Actions up to date
|
||||||
|
|
||||||
|
We highly recommend that you set up Dependabot version updates on your repo to keep your GitHub Actions up to date.
|
||||||
|
|
||||||
|
To set up Dependabot version updates, create a file named `.github/dependabot.yml` in your repo with the following contents:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "github-actions"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "monthly"
|
||||||
|
open-pull-requests-limit: 99
|
||||||
|
labels:
|
||||||
|
- "dependencies"
|
||||||
|
- "github-actions"
|
||||||
|
```
|
||||||
|
|
||||||
|
For more details on Dependabot version updates, see the [GitHub Dependabot documentation](https://docs.github.com/en/code-security/dependabot/dependabot-version-updates).
|
||||||
|
|
||||||
## Debug logs
|
## Debug logs
|
||||||
|
|
||||||
You can enable [Step Debug Logs](https://github.com/actions/toolkit/blob/main/docs/action-debugging.md#step-debug-logs) for more detailed logs.
|
You can enable [Step Debug Logs](https://github.com/actions/toolkit/blob/main/docs/action-debugging.md#step-debug-logs) for more detailed logs.
|
||||||
@@ -262,3 +285,7 @@ Note that when debug logs are enabled, a request will be sent to `https://httpbi
|
|||||||
## Third party information
|
## Third party information
|
||||||
Parts of this software have been derived from other open source software.
|
Parts of this software have been derived from other open source software.
|
||||||
See [THIRD_PARTY_NOTICE.md](THIRD_PARTY_NOTICE.md) for details.
|
See [THIRD_PARTY_NOTICE.md](THIRD_PARTY_NOTICE.md) for details.
|
||||||
|
|
||||||
|
## Contributing to this repo
|
||||||
|
|
||||||
|
Please see the README in the [`devdocs/`](devdocs/) folder.
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -4,30 +4,30 @@
|
|||||||
import * as path from 'path'
|
import * as path from 'path'
|
||||||
|
|
||||||
import * as io from '@actions/io'
|
import * as io from '@actions/io'
|
||||||
|
|
||||||
import nock = require('nock')
|
|
||||||
import * as semver from 'semver'
|
import * as semver from 'semver'
|
||||||
|
|
||||||
|
import nock = require('nock')
|
||||||
|
|
||||||
const testVersions = [
|
const testVersions = [
|
||||||
'0.1.2', '0.2.0', '0.2.1', '0.3.0',
|
'0.1.2',
|
||||||
'0.3.1', '0.3.10', '0.3.11', '0.3.12',
|
'0.2.0', '0.2.1',
|
||||||
'0.3.2', '0.3.3', '0.3.4', '0.3.5',
|
'0.3.0', '0.3.1', '0.3.10', '0.3.11', '0.3.12', '0.3.2', '0.3.3', '0.3.4', '0.3.5', '0.3.6', '0.3.7', '0.3.8', '0.3.9',
|
||||||
'0.3.6', '0.3.7', '0.3.8', '0.3.9',
|
'0.4.0', '0.4.0-rc1', '0.4.0-rc2', '0.4.0-rc3', '0.4.0-rc4', '0.4.1', '0.4.2', '0.4.3', '0.4.4', '0.4.5', '0.4.6', '0.4.7',
|
||||||
'0.4.0', '0.4.0-rc1', '0.4.0-rc2', '0.4.0-rc3',
|
'0.5.0', '0.5.0-rc0', '0.5.0-rc1', '0.5.0-rc2', '0.5.0-rc3', '0.5.0-rc4', '0.5.1', '0.5.2',
|
||||||
'0.4.0-rc4', '0.4.1', '0.4.2', '0.4.3',
|
'0.6.0', '0.6.0-pre.alpha', '0.6.0-pre.beta', '0.6.0-rc1', '0.6.0-rc2', '0.6.0-rc3', '0.6.1', '0.6.2', '0.6.3', '0.6.4',
|
||||||
'0.4.4', '0.4.5', '0.4.6', '0.4.7',
|
'0.7.0', '0.7.0-alpha', '0.7.0-beta', '0.7.0-beta2', '0.7.0-rc1', '0.7.0-rc2', '0.7.0-rc3',
|
||||||
'0.5.0', '0.5.0-rc0', '0.5.0-rc1', '0.5.0-rc2',
|
'1.0.0', '1.0.0-rc1', '1.0.1', '1.0.2', '1.0.3', '1.0.4', '1.0.5',
|
||||||
'0.5.0-rc3', '0.5.0-rc4', '0.5.1', '0.5.2',
|
'1.1.0', '1.1.0-rc1', '1.1.0-rc2', '1.1.1',
|
||||||
'0.6.0', '0.6.0-pre.alpha', '0.6.0-pre.beta', '0.6.0-rc1',
|
'1.2.0', '1.2.0-rc1', '1.2.0-rc2', '1.2.0-rc3',
|
||||||
'0.6.0-rc2', '0.6.0-rc3', '0.6.1', '0.6.2',
|
'1.3.0', '1.3.0-alpha', '1.3.0-rc1', '1.3.0-rc2', '1.3.0-rc3', '1.3.0-rc4', '1.3.0-rc5', '1.3.1',
|
||||||
'0.6.3', '0.6.4', '0.7.0', '0.7.0-alpha',
|
'1.4.0', '1.4.0-rc1', '1.4.0-rc2', '1.4.1', '1.4.2',
|
||||||
'0.7.0-beta', '0.7.0-beta2', '0.7.0-rc1', '0.7.0-rc2',
|
'1.5.0', '1.5.0-beta1', '1.5.0-rc1', '1.5.0-rc2', '1.5.1', '1.5.2', '1.5.3', '1.5.4',
|
||||||
'0.7.0-rc3', '1.0.0', '1.0.0-rc1', '1.0.1',
|
'1.6.0', '1.6.0-beta1', '1.6.0-rc1', '1.6.0-rc2', '1.6.0-rc3', '1.6.1', '1.6.2', '1.6.3', '1.6.4', '1.6.5', '1.6.6', '1.6.7',
|
||||||
'1.0.2', '1.0.3', '1.0.4', '1.0.5',
|
'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.1.0', '1.1.0-rc1', '1.1.0-rc2', '1.1.1',
|
'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.2.0', '1.2.0-rc1', '1.2.0-rc2', '1.2.0-rc3',
|
'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.3.0-alpha', '1.3.0-rc1', '1.3.0-rc2', '1.3.0-rc3',
|
'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.3.0-rc4'
|
'1.11.0-alpha1', '1.11.0-alpha2', '1.11.0-beta1'
|
||||||
]
|
]
|
||||||
|
|
||||||
const toolDir = path.join(__dirname, 'runner', 'tools')
|
const toolDir = path.join(__dirname, 'runner', 'tools')
|
||||||
@@ -55,22 +55,33 @@ describe('version matching tests', () => {
|
|||||||
expect(installer.getJuliaVersion([], 'nightly')).toEqual('nightly')
|
expect(installer.getJuliaVersion([], 'nightly')).toEqual('nightly')
|
||||||
expect(installer.getJuliaVersion(testVersions, 'nightly')).toEqual('nightly')
|
expect(installer.getJuliaVersion(testVersions, 'nightly')).toEqual('nightly')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('LTS', () => {
|
||||||
|
// Update test when LTS is updated
|
||||||
|
expect(installer.getJuliaVersion(testVersions, 'lts')).toEqual(installer.getJuliaVersion(testVersions, '1.6'))
|
||||||
|
expect(installer.getJuliaVersion(testVersions, 'lts')).toEqual('1.6.7')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('pre', () => {
|
||||||
|
expect(installer.getJuliaVersion(testVersions, 'pre')).toEqual('1.11.0-beta1')
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
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.2.0')
|
expect(installer.getJuliaVersion(testVersions, '1')).toEqual('1.10.2')
|
||||||
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.3.0-rc4')
|
expect(installer.getJuliaVersion(testVersions, '^1.3.0-rc1')).toEqual('1.10.2')
|
||||||
expect(installer.getJuliaVersion(testVersions, '^1.2.0-rc1')).toEqual('1.2.0')
|
expect(installer.getJuliaVersion(testVersions, '^1.2.0-rc1')).toEqual('1.10.2')
|
||||||
|
expect(installer.getJuliaVersion(testVersions, '^1.10.0-rc1')).toEqual('1.10.2')
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
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.3.0-rc4')
|
expect(installer.getJuliaVersion(testVersions, '^1.2.0-0', true)).toEqual('1.11.0-beta1')
|
||||||
expect(installer.getJuliaVersion(testVersions, '1', true)).toEqual('1.3.0-rc4')
|
expect(installer.getJuliaVersion(testVersions, '1', true)).toEqual('1.11.0-beta1')
|
||||||
expect(installer.getJuliaVersion(testVersions, '^1.2.0-0', false)).toEqual('1.2.0')
|
expect(installer.getJuliaVersion(testVersions, '^1.2.0-0', false)).toEqual('1.10.2')
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,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: 'node16'
|
using: 'node20'
|
||||||
main: 'dist/index.js'
|
main: 'dist/index.js'
|
||||||
branding:
|
branding:
|
||||||
icon: 'download'
|
icon: 'download'
|
||||||
|
|||||||
7
devdocs/README.md
Normal file
7
devdocs/README.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# Devdocs for the `setup-julia` repo
|
||||||
|
|
||||||
|
If you want to make a pull request to this repo, please read the following:
|
||||||
|
1. [Local development](local_setup.md)
|
||||||
|
|
||||||
|
If you have commit access to this repo, you may be interested in the following:
|
||||||
|
1. [Making a new release of this action](making_a_new_release.md)
|
||||||
47
devdocs/local_setup.md
Normal file
47
devdocs/local_setup.md
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
# Local development
|
||||||
|
|
||||||
|
## 1. Clone the repo
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone git@github.com:julia-actions/setup-julia.git
|
||||||
|
cd setup-julia
|
||||||
|
```
|
||||||
|
|
||||||
|
## 2. Install NodeJS
|
||||||
|
|
||||||
|
### Unix, using `asdf` (recommended, but not required)
|
||||||
|
|
||||||
|
First, make sure that you have installed [`asdf`](https://asdf-vm.com/) on your local machine.
|
||||||
|
|
||||||
|
Then, `cd` to your clone of the repo and run the following commands:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
asdf plugin add nodejs
|
||||||
|
asdf install
|
||||||
|
```
|
||||||
|
|
||||||
|
This will use `asdf` to install the correct version of NodeJS.
|
||||||
|
|
||||||
|
### Unix, but not using `asdf`
|
||||||
|
|
||||||
|
Instead of using `asdf`, you can instead choose to install NodeJS manually.
|
||||||
|
|
||||||
|
First, check the `.tool-versions` file in this repo, and see what version of NodeJS you need. Then, install that same version of NodejS on your local machine.
|
||||||
|
|
||||||
|
### Windows
|
||||||
|
|
||||||
|
`asdf` does not (currently) support Windows. So on Windows, you have to install NodeJS manually.
|
||||||
|
|
||||||
|
First, check the `.tool-versions` file in this repo, and see what version of NodeJS you need. Then, install that same version of NodejS on your local machine.
|
||||||
|
|
||||||
|
## 3. Working locally
|
||||||
|
|
||||||
|
First, `cd` to your clone of the repo. Now you can run the following commands:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm ci
|
||||||
|
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
When you are ready, you can commit your changes and push them to your PR.
|
||||||
128
devdocs/making_a_new_release.md
Normal file
128
devdocs/making_a_new_release.md
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
# Making a new release of this action (requires commit access)
|
||||||
|
|
||||||
|
If you have commit access to this repo, you can make a new release.
|
||||||
|
|
||||||
|
Here are the instructions.
|
||||||
|
|
||||||
|
## Step 1: Clone a fresh copy of the repo
|
||||||
|
|
||||||
|
We intentionally work in a brand-new copy of the repo.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone git@github.com:julia-actions/setup-julia.git
|
||||||
|
cd setup-julia
|
||||||
|
git checkout master
|
||||||
|
git submodule init
|
||||||
|
git submodule update
|
||||||
|
```
|
||||||
|
|
||||||
|
## Step 2: Make sure you have the right version of NodeJS
|
||||||
|
|
||||||
|
If you use [`asdf`](https://asdf-vm.com/), this is as simple as:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
asdf plugin add nodejs
|
||||||
|
asdf install
|
||||||
|
```
|
||||||
|
|
||||||
|
If you don't use `asdf`, then you need to:
|
||||||
|
1. Open the `./tool-versions` file in the root of the repo.
|
||||||
|
2. Make note of the NodeJS version listed in the `.tool-versions` file.
|
||||||
|
3. Install that same version of NodeJS on your machine.
|
||||||
|
4. Make sure that you are currently using that version of NodeJS (i.e. it is at the front of your PATH).
|
||||||
|
|
||||||
|
## Step 3: Edit the `version` field in `package.json`
|
||||||
|
|
||||||
|
```bash
|
||||||
|
vim package.json
|
||||||
|
|
||||||
|
# Edit the `version` number (should be line 2)
|
||||||
|
# Save your changes in Vim. Then exit Vim.
|
||||||
|
|
||||||
|
# For the remaining of this guide, let MAJOR.MINOR.PATCH refer
|
||||||
|
# to the new version number that you set.
|
||||||
|
|
||||||
|
git add package.json
|
||||||
|
|
||||||
|
# No need to commit yet.
|
||||||
|
# The release script will run `git commit`.
|
||||||
|
```
|
||||||
|
|
||||||
|
## Step 4: Remove the `dist/` line from the `.gitignore` file
|
||||||
|
|
||||||
|
```bash
|
||||||
|
vim .gitignore
|
||||||
|
# Delete the line that says `dist/` (it should be line 3)
|
||||||
|
# Save your changes in Vim. Then exit Vim.
|
||||||
|
|
||||||
|
git add .gitignore
|
||||||
|
|
||||||
|
# No need to commit yet.
|
||||||
|
# The release script will run `git commit`.
|
||||||
|
```
|
||||||
|
|
||||||
|
## Step 5: Make sure you have the necessary dependencies
|
||||||
|
|
||||||
|
The `build-release.sh` script requires the following dependencies:
|
||||||
|
|
||||||
|
1. Bash
|
||||||
|
2. `curl`
|
||||||
|
3. `git`
|
||||||
|
4. `jq`
|
||||||
|
5. `sed`
|
||||||
|
|
||||||
|
## Step 6: Run the `build-release.sh` script
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ls -l bin/build-release.sh
|
||||||
|
chmod +x bin/build-release.sh
|
||||||
|
ls -l bin/build-release.sh
|
||||||
|
|
||||||
|
./bin/build-release.sh julia-actions/setup-julia
|
||||||
|
```
|
||||||
|
|
||||||
|
Wait a minute or two. The script will build everything and will create a new release branch named `releases/vMAJOR.MINOR.PATCH`.
|
||||||
|
|
||||||
|
## Step 7: Push ONLY the `releases/vMAJOR.MINOR.PATCH` branch
|
||||||
|
|
||||||
|
Only push the `releases/` branch. Do NOT push any tags yet.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git push origin releases/vMAJOR.MINOR.PATCH
|
||||||
|
```
|
||||||
|
|
||||||
|
Now you need to go to https://github.com/julia-actions/setup-julia/tree/releases/vMAJOR.MINOR.PATCH and wait for CI to finish running.
|
||||||
|
|
||||||
|
Do NOT proceed to the next step until CI is all green on the `releases/vMAJOR.MINOR.PATCH` branch.
|
||||||
|
|
||||||
|
## Step 8: Push the tags (only after CI is all green)
|
||||||
|
|
||||||
|
Once CI is all green on the `releases/vMAJOR.MINOR.PATCH` branch, you can push the tags.
|
||||||
|
|
||||||
|
You need to force-push.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git push --tags --force
|
||||||
|
```
|
||||||
|
|
||||||
|
## Step 9: Use the GitHub web UI to create a new GitHub Release
|
||||||
|
|
||||||
|
Go to https://github.com/julia-actions/setup-julia/releases and create a new release for the now-existant `vMAJOR.MINOR.PATCH` tag using the GitHub web interface.
|
||||||
|
|
||||||
|
## Step 10: Clean up your local repo
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git submodule deinit --force .
|
||||||
|
git submodule update --init
|
||||||
|
git fetch --all --prune
|
||||||
|
git checkout master
|
||||||
|
git reset --hard origin/master
|
||||||
|
```
|
||||||
|
|
||||||
|
## Step 11: Delete your local repo
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd ..
|
||||||
|
ls setup-julia
|
||||||
|
rm -rf setup-julia
|
||||||
|
```
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# Contributors
|
# Misc notes for contributors
|
||||||
|
|
||||||
### Checkin
|
### Checkin
|
||||||
|
|
||||||
10103
dist/index.js
vendored
Normal file
10103
dist/index.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
37
lib/installer.js
generated
37
lib/installer.js
generated
@@ -42,6 +42,8 @@ const os = __importStar(require("os"));
|
|||||||
const path = __importStar(require("path"));
|
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 LTS_VERSION = '1.6';
|
||||||
|
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 = {
|
||||||
'win32': 'winnt',
|
'win32': 'winnt',
|
||||||
@@ -111,6 +113,12 @@ function getJuliaVersion(availableReleases, versionInput, includePrerelease = fa
|
|||||||
// versionInput is a valid version or a nightly version, use it directly
|
// versionInput is a valid version or a nightly version, use it directly
|
||||||
return versionInput;
|
return versionInput;
|
||||||
}
|
}
|
||||||
|
if (versionInput == 'lts') {
|
||||||
|
return getJuliaVersion(availableReleases, LTS_VERSION, false);
|
||||||
|
}
|
||||||
|
if (versionInput == 'pre') {
|
||||||
|
return getJuliaVersion(availableReleases, MAJOR_VERSION, true);
|
||||||
|
}
|
||||||
// Use the highest available version that matches versionInput
|
// Use the highest available version that matches versionInput
|
||||||
let version = semver.maxSatisfying(availableReleases, versionInput, { includePrerelease });
|
let version = semver.maxSatisfying(availableReleases, versionInput, { includePrerelease });
|
||||||
if (version == null) {
|
if (version == null) {
|
||||||
@@ -150,18 +158,32 @@ function getNightlyFileName(arch) {
|
|||||||
let fileExt1;
|
let fileExt1;
|
||||||
[fileExt1, ,] = getDesiredFileExts();
|
[fileExt1, ,] = getDesiredFileExts();
|
||||||
if (osPlat == 'win32') {
|
if (osPlat == 'win32') {
|
||||||
versionExt = arch == 'x64' ? '-win64' : '-win32';
|
if (arch == 'x86') {
|
||||||
|
versionExt = '-win32';
|
||||||
|
}
|
||||||
|
else if (arch == 'aarch64') {
|
||||||
|
throw new Error('Aarch64 Julia is not available on Windows');
|
||||||
|
}
|
||||||
|
else if (arch == 'x64') {
|
||||||
|
versionExt = '-win64';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw new Error(`Architecture ${arch} is not supported on Windows`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
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 (x86) Julia is not available on macOS');
|
||||||
}
|
}
|
||||||
else if (arch == 'aarch64') {
|
else if (arch == 'aarch64') {
|
||||||
versionExt = '-macaarch64';
|
versionExt = '-macaarch64';
|
||||||
}
|
}
|
||||||
else {
|
else if (arch == 'x64') {
|
||||||
versionExt = '-mac64';
|
versionExt = '-mac64';
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
throw new Error(`Architecture ${arch} is not supported on macOS`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (osPlat === 'linux') {
|
else if (osPlat === 'linux') {
|
||||||
if (arch == 'x86') {
|
if (arch == 'x86') {
|
||||||
@@ -170,9 +192,12 @@ function getNightlyFileName(arch) {
|
|||||||
else if (arch == 'aarch64') {
|
else if (arch == 'aarch64') {
|
||||||
versionExt = '-linux-aarch64';
|
versionExt = '-linux-aarch64';
|
||||||
}
|
}
|
||||||
else {
|
else if (arch == 'x64') {
|
||||||
versionExt = '-linux64';
|
versionExt = '-linux64';
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
throw new Error(`Architecture ${arch} is not supported on Linux`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
throw new Error(`Platform ${osPlat} is not supported`);
|
throw new Error(`Platform ${osPlat} is not supported`);
|
||||||
@@ -274,7 +299,9 @@ function installJulia(dest, versionInfo, version, arch) {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// This is the more common path. Using .tar.gz is much faster
|
// This is the more common path. Using .tar.gz is much faster
|
||||||
yield exec.exec('powershell', ['-Command', `tar xf ${juliaDownloadPath} --strip-components=1 -C ${dest}`]);
|
// don't use the Git bash provided tar. Issue #205
|
||||||
|
// https://github.com/julia-actions/setup-julia/issues/205
|
||||||
|
yield exec.exec('powershell', ['-Command', `& "$env:WINDIR/System32/tar" xf ${juliaDownloadPath} --strip-components=1 -C ${dest}`]);
|
||||||
}
|
}
|
||||||
return dest;
|
return dest;
|
||||||
case 'darwin':
|
case 'darwin':
|
||||||
|
|||||||
173
package-lock.json
generated
173
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "setup-julia",
|
"name": "setup-julia",
|
||||||
"version": "1.9.6",
|
"version": "2.2.0",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "setup-julia",
|
"name": "setup-julia",
|
||||||
"version": "1.9.6",
|
"version": "2.2.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.10.1",
|
"@actions/core": "^1.10.1",
|
||||||
@@ -14,21 +14,21 @@
|
|||||||
"@actions/io": "^1.1.3",
|
"@actions/io": "^1.1.3",
|
||||||
"@actions/tool-cache": "^2.0.1",
|
"@actions/tool-cache": "^2.0.1",
|
||||||
"async-retry": "^1.3.3",
|
"async-retry": "^1.3.3",
|
||||||
"semver": "^7.6.0"
|
"semver": "^7.6.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/async-retry": "^1.4.8",
|
"@types/async-retry": "^1.4.8",
|
||||||
"@types/jest": "^29.5.12",
|
"@types/jest": "^29.5.12",
|
||||||
"@types/node": "^20.11.16",
|
"@types/node": "^20.14.6",
|
||||||
"@types/retry": "^0.12.5",
|
"@types/retry": "^0.12.5",
|
||||||
"@types/semver": "^7.5.6",
|
"@types/semver": "^7.5.8",
|
||||||
"@vercel/ncc": "^0.38.1",
|
"@vercel/ncc": "^0.38.1",
|
||||||
"jest": "^29.7.0",
|
"jest": "^29.7.0",
|
||||||
"jest-circus": "^29.7.0",
|
"jest-circus": "^29.7.0",
|
||||||
"nock": "^13.5.1",
|
"nock": "^13.5.4",
|
||||||
"prettier": "^3.2.5",
|
"prettier": "^3.3.2",
|
||||||
"ts-jest": "^29.1.2",
|
"ts-jest": "^29.1.5",
|
||||||
"typescript": "^5.3.3"
|
"typescript": "^5.4.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@actions/core": {
|
"node_modules/@actions/core": {
|
||||||
@@ -1467,9 +1467,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "20.11.16",
|
"version": "20.14.6",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.6.tgz",
|
||||||
"integrity": "sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==",
|
"integrity": "sha512-JbA0XIJPL1IiNnU7PFxDXyfAwcwVVrOoqyzzyQTyMeVhBzkJVMSkC1LlVsRQ2lpqiY4n6Bb9oCS6lzDKVQxbZw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~5.26.4"
|
"undici-types": "~5.26.4"
|
||||||
@@ -1482,9 +1482,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@types/semver": {
|
"node_modules/@types/semver": {
|
||||||
"version": "7.5.6",
|
"version": "7.5.8",
|
||||||
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz",
|
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
|
||||||
"integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
|
"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@types/stack-utils": {
|
"node_modules/@types/stack-utils": {
|
||||||
@@ -1761,12 +1761,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/braces": {
|
"node_modules/braces": {
|
||||||
"version": "3.0.2",
|
"version": "3.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
|
||||||
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fill-range": "^7.0.1"
|
"fill-range": "^7.1.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
@@ -2259,9 +2259,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/fill-range": {
|
"node_modules/fill-range": {
|
||||||
"version": "7.0.1",
|
"version": "7.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
|
||||||
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"to-regex-range": "^5.0.1"
|
"to-regex-range": "^5.0.1"
|
||||||
@@ -4388,9 +4388,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/nock": {
|
"node_modules/nock": {
|
||||||
"version": "13.5.1",
|
"version": "13.5.4",
|
||||||
"resolved": "https://registry.npmjs.org/nock/-/nock-13.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/nock/-/nock-13.5.4.tgz",
|
||||||
"integrity": "sha512-+s7b73fzj5KnxbKH4Oaqz07tQ8degcMilU4rrmnKvI//b0JMBU4wEXFQ8zqr+3+L4eWSfU3H/UoIVGUV0tue1Q==",
|
"integrity": "sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"debug": "^4.1.0",
|
"debug": "^4.1.0",
|
||||||
@@ -4585,9 +4585,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/prettier": {
|
"node_modules/prettier": {
|
||||||
"version": "3.2.5",
|
"version": "3.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz",
|
||||||
"integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==",
|
"integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"prettier": "bin/prettier.cjs"
|
"prettier": "bin/prettier.cjs"
|
||||||
@@ -4740,12 +4740,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/semver": {
|
"node_modules/semver": {
|
||||||
"version": "7.6.0",
|
"version": "7.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
|
||||||
"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
|
"integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
|
||||||
"dependencies": {
|
|
||||||
"lru-cache": "^6.0.0"
|
|
||||||
},
|
|
||||||
"bin": {
|
"bin": {
|
||||||
"semver": "bin/semver.js"
|
"semver": "bin/semver.js"
|
||||||
},
|
},
|
||||||
@@ -4753,22 +4750,6 @@
|
|||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/semver/node_modules/lru-cache": {
|
|
||||||
"version": "6.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
|
||||||
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
|
||||||
"dependencies": {
|
|
||||||
"yallist": "^4.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/semver/node_modules/yallist": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
|
|
||||||
},
|
|
||||||
"node_modules/shebang-command": {
|
"node_modules/shebang-command": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
||||||
@@ -4992,9 +4973,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ts-jest": {
|
"node_modules/ts-jest": {
|
||||||
"version": "29.1.2",
|
"version": "29.1.5",
|
||||||
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.5.tgz",
|
||||||
"integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==",
|
"integrity": "sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bs-logger": "0.x",
|
"bs-logger": "0.x",
|
||||||
@@ -5010,10 +4991,11 @@
|
|||||||
"ts-jest": "cli.js"
|
"ts-jest": "cli.js"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^16.10.0 || ^18.0.0 || >=20.0.0"
|
"node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@babel/core": ">=7.0.0-beta.0 <8",
|
"@babel/core": ">=7.0.0-beta.0 <8",
|
||||||
|
"@jest/transform": "^29.0.0",
|
||||||
"@jest/types": "^29.0.0",
|
"@jest/types": "^29.0.0",
|
||||||
"babel-jest": "^29.0.0",
|
"babel-jest": "^29.0.0",
|
||||||
"jest": "^29.0.0",
|
"jest": "^29.0.0",
|
||||||
@@ -5023,6 +5005,9 @@
|
|||||||
"@babel/core": {
|
"@babel/core": {
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
|
"@jest/transform": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"@jest/types": {
|
"@jest/types": {
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
@@ -5064,9 +5049,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/typescript": {
|
"node_modules/typescript": {
|
||||||
"version": "5.3.3",
|
"version": "5.4.5",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
|
||||||
"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
|
"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"tsc": "bin/tsc",
|
"tsc": "bin/tsc",
|
||||||
@@ -6415,9 +6400,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "20.11.16",
|
"version": "20.14.6",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.6.tgz",
|
||||||
"integrity": "sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==",
|
"integrity": "sha512-JbA0XIJPL1IiNnU7PFxDXyfAwcwVVrOoqyzzyQTyMeVhBzkJVMSkC1LlVsRQ2lpqiY4n6Bb9oCS6lzDKVQxbZw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"undici-types": "~5.26.4"
|
"undici-types": "~5.26.4"
|
||||||
@@ -6430,9 +6415,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/semver": {
|
"@types/semver": {
|
||||||
"version": "7.5.6",
|
"version": "7.5.8",
|
||||||
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz",
|
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
|
||||||
"integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
|
"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/stack-utils": {
|
"@types/stack-utils": {
|
||||||
@@ -6651,12 +6636,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"braces": {
|
"braces": {
|
||||||
"version": "3.0.2",
|
"version": "3.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
|
||||||
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"fill-range": "^7.0.1"
|
"fill-range": "^7.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"browserslist": {
|
"browserslist": {
|
||||||
@@ -7003,9 +6988,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fill-range": {
|
"fill-range": {
|
||||||
"version": "7.0.1",
|
"version": "7.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
|
||||||
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"to-regex-range": "^5.0.1"
|
"to-regex-range": "^5.0.1"
|
||||||
@@ -8587,9 +8572,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"nock": {
|
"nock": {
|
||||||
"version": "13.5.1",
|
"version": "13.5.4",
|
||||||
"resolved": "https://registry.npmjs.org/nock/-/nock-13.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/nock/-/nock-13.5.4.tgz",
|
||||||
"integrity": "sha512-+s7b73fzj5KnxbKH4Oaqz07tQ8degcMilU4rrmnKvI//b0JMBU4wEXFQ8zqr+3+L4eWSfU3H/UoIVGUV0tue1Q==",
|
"integrity": "sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"debug": "^4.1.0",
|
"debug": "^4.1.0",
|
||||||
@@ -8730,9 +8715,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"prettier": {
|
"prettier": {
|
||||||
"version": "3.2.5",
|
"version": "3.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz",
|
||||||
"integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==",
|
"integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"pretty-format": {
|
"pretty-format": {
|
||||||
@@ -8832,27 +8817,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "7.6.0",
|
"version": "7.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
|
||||||
"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
|
"integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w=="
|
||||||
"requires": {
|
|
||||||
"lru-cache": "^6.0.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"lru-cache": {
|
|
||||||
"version": "6.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
|
||||||
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
|
||||||
"requires": {
|
|
||||||
"yallist": "^4.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"yallist": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"shebang-command": {
|
"shebang-command": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
@@ -9022,9 +8989,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ts-jest": {
|
"ts-jest": {
|
||||||
"version": "29.1.2",
|
"version": "29.1.5",
|
||||||
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.5.tgz",
|
||||||
"integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==",
|
"integrity": "sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"bs-logger": "0.x",
|
"bs-logger": "0.x",
|
||||||
@@ -9055,9 +9022,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"typescript": {
|
"typescript": {
|
||||||
"version": "5.3.3",
|
"version": "5.4.5",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
|
||||||
"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
|
"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"undici-types": {
|
"undici-types": {
|
||||||
|
|||||||
16
package.json
16
package.json
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "setup-julia",
|
"name": "setup-julia",
|
||||||
"version": "1.9.6",
|
"version": "2.2.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "setup Julia action",
|
"description": "setup Julia action",
|
||||||
"main": "lib/setup-julia.js",
|
"main": "lib/setup-julia.js",
|
||||||
@@ -26,20 +26,20 @@
|
|||||||
"@actions/io": "^1.1.3",
|
"@actions/io": "^1.1.3",
|
||||||
"@actions/tool-cache": "^2.0.1",
|
"@actions/tool-cache": "^2.0.1",
|
||||||
"async-retry": "^1.3.3",
|
"async-retry": "^1.3.3",
|
||||||
"semver": "^7.6.0"
|
"semver": "^7.6.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/async-retry": "^1.4.8",
|
"@types/async-retry": "^1.4.8",
|
||||||
"@types/jest": "^29.5.12",
|
"@types/jest": "^29.5.12",
|
||||||
"@types/node": "^20.11.16",
|
"@types/node": "^20.14.6",
|
||||||
"@types/retry": "^0.12.5",
|
"@types/retry": "^0.12.5",
|
||||||
"@types/semver": "^7.5.6",
|
"@types/semver": "^7.5.8",
|
||||||
"@vercel/ncc": "^0.38.1",
|
"@vercel/ncc": "^0.38.1",
|
||||||
"jest": "^29.7.0",
|
"jest": "^29.7.0",
|
||||||
"jest-circus": "^29.7.0",
|
"jest-circus": "^29.7.0",
|
||||||
"nock": "^13.5.1",
|
"nock": "^13.5.4",
|
||||||
"prettier": "^3.2.5",
|
"prettier": "^3.3.2",
|
||||||
"ts-jest": "^29.1.2",
|
"ts-jest": "^29.1.5",
|
||||||
"typescript": "^5.3.3"
|
"typescript": "^5.4.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ import retry = require('async-retry')
|
|||||||
|
|
||||||
import * as semver from 'semver'
|
import * as semver from 'semver'
|
||||||
|
|
||||||
|
const LTS_VERSION = '1.6'
|
||||||
|
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 = {
|
||||||
'win32': 'winnt',
|
'win32': 'winnt',
|
||||||
@@ -82,6 +85,14 @@ export function getJuliaVersion(availableReleases: string[], versionInput: strin
|
|||||||
return versionInput
|
return versionInput
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (versionInput == 'lts') {
|
||||||
|
return getJuliaVersion(availableReleases, LTS_VERSION, false)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (versionInput == 'pre') {
|
||||||
|
return getJuliaVersion(availableReleases, MAJOR_VERSION, true)
|
||||||
|
}
|
||||||
|
|
||||||
// Use the highest available version that matches versionInput
|
// Use the highest available version that matches versionInput
|
||||||
let version = semver.maxSatisfying(availableReleases, versionInput, {includePrerelease})
|
let version = semver.maxSatisfying(availableReleases, versionInput, {includePrerelease})
|
||||||
if (version == null) {
|
if (version == null) {
|
||||||
@@ -124,22 +135,34 @@ function getNightlyFileName(arch: string): string {
|
|||||||
[fileExt1, , ] = getDesiredFileExts()
|
[fileExt1, , ] = getDesiredFileExts()
|
||||||
|
|
||||||
if (osPlat == 'win32') {
|
if (osPlat == 'win32') {
|
||||||
versionExt = arch == 'x64' ? '-win64' : '-win32'
|
if (arch == 'x86') {
|
||||||
|
versionExt = '-win32'
|
||||||
|
} else if (arch == 'aarch64') {
|
||||||
|
throw new Error('Aarch64 Julia is not available on Windows')
|
||||||
|
} else if (arch == 'x64') {
|
||||||
|
versionExt = '-win64'
|
||||||
|
} else {
|
||||||
|
throw new Error(`Architecture ${arch} is not supported on Windows`)
|
||||||
|
}
|
||||||
} 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 (x86) Julia is not available on macOS')
|
||||||
} else if (arch == 'aarch64') {
|
} else if (arch == 'aarch64') {
|
||||||
versionExt = '-macaarch64'
|
versionExt = '-macaarch64'
|
||||||
} else {
|
} else if (arch == 'x64') {
|
||||||
versionExt = '-mac64'
|
versionExt = '-mac64'
|
||||||
|
} else {
|
||||||
|
throw new Error(`Architecture ${arch} is not supported on macOS`)
|
||||||
}
|
}
|
||||||
} else if (osPlat === 'linux') {
|
} else if (osPlat === 'linux') {
|
||||||
if (arch == 'x86') {
|
if (arch == 'x86') {
|
||||||
versionExt = '-linux32'
|
versionExt = '-linux32'
|
||||||
} else if (arch == 'aarch64') {
|
} else if (arch == 'aarch64') {
|
||||||
versionExt = '-linux-aarch64'
|
versionExt = '-linux-aarch64'
|
||||||
} else {
|
} else if (arch == 'x64') {
|
||||||
versionExt = '-linux64'
|
versionExt = '-linux64'
|
||||||
|
} else {
|
||||||
|
throw new Error(`Architecture ${arch} is not supported on Linux`)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new Error(`Platform ${osPlat} is not supported`)
|
throw new Error(`Platform ${osPlat} is not supported`)
|
||||||
@@ -251,7 +274,9 @@ export async function installJulia(dest: string, versionInfo, version: string, a
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// This is the more common path. Using .tar.gz is much faster
|
// This is the more common path. Using .tar.gz is much faster
|
||||||
await exec.exec('powershell', ['-Command', `tar xf ${juliaDownloadPath} --strip-components=1 -C ${dest}`])
|
// don't use the Git bash provided tar. Issue #205
|
||||||
|
// https://github.com/julia-actions/setup-julia/issues/205
|
||||||
|
await exec.exec('powershell', ['-Command', `& "$env:WINDIR/System32/tar" xf ${juliaDownloadPath} --strip-components=1 -C ${dest}`])
|
||||||
}
|
}
|
||||||
return dest
|
return dest
|
||||||
case 'darwin':
|
case 'darwin':
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import * as core from '@actions/core'
|
import * as core from '@actions/core'
|
||||||
import * as exec from '@actions/exec'
|
|
||||||
import * as tc from '@actions/tool-cache'
|
import * as tc from '@actions/tool-cache'
|
||||||
|
|
||||||
import * as fs from 'fs'
|
import * as fs from 'fs'
|
||||||
|
|||||||
Reference in New Issue
Block a user