Compare commits

..

51 Commits

Author SHA1 Message Date
Ian Butterworth
a1561e938c Add production dependencies & build 2024-01-05 13:28:51 -05:00
Ian Butterworth
f3d4142aa8 v1.9.5 (#201) 2024-01-05 13:27:42 -05:00
Ian Butterworth
d3d61d99d5 extract julia directly to tool path to maintain mtimes (#196)
Co-authored-by: Dilum Aluthge <dilum@aluthge.com>
Co-authored-by: Curtis Vogt <curtis.vogt@gmail.com>
2024-01-05 12:49:05 -05:00
Ian Butterworth
a46a85f797 add test for julia install and mtime maintenance (#200) 2024-01-05 12:36:56 -05:00
dependabot[bot]
15b8728ec6 Bump @types/node from 20.10.3 to 20.10.6 (#199)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.10.3 to 20.10.6.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-04 07:00:10 +00:00
dependabot[bot]
82b8fbfebd Bump typescript from 5.3.2 to 5.3.3 (#191)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.3.2 to 5.3.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.3.2...v5.3.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-04 12:25:01 +05:30
dependabot[bot]
0affa9ffb0 Bump nock from 13.3.8 to 13.4.0 (#198)
Bumps [nock](https://github.com/nock/nock) from 13.3.8 to 13.4.0.
- [Release notes](https://github.com/nock/nock/releases)
- [Changelog](https://github.com/nock/nock/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nock/nock/compare/v13.3.8...v13.4.0)

---
updated-dependencies:
- dependency-name: nock
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-04 12:21:33 +05:30
Viral B. Shah
e27a7638ca Update dependabot.yml (#197) 2024-01-04 12:06:46 +05:30
dependabot[bot]
67c6198a06 Bump ts-jest from 29.0.5 to 29.1.1 (#193)
Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.0.5 to 29.1.1.
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/kulshekhar/ts-jest/compare/v29.0.5...v29.1.1)

---
updated-dependencies:
- dependency-name: ts-jest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-02 11:39:34 +00:00
dependabot[bot]
2c0c1c0f24 Bump prettier from 3.1.0 to 3.1.1 (#192)
Bumps [prettier](https://github.com/prettier/prettier) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.1.0...3.1.1)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-02 11:32:34 +00:00
dependabot[bot]
2e04bcf2ea Bump @types/async-retry from 1.4.5 to 1.4.8 (#194)
Bumps [@types/async-retry](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/async-retry) from 1.4.5 to 1.4.8.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/async-retry)

---
updated-dependencies:
- dependency-name: "@types/async-retry"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-02 16:59:48 +05:30
dependabot[bot]
de4ef5e2fd Bump jest and @types/jest (#195)
Bumps [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) and [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest). These dependencies needed to be updated together.

Updates `jest` from 29.5.0 to 29.7.0
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v29.7.0/packages/jest)

Updates `@types/jest` from 29.5.0 to 29.5.11
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-minor
- dependency-name: "@types/jest"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-02 07:56:50 +05:30
dependabot[bot]
c7ecd325d5 Bump github/codeql-action from 2 to 3 (#189)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-14 08:50:02 +05:30
dependabot[bot]
3961cd13d2 Bump actions/setup-python from 4 to 5 (#188)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-06 16:24:27 -05:00
Ian Butterworth
e16483e859 v1.9.4 (#179) 2023-12-03 20:56:09 +00:00
dependabot[bot]
472a0c3588 Bump @types/node from 18.14.2 to 20.10.3 (#187) 2023-12-03 15:40:48 -05:00
dependabot[bot]
0644643060 Bump jest-circus from 29.5.0 to 29.7.0 (#183)
Bumps [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) from 29.5.0 to 29.7.0.
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v29.7.0/packages/jest-circus)

---
updated-dependencies:
- dependency-name: jest-circus
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-03 20:06:15 +00:00
dependabot[bot]
c629ec2fb8 Bump @vercel/ncc from 0.36.1 to 0.38.1 (#186)
Bumps [@vercel/ncc](https://github.com/vercel/ncc) from 0.36.1 to 0.38.1.
- [Release notes](https://github.com/vercel/ncc/releases)
- [Commits](https://github.com/vercel/ncc/compare/0.36.1...0.38.1)

---
updated-dependencies:
- dependency-name: "@vercel/ncc"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-03 15:02:13 -05:00
dependabot[bot]
69754702fb Bump @types/retry from 0.12.2 to 0.12.5 (#184) 2023-12-03 14:51:13 -05:00
dependabot[bot]
e0c860ed1a Bump @actions/core from 1.10.0 to 1.10.1 (#182)
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.10.0 to 1.10.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-03 10:10:46 -05:00
dependabot[bot]
b0ddaa0f3f Bump actions/setup-node from 3 to 4 (#181)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-21 21:14:20 -05:00
dependabot[bot]
7e992845db Bump actions/checkout from 3 to 4 (#180) 2023-11-21 16:32:13 -05:00
Ian Butterworth
a86c40a7ef Version 1.9.3 (#173) 2023-11-21 11:12:46 -05:00
dependabot[bot]
5ee76acf71 Bump prettier from 2.8.7 to 3.1.0 (#177)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-21 16:07:12 +00:00
dependabot[bot]
aa55906904 Bump nock from 13.3.0 to 13.3.8 (#176)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-21 16:02:17 +00:00
dependabot[bot]
3fd1872eb1 Bump @babel/traverse from 7.20.13 to 7.23.4 (#178)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-21 15:57:33 +00:00
dependabot[bot]
022282ae13 Bump semver and @types/semver (#175)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-21 10:52:04 -05:00
dependabot[bot]
3d2a9887ca Bump typescript from 5.0.3 to 5.3.2 (#174)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-21 10:43:46 -05:00
Ian Butterworth
56e107761d Use .tar.gz files where available for faster win install (#171) 2023-11-21 10:35:55 -05:00
Ian Butterworth
8a5ee44838 set retry limit and make retries visible logs (#170) 2023-11-20 23:05:49 -05:00
Sascha Mann
84c4368e8a CI: Update to 1.10-nightly (#169) 2023-11-06 19:45:26 +01:00
Sascha Mann
9c1e77be1e Run action as is on release branch CI (#168)
* Run action as is on release branch CI

fixes #16

* Update example-builds-nightly.yml

* Update example-builds-nightly-defaultarch.yml

* Update example-builds-defaultarch.yml

* Don't install node
2023-10-15 23:33:35 +02:00
David Leal
0e1e5daf3b Remove Dependabot badge in README.md (#166) 2023-09-26 09:28:40 +02:00
Sascha Mann
23a5f339d0 Use 1.9-nightly in defaultarch builds 2023-04-04 11:31:38 +02:00
Sascha Mann
6b19329a6c Use 1.9-nightly instead of 1.8-nightly 2023-04-03 23:41:46 +02:00
dependabot[bot]
5ed2862b88 Bump @actions/io from 1.1.2 to 1.1.3 (#152)
Bumps [@actions/io](https://github.com/actions/toolkit/tree/HEAD/packages/io) from 1.1.2 to 1.1.3.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/io/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/io)

---
updated-dependencies:
- dependency-name: "@actions/io"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-02 12:45:24 +02:00
dependabot[bot]
431db78ca5 Bump prettier from 2.8.4 to 2.8.7 (#151)
Bumps [prettier](https://github.com/prettier/prettier) from 2.8.4 to 2.8.7.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.8.4...2.8.7)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-02 12:21:42 +02:00
dependabot[bot]
400582c979 Bump jest and @types/jest (#153)
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) and [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest). These dependencies needed to be updated together.

Updates `jest` from 29.4.3 to 29.5.0
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.5.0/packages/jest)

Updates `@types/jest` from 29.4.0 to 29.5.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-minor
- dependency-name: "@types/jest"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-02 12:21:23 +02:00
dependabot[bot]
87851b8730 Bump jest-circus from 29.4.3 to 29.5.0 (#150)
Bumps [jest-circus](https://github.com/facebook/jest/tree/HEAD/packages/jest-circus) from 29.4.3 to 29.5.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.5.0/packages/jest-circus)

---
updated-dependencies:
- dependency-name: jest-circus
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-02 11:11:58 +02:00
dependabot[bot]
c21388676f Bump typescript from 4.9.5 to 5.0.3 (#149)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.9.5 to 5.0.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/commits)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-02 11:11:38 +02:00
Sascha Mann
9179217812 Format warning properly
See https://github.com/community/community/discussions/16925
2023-03-10 14:45:43 +01:00
Sascha Mann
9ddbd3e829 Fix indentation in workflow 2023-03-10 14:40:51 +01:00
dependabot[bot]
ac49140569 Bump @types/node from 18.14.1 to 18.14.2 (#146)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.14.1 to 18.14.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-10 13:49:04 +01:00
dependabot[bot]
ca4f81e332 Bump @types/node from 16.18.12 to 18.14.1 (#139)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.18.12 to 18.14.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-26 21:47:08 +01:00
スノル
90d78ece70 Pin node version to v16 and deprecate @zeit/ncc (#145) 2023-02-26 18:33:15 +01:00
dependabot[bot]
7c41900d93 Bump actions/checkout from 1 to 3 (#140)
Bumps [actions/checkout](https://github.com/actions/checkout) from 1 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v1...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-23 23:09:35 +00:00
dependabot[bot]
54863dca42 Bump actions/setup-python from 2 to 4 (#141)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-23 23:05:41 +00:00
dependabot[bot]
2960172124 Bump github/codeql-action from 1 to 2 (#138)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-23 22:58:23 +00:00
dependabot[bot]
f132be810e Bump actions/cache from 2 to 3 (#137)
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-23 22:46:45 +00:00
Sascha Mann
6d60bc8709 Add Dependabot for npm and GHA deps (#136) 2023-02-23 23:41:02 +01:00
スノル
152b85e982 Update dependencies (#133)
* Use `fs.rmSync` instead of `fs.rmdirSync`.

To get rid of the deprecation warning. #119

* Update dependencies.
2023-02-09 23:00:27 +00:00
18 changed files with 13918 additions and 16974 deletions

View File

@@ -3,5 +3,15 @@ updates:
- package-ecosystem: gitsubmodule
directory: "/"
schedule:
interval: daily
interval: monthly
open-pull-requests-limit: 10
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: 'monthly'
- package-ecosystem: npm
directory: "/"
schedule:
interval: monthly

11
.github/scripts/common-tests.jl vendored Normal file
View File

@@ -0,0 +1,11 @@
if !occursin("hostedtoolcache", Sys.BINDIR)
error("the wrong julia is being used: $(Sys.BINDIR)")
end
if VERSION >= v"1.7.0" # pkgdir was introduced here, and before then mtime wasn't a problem so just skip
using Pkg
src = pkgdir(Pkg, "src", "Pkg.jl")
# mtime is when it's compressed, ctime is when the file is extracted
if mtime(src) >= ctime(src)
error("source mtime ($(mtime(src))) is not earlier than ctime ($(ctime(src)))")
end
end

View File

@@ -13,7 +13,7 @@ jobs:
steps:
- name: Configure cache
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: |
${{ env.GITHUB_WORKSPACE }}
@@ -21,7 +21,7 @@ jobs:
key: ${{ runner.os }}
- name: Install the correct Python version
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: '3.x'

View File

@@ -12,10 +12,14 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 16
- name: "npm ci"
run: npm ci --legacy-peer-deps
run: npm ci
- name: "npm run build"
run: npm run build

View File

@@ -42,11 +42,11 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# 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).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
uses: github/codeql-action/autobuild@v3
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -71,4 +71,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v3

View File

@@ -23,11 +23,17 @@ jobs:
os: [ubuntu-latest, macOS-latest, windows-latest]
steps:
- uses: actions/checkout@v1.0.0
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
with:
node-version: 16
- name: "Install dependencies"
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
run: |
npm install --legacy-peer-deps
npm install
npm run build
npm run pack
@@ -38,3 +44,5 @@ jobs:
version: ${{ matrix.julia-version }}
- run: julia --version
- run: julia --compile=min -O0 -e 'import InteractiveUtils; InteractiveUtils.versioninfo()'
- name: "Check that the correct julia is used and that archive mtimes are maintained"
run: julia --startup-file=no --color=yes ./.github/scripts/common-tests.jl

View File

@@ -18,15 +18,21 @@ jobs:
strategy:
fail-fast: false
matrix:
julia-version: [nightly, 1.8-nightly]
julia-version: [nightly, 1.10-nightly]
os: [ubuntu-latest, macOS-latest, windows-latest]
steps:
- uses: actions/checkout@v1.0.0
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
with:
node-version: 16
- name: "Install dependencies"
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
run: |
npm install --legacy-peer-deps
npm install
npm run build
npm run pack
@@ -36,3 +42,5 @@ jobs:
version: ${{ matrix.julia-version }}
- run: julia --version
- run: julia --compile=min -O0 -e 'import InteractiveUtils; InteractiveUtils.versioninfo()'
- name: "Check that the correct julia is used and that archive mtimes are maintained"
run: julia --startup-file=no --color=yes ./.github/scripts/common-tests.jl

View File

@@ -20,7 +20,7 @@ jobs:
strategy:
fail-fast: false
matrix:
julia-version: [nightly, 1.8-nightly]
julia-version: [nightly, 1.10-nightly]
julia-arch: [x64, x86]
os: [ubuntu-latest, macOS-latest, windows-latest]
# 32-bit Julia binaries are not available on macOS
@@ -29,11 +29,17 @@ jobs:
julia-arch: x86
steps:
- uses: actions/checkout@v1.0.0
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
with:
node-version: 16
- name: "Install dependencies"
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
run: |
npm install --legacy-peer-deps
npm install
npm run build
npm run pack
@@ -44,3 +50,5 @@ jobs:
arch: ${{ matrix.julia-arch }}
- run: julia --version
- run: julia --compile=min -O0 -e 'import InteractiveUtils; InteractiveUtils.versioninfo()'
- name: "Check that the correct julia is used and that archive mtimes are maintained"
run: julia --startup-file=no --color=yes ./.github/scripts/common-tests.jl

View File

@@ -28,11 +28,17 @@ jobs:
julia-arch: x86
steps:
- uses: actions/checkout@v1.0.0
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
with:
node-version: 16
- name: "Install dependencies"
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
run: |
npm install --legacy-peer-deps
npm install
npm run build
npm run pack
@@ -44,3 +50,5 @@ jobs:
arch: ${{ matrix.julia-arch }}
- run: julia --version
- run: julia --compile=min -O0 -e 'import InteractiveUtils; InteractiveUtils.versioninfo()'
- name: "Check that the correct julia is used and that archive mtimes are maintained"
run: julia --startup-file=no --color=yes ./.github/scripts/common-tests.jl

View File

@@ -1,7 +1,6 @@
# setup-julia Action
[![CodeQL](https://github.com/julia-actions/setup-julia/workflows/CodeQL/badge.svg)](https://securitylab.github.com/tools/codeql)
[![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=julia-actions/setup-julia)](https://dependabot.com)
This action sets up a Julia environment for use in actions by downloading a specified version of Julia and adding it to PATH.
@@ -98,7 +97,9 @@ steps:
You can either specify specific Julia versions or version ranges. If you specify a version range, the **highest** available Julia version that matches the range will be selected.
**Warning:** It is strongly recommended to wrap versions in quotes. Otherwise, the YAML parser used by GitHub Actions parses certain versions as numbers which causes the wrong version to be selected. For example, `1.0` may be parsed as `1`.
> **Warning**
>
> It is strongly recommended to wrap versions in quotes. Otherwise, the YAML parser used by GitHub Actions parses certain versions as numbers which causes the wrong version to be selected. For example, `1.0` may be parsed as `1`.
#### Examples

12535
dist/index.js vendored

File diff suppressed because it is too large Load Diff

BIN
dist/unzip vendored

Binary file not shown.

81
lib/installer.js generated
View File

@@ -1,20 +1,38 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.showVersionInfo = exports.installJulia = exports.getDownloadURL = exports.getFileInfo = exports.getJuliaVersion = exports.getJuliaVersions = exports.getJuliaVersionInfo = void 0;
const core = __importStar(require("@actions/core"));
const exec = __importStar(require("@actions/exec"));
const tc = __importStar(require("@actions/tool-cache"));
@@ -66,8 +84,9 @@ function getJuliaVersionInfo() {
const versionsFile = yield retry((bail) => __awaiter(this, void 0, void 0, function* () {
return yield tc.downloadTool('https://julialang-s3.julialang.org/bin/versions.json');
}), {
retries: 5,
onRetry: (err) => {
core.debug(`Download of versions.json failed, trying again. Error: ${err}`);
core.info(`Download of versions.json failed, trying again. Error: ${err}`);
}
});
return JSON.parse(fs.readFileSync(versionsFile).toString());
@@ -107,9 +126,9 @@ function getDesiredFileExts() {
let hasFileExt2;
let fileExt2;
if (osPlat == 'win32') {
fileExt1 = 'exe';
hasFileExt2 = false;
fileExt2 = '';
fileExt1 = 'tar.gz';
hasFileExt2 = true;
fileExt2 = 'exe';
}
else if (osPlat == 'darwin') {
fileExt1 = 'tar.gz';
@@ -197,7 +216,7 @@ function getDownloadURL(fileInfo, version, arch) {
return fileInfo.url;
}
exports.getDownloadURL = getDownloadURL;
function installJulia(versionInfo, version, arch) {
function installJulia(dest, versionInfo, version, arch) {
return __awaiter(this, void 0, void 0, function* () {
// Download Julia
const fileInfo = getFileInfo(versionInfo, version, arch);
@@ -208,8 +227,9 @@ function installJulia(versionInfo, version, arch) {
const juliaDownloadPath = yield retry((bail) => __awaiter(this, void 0, void 0, function* () {
return yield tc.downloadTool(downloadURL);
}), {
retries: 5,
onRetry: (err) => {
core.debug(`Download of ${downloadURL} failed, trying again. Error: ${err}`);
core.info(`Download of ${downloadURL} failed, trying again. Error: ${err}`);
}
});
// Verify checksum
@@ -223,33 +243,38 @@ function installJulia(versionInfo, version, arch) {
else {
core.debug('Skipping checksum check for nightly binaries.');
}
const tempInstallDir = fs.mkdtempSync(`julia-${arch}-${version}-`);
// Install it
switch (osPlat) {
case 'linux':
// tc.extractTar doesn't support stripping components, so we have to call tar manually
yield exec.exec('tar', ['xf', juliaDownloadPath, '--strip-components=1', '-C', tempInstallDir]);
return tempInstallDir;
yield exec.exec('tar', ['xf', juliaDownloadPath, '--strip-components=1', '-C', dest]);
return dest;
case 'win32':
if (version.endsWith('nightly') || semver.gtr(version, '1.3', { includePrerelease: true })) {
// The installer changed in 1.4: https://github.com/JuliaLang/julia/blob/ef0c9108b12f3ae177c51037934351ffa703b0b5/NEWS.md#build-system-changes
yield exec.exec('powershell', ['-Command', `Start-Process -FilePath ${juliaDownloadPath} -ArgumentList "/SILENT /dir=${path.join(process.cwd(), tempInstallDir)}" -NoNewWindow -Wait`]);
if (fileInfo !== null && fileInfo.extension == 'exe') {
if (version.endsWith('nightly') || semver.gtr(version, '1.3', { includePrerelease: true })) {
// The installer changed in 1.4: https://github.com/JuliaLang/julia/blob/ef0c9108b12f3ae177c51037934351ffa703b0b5/NEWS.md#build-system-changes
yield exec.exec('powershell', ['-Command', `Start-Process -FilePath ${juliaDownloadPath} -ArgumentList "/SILENT /dir=${path.join(process.cwd(), dest)}" -NoNewWindow -Wait`]);
}
else {
yield exec.exec('powershell', ['-Command', `Start-Process -FilePath ${juliaDownloadPath} -ArgumentList "/S /D=${path.join(process.cwd(), dest)}" -NoNewWindow -Wait`]);
}
}
else {
yield exec.exec('powershell', ['-Command', `Start-Process -FilePath ${juliaDownloadPath} -ArgumentList "/S /D=${path.join(process.cwd(), tempInstallDir)}" -NoNewWindow -Wait`]);
// 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}`]);
}
return tempInstallDir;
return dest;
case 'darwin':
if (fileInfo !== null && fileInfo.extension == 'dmg') {
core.debug(`Support for .dmg files is deprecated and may be removed in a future release`);
yield exec.exec('hdiutil', ['attach', juliaDownloadPath]);
yield exec.exec('/bin/bash', ['-c', `cp -a /Volumes/Julia-*/Julia-*.app/Contents/Resources/julia ${tempInstallDir}`]);
return path.join(tempInstallDir, 'julia');
yield exec.exec('/bin/bash', ['-c', `cp -a /Volumes/Julia-*/Julia-*.app/Contents/Resources/julia ${dest}`]);
return path.join(dest, 'julia');
}
else {
// tc.extractTar doesn't support stripping components, so we have to call tar manually
yield exec.exec('tar', ['xf', juliaDownloadPath, '--strip-components=1', '-C', tempInstallDir]);
return tempInstallDir;
yield exec.exec('tar', ['xf', juliaDownloadPath, '--strip-components=1', '-C', dest]);
return dest;
}
default:
throw new Error(`Platform ${osPlat} is not supported`);

53
lib/setup-julia.js generated
View File

@@ -1,19 +1,36 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const core = __importStar(require("@actions/core"));
const tc = __importStar(require("@actions/tool-cache"));
@@ -74,12 +91,18 @@ function run() {
juliaPath = tc.find('julia', version, arch);
if (!juliaPath) {
core.debug(`could not find Julia ${arch}/${version} in cache`);
const juliaInstallationPath = yield installer.installJulia(versionInfo, version, arch);
// Add it to cache
juliaPath = yield tc.cacheDir(juliaInstallationPath, 'julia', version, arch);
// https://github.com/julia-actions/setup-julia/pull/196
// we want julia to be installed with unmodified file mtimes
// but `tc.cacheDir` uses `cp` internally which destroys mtime
// and `tc` provides no API to get the tool directory alone
// so hack it by installing a empty directory then use the path it returns
// and extract the archives directly to that location
const emptyDir = fs.mkdtempSync('empty');
juliaPath = yield tc.cacheDir(emptyDir, 'julia', version, arch);
yield installer.installJulia(juliaPath, versionInfo, version, arch);
core.debug(`added Julia to cache: ${juliaPath}`);
// Remove temporary dir
fs.rmdirSync(juliaInstallationPath, { recursive: true });
// Remove empty dir
fs.rmdirSync(emptyDir);
}
else {
core.debug(`using cached version of Julia: ${juliaPath}`);

18024
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "setup-julia",
"version": "1.9.1",
"version": "1.9.5",
"private": true,
"description": "setup Julia action",
"main": "lib/setup-julia.js",
@@ -21,24 +21,25 @@
"author": "Sascha Mann <git@mail.saschamann.eu>",
"license": "MIT",
"dependencies": {
"@actions/core": "^1.10.0",
"@actions/exec": "^1.0.0",
"@actions/io": "^1.0.0",
"@actions/tool-cache": "^1.0.0",
"async-retry": "^1.3.1",
"semver": "^6.3.0"
"@actions/core": "^1.10.1",
"@actions/exec": "^1.1.1",
"@actions/io": "^1.1.3",
"@actions/tool-cache": "^2.0.1",
"async-retry": "^1.3.3",
"semver": "^7.5.4"
},
"devDependencies": {
"@types/async-retry": "^1.4.2",
"@types/jest": "^24.0.13",
"@types/node": "^12.12.7",
"@types/semver": "^6.0.0",
"@zeit/ncc": "^0.22.0",
"jest": "^24.8.0",
"jest-circus": "^24.7.1",
"nock": "^11.7.2",
"prettier": "^1.17.1",
"ts-jest": "^26.0.0",
"typescript": "^3.5.1"
"@types/async-retry": "^1.4.8",
"@types/jest": "^29.5.11",
"@types/node": "^20.10.6",
"@types/retry": "^0.12.5",
"@types/semver": "^7.5.6",
"@vercel/ncc": "^0.38.1",
"jest": "^29.7.0",
"jest-circus": "^29.7.0",
"nock": "^13.4.0",
"prettier": "^3.1.1",
"ts-jest": "^29.1.1",
"typescript": "^5.3.3"
}
}

View File

@@ -54,8 +54,9 @@ export async function getJuliaVersionInfo(): Promise<object> {
const versionsFile = await retry(async (bail: Function) => {
return await tc.downloadTool('https://julialang-s3.julialang.org/bin/versions.json')
}, {
retries: 5,
onRetry: (err: Error) => {
core.debug(`Download of versions.json failed, trying again. Error: ${err}`)
core.info(`Download of versions.json failed, trying again. Error: ${err}`)
}
})
@@ -99,9 +100,9 @@ function getDesiredFileExts(): [string, boolean, string] {
let fileExt2: string
if (osPlat == 'win32') {
fileExt1 = 'exe'
hasFileExt2 = false
fileExt2 = ''
fileExt1 = 'tar.gz'
hasFileExt2 = true
fileExt2 = 'exe'
} else if (osPlat == 'darwin') {
fileExt1 = 'tar.gz'
hasFileExt2 = true
@@ -197,7 +198,7 @@ export function getDownloadURL(fileInfo, version: string, arch: string): string
return fileInfo.url
}
export async function installJulia(versionInfo, version: string, arch: string): Promise<string> {
export async function installJulia(dest: string, versionInfo, version: string, arch: string): Promise<string> {
// Download Julia
const fileInfo = getFileInfo(versionInfo, version, arch)
const downloadURL = getDownloadURL(fileInfo, version, arch)
@@ -208,8 +209,9 @@ export async function installJulia(versionInfo, version: string, arch: string):
const juliaDownloadPath = await retry(async (bail: Function) => {
return await tc.downloadTool(downloadURL)
}, {
retries: 5,
onRetry: (err: Error) => {
core.debug(`Download of ${downloadURL} failed, trying again. Error: ${err}`)
core.info(`Download of ${downloadURL} failed, trying again. Error: ${err}`)
}
})
@@ -224,32 +226,35 @@ export async function installJulia(versionInfo, version: string, arch: string):
core.debug('Skipping checksum check for nightly binaries.')
}
const tempInstallDir = fs.mkdtempSync(`julia-${arch}-${version}-`)
// Install it
switch (osPlat) {
case 'linux':
// tc.extractTar doesn't support stripping components, so we have to call tar manually
await exec.exec('tar', ['xf', juliaDownloadPath, '--strip-components=1', '-C', tempInstallDir])
return tempInstallDir
await exec.exec('tar', ['xf', juliaDownloadPath, '--strip-components=1', '-C', dest])
return dest
case 'win32':
if (version.endsWith('nightly') || semver.gtr(version, '1.3', {includePrerelease: true})) {
// The installer changed in 1.4: https://github.com/JuliaLang/julia/blob/ef0c9108b12f3ae177c51037934351ffa703b0b5/NEWS.md#build-system-changes
await exec.exec('powershell', ['-Command', `Start-Process -FilePath ${juliaDownloadPath} -ArgumentList "/SILENT /dir=${path.join(process.cwd(), tempInstallDir)}" -NoNewWindow -Wait`])
if (fileInfo !== null && fileInfo.extension == 'exe') {
if (version.endsWith('nightly') || semver.gtr(version, '1.3', {includePrerelease: true})) {
// The installer changed in 1.4: https://github.com/JuliaLang/julia/blob/ef0c9108b12f3ae177c51037934351ffa703b0b5/NEWS.md#build-system-changes
await exec.exec('powershell', ['-Command', `Start-Process -FilePath ${juliaDownloadPath} -ArgumentList "/SILENT /dir=${path.join(process.cwd(), dest)}" -NoNewWindow -Wait`])
} else {
await exec.exec('powershell', ['-Command', `Start-Process -FilePath ${juliaDownloadPath} -ArgumentList "/S /D=${path.join(process.cwd(), dest)}" -NoNewWindow -Wait`])
}
} else {
await exec.exec('powershell', ['-Command', `Start-Process -FilePath ${juliaDownloadPath} -ArgumentList "/S /D=${path.join(process.cwd(), tempInstallDir)}" -NoNewWindow -Wait`])
// 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}`])
}
return tempInstallDir
return dest
case 'darwin':
if (fileInfo !== null && fileInfo.extension == 'dmg') {
core.debug(`Support for .dmg files is deprecated and may be removed in a future release`)
await exec.exec('hdiutil', ['attach', juliaDownloadPath])
await exec.exec('/bin/bash', ['-c', `cp -a /Volumes/Julia-*/Julia-*.app/Contents/Resources/julia ${tempInstallDir}`])
return path.join(tempInstallDir, 'julia')
await exec.exec('/bin/bash', ['-c', `cp -a /Volumes/Julia-*/Julia-*.app/Contents/Resources/julia ${dest}`])
return path.join(dest, 'julia')
} else {
// tc.extractTar doesn't support stripping components, so we have to call tar manually
await exec.exec('tar', ['xf', juliaDownloadPath, '--strip-components=1', '-C', tempInstallDir])
return tempInstallDir
await exec.exec('tar', ['xf', juliaDownloadPath, '--strip-components=1', '-C', dest])
return dest
}
default:
throw new Error(`Platform ${osPlat} is not supported`)

View File

@@ -69,14 +69,21 @@ async function run() {
if (!juliaPath) {
core.debug(`could not find Julia ${arch}/${version} in cache`)
const juliaInstallationPath = await installer.installJulia(versionInfo, version, arch)
// Add it to cache
juliaPath = await tc.cacheDir(juliaInstallationPath, 'julia', version, arch)
// https://github.com/julia-actions/setup-julia/pull/196
// we want julia to be installed with unmodified file mtimes
// but `tc.cacheDir` uses `cp` internally which destroys mtime
// and `tc` provides no API to get the tool directory alone
// so hack it by installing a empty directory then use the path it returns
// and extract the archives directly to that location
const emptyDir = fs.mkdtempSync('empty')
juliaPath = await tc.cacheDir(emptyDir, 'julia', version, arch)
await installer.installJulia(juliaPath, versionInfo, version, arch)
core.debug(`added Julia to cache: ${juliaPath}`)
// Remove temporary dir
fs.rmdirSync(juliaInstallationPath, {recursive: true})
// Remove empty dir
fs.rmdirSync(emptyDir)
} else {
core.debug(`using cached version of Julia: ${juliaPath}`)
}
@@ -91,7 +98,7 @@ async function run() {
const showVersionInfoInput = core.getInput('show-versioninfo')
await installer.showVersionInfo(showVersionInfoInput, version)
} catch (error) {
core.setFailed(error.message)
core.setFailed((error as Error).message)
}
}