Compare commits

...

223 Commits
v1.4.4 ... main

Author SHA1 Message Date
Ivan
78078da0cd
Update @actions/cache dependency and documentation (#549)
* deps: Update actions/cache dep, rebuild solution, update docs

* docs: fix typo

* deps: update jest dependencies and licenses

* deps: fix vulnerable dependencies, rebuild solution

* licenses: update
2023-10-17 11:09:10 +02:00
Ralf Stuckert
5caaba646e
add support for microsoft openjdk 21.0.0 (#546)
* support for microsoft openjdk 21.0.0

* support for microsoft openjdk 21.0.0
2023-10-17 10:19:17 +02:00
Accelerator1996
0ab4596768
add support for dragonwell (#532)
* add support for dragonwell

* fix: update logic of parsing json file, refactor code

* build: rebuild action

* chore: update error message

* build: rebuild action

* tests: fix unit tests, add e2e tests

* chore: prettier, lint and rebuild solution

* feat: add check for the package type, update unit tests

* tests: update e2e tests

* tests: remove excess entries from e2e tests

* feat: update logic of getting json file

* feat: add logic for backuping getting json

* chore: update wordings

* chore: fix typos, add additional logs

* fix: fix review points

* chore: rebuild solution

* chore: update wordings

* chore: refactor code

---------

Co-authored-by: Ivan Zosimov <ivanzosimov@github.com>
Co-authored-by: Ivan <98037481+IvanZosimov@users.noreply.github.com>
2023-09-20 13:22:11 +02:00
Marko Zivic
4075bfc1b5
Merge pull request #503 from gnodet/fix-xml-namespaces
Fix XML namespaces wrongly using https
2023-08-31 06:15:25 +02:00
Orleando Dassi
5b86b67f5b
Fixed usage link within the README.md file (#525) 2023-08-16 01:01:53 +02:00
CyberFlame
b943a4ed87
fix typo and remove unintentional(?) word (#518)
* fix typo and remove unintentional(?) word

* docs: fix typo in the Readme.md

---------

Co-authored-by: Ivan Zosimov <ivanzosimov@github.com>
2023-07-31 11:29:53 +02:00
dependabot[bot]
c16064d22c
Bump word-wrap from 1.2.3 to 1.2.4 (#516)
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-27 13:48:48 +02:00
Endi327
cd89f46ac9
Add versions properties to cache (#280)
* Add versions properties to cache

* lint fix

npm run format change

* [FIX] unit test

* docs: fix typo in the Readme.md

* docs: update link to the toolkit/cache package

---------

Co-authored-by: Ivan Zosimov <ivan.zosimov@Ivans-MacBook-Pro.local>
2023-07-21 13:38:46 +02:00
Nikolai Laevskii
4fb397523b
Merge pull request #507 from akv-platform/update-oracle-jdk-url-calculation
Update Oracle JDK download URL calculation
2023-07-18 11:04:49 +02:00
Nikolai Laevskii
33b10b64eb Use archive as fallback only when dealing with major version 2023-07-18 09:28:12 +02:00
Ivan
75c6561172
Update dependencies (#511)
* chore: update dependencies, rebuild action

* chore: update licenses

* chore: rebuild action on linux
2023-07-10 17:20:15 +02:00
Nikolai Laevskii
ebe05e0f88 Update build 2023-07-05 09:34:35 +02:00
Nikolai Laevskii
46099e1f14 Build 2023-07-05 09:34:34 +02:00
Nikolai Laevskii
1a3cd386c6 Update Oracle JDK URL calculation 2023-07-05 09:34:34 +02:00
Guillaume Nodet
91f49aa1b0 Fix XML namespaces wrongly using https 2023-06-28 11:24:07 +02:00
ragsmpl
1f2faad7e0
Instruction to download custom distribution JDK and install (#500) 2023-06-20 16:41:21 +02:00
Dmitry Shibanov
45058d7f99
Update xml2js (#484) 2023-06-15 17:41:12 +02:00
Nikolai Laevskii
87c1c7064c
Merge pull request #494 from akv-platform/remove-implicit-dependencies
Remove implicit dependencies
2023-06-08 11:53:50 +02:00
Nikolai Laevskii
5e4a7c3698 Move eslint-plugin-node to dev dependencies 2023-06-08 11:46:31 +02:00
Nikolai Laevskii
f4213ceea0 Install eslint-plugin-node 2023-06-08 11:46:31 +02:00
github-actions[bot]
ba4a2dd11d Update configuration files 2023-06-08 11:46:30 +02:00
Nikolai Laevskii
01a228c633
Merge pull request #498 from akv-platform/update-mocks
Update mocks
2023-06-08 11:44:43 +02:00
Nikolai Laevskii
07b6c30c67 Add mocks for oracle installer 2023-06-08 11:00:37 +02:00
Nikolai Laevskii
c19d52bc93 Add mock data for microsoft-installer 2023-06-08 11:00:37 +02:00
Nikolai Laevskii
3927f47357
Merge pull request #489 from anishi1222/main
Update versions of Oracle JDK and Microsoft Build of OpenJDK
2023-06-08 10:58:50 +02:00
Akihiro Nishikawa
cb77eb7f64
Merge pull request #1 from anishi1222/anishi1222-patch-1
Anishi1222 patch 1
2023-05-09 20:24:39 -07:00
Akihiro Nishikawa
9ff43a1ebe
Update microsoft-installer.test.ts 2023-05-10 12:20:09 +09:00
Akihiro Nishikawa
575d86297c
Update microsoft-openjdk-versions.json
Following Ivan's comment, versions of JDK are added.
2023-05-10 12:13:53 +09:00
Akihiro Nishikawa
d70493eaf0
Update e2e-versions.yml 2023-05-08 18:48:02 +09:00
Akihiro Nishikawa
088a9ed5f6 Version updated for Oracle JDK 2023-05-06 18:54:05 +09:00
Akihiro Nishikawa
8d9836d093 Update versions 2023-05-06 18:41:28 +09:00
Akihiro Nishikawa
9f75459cbe Revert "Versions updated."
This reverts commit 827f99856d3efb4287a0f4a2d3b784d7af0df2be.

revert
2023-05-06 18:20:59 +09:00
Akihiro Nishikawa
827f99856d Versions updated. 2023-05-06 18:18:14 +09:00
Akihiro Nishikawa
27bb911606
Update microsoft-openjdk-versions.json 2023-05-06 18:00:17 +09:00
Ivan
ddb82ce8a6
Corretto toolcache folder name fix (#480) 2023-04-10 10:29:19 +02:00
Doğaç Eldenk
404e5db3a1
fix sbt/scala cache key (#478) 2023-04-10 09:56:26 +02:00
Erwin Morrhey
191ba8c6ba
always check postfix "Contents/Home" on macOS (#397) 2023-04-04 11:40:40 +02:00
Ivan
e42168ca1a
Fix glob bug in package.json scripts section (#475) 2023-04-03 12:48:27 +02:00
Jordie
5ffc13f417
IBM Semeru (OpenJ9) Support (#289) 2023-03-21 10:32:38 +01:00
github-actions[bot]
669e0727d8
Update configuration files (#464)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-15 00:34:22 +01:00
Marko Zivic
888b4006f3
Merge pull request #463 from akv-platform/reusable-workflow
Turn on automatic update of ESLint and Prettier configuration files
2023-03-10 10:56:11 +01:00
IvanZosimov
676c490d4c Add update-config-files.yml 2023-03-09 13:55:42 +01:00
Ivan
0de5c66fc0
Add and configure ESLint and update configuration for Prettier (#458)
* Add ESLint config and update Prettier

* Update test files

* Rebuild action

* Update docs

* Update licenses

* Update tsconfig

* Rebuild action

* Update tsconfig.json

* Fix console.time calls

* Rebuild action

* Rebuild action on Linux
2023-03-09 14:49:35 +02:00
Benoit
ea15b3b99c
Update advanced-usage.md (#436)
change to be consistent with https://github.com/actions/setup-java#usage
2023-02-08 10:47:39 +01:00
Dmitry Shibanov
14d87b223c
Add link to the Oracle distribution (#451) 2023-02-08 10:35:35 +01:00
Dmitry Shibanov
3f07048e3d
Revert "Revert "Add support for Oracle JDK (#401)" (#421)" (#450)
This reverts commit c3ac5dd0ed8db40fedb61c32fbe677e6b355e94c.
2023-02-07 16:29:21 +01:00
Ivan
9b86bbe88a
Update workflow badges (#449) 2023-01-31 08:48:23 +02:00
Piyush
8f12c5c4d1
Updated readme file (#446) 2023-01-19 13:22:11 +01:00
MaksimZhukov
e11351903a
Update release-new-action-version.yml (#442) 2023-01-12 13:51:18 +01:00
dependabot[bot]
285fb318c5
Bump json5 from 2.2.0 to 2.2.3 (#439) 2023-01-09 09:54:28 +01:00
Marko Zivic
308abcba03
Merge pull request #437 from actions/update-code-owners
Update CODEOWNERS
2022-12-27 09:28:56 +01:00
Evgenii Korolevskii
03d1057e7d
Update CODEOWNERS 2022-12-26 09:43:06 +01:00
Marko Zivic
d401f0c450
Merge pull request #435 from actions/update-codeowners
Update CODEOWNERS
2022-12-23 08:25:00 +01:00
Evgenii Korolevskii
5e1c7d44c8
update codeowners 2022-12-23 00:05:13 +01:00
Evgenii Korolevskii
bf3c595741
Update CODEOWNERS 2022-12-23 00:04:11 +01:00
Ivan
35e7c82cf7
Merge pull request #433 from akv-platform/apply-reusable-workflows
Update action to use reusable workflows
2022-12-22 10:46:06 +02:00
IvanZosimov
5bbbb020e8 Fix review points 2022-12-20 15:38:24 +01:00
IvanZosimov
007465e618 Update action to use reusable-workflows repo 2022-12-19 13:38:39 +01:00
IvanZosimov
8a24ed99d8 Merge branch 'main' of https://github.com/akv-platform/setup-java into apply-reusable-workflows 2022-12-19 13:37:02 +01:00
IvanZosimov
3dc9295fa8 Updae codeql.yml 2022-12-16 17:07:00 +01:00
IvanZosimov
81f1f778b7 Update codeql.yml 2022-12-16 16:51:33 +01:00
Milos Pantic
06db6c25b8
Update architecture docs (#425) 2022-12-16 15:07:31 +01:00
Jongwoo Han
545223a83e
refactor: Use early return pattern to avoid nested conditions (#428) 2022-12-16 15:04:57 +01:00
IvanZosimov
a3c7fb1220 Add links to reusable workflows 2022-12-15 16:41:32 +01:00
IvanZosimov
1eb7169fc2 Update workflows 2022-12-15 16:10:53 +01:00
IvanZosimov
caaa9d738f Update workflows to use reusable-workflows 2022-12-14 14:53:47 +01:00
Evgenii Korolevskii
1df8dbefe2
Add support for java.version file (#426) 2022-12-13 12:45:14 +01:00
Dmitry Shibanov
c3ac5dd0ed
Revert "Add support for Oracle JDK (#401)" (#421)
This reverts commit 6cdf39a6b6d2b0dd01e76d547cb9d448ccdd4f7c.

Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>
2022-12-05 17:45:21 +01:00
Ashley
dcd29da2fa
Fix typo in README.md (#419)
`diractory` -> `directory`
2022-12-05 10:25:33 +01:00
James M. Greene
19eeec562b
Update to latest actions/publish-action (#411) 2022-11-23 17:28:23 +01:00
Dmitry Shibanov
bd7e5d28eb
Update minimatch to 3.1.2 (#413) 2022-11-23 15:24:31 +01:00
Fabio Niephaus
6cdf39a6b6
Add support for Oracle JDK (#401) 2022-11-23 13:28:51 +01:00
Lorenzo Bettini
7db6b4554c
Eclipse Temurin instead of Adopt OpenJDK (#398) 2022-11-18 09:35:24 +01:00
Dmitry Shibanov
bf2f02c4a7
Pass the token input through on GHES for Microsoft Build of OpenJDK (#395) 2022-11-18 09:33:59 +01:00
Kengo TODA
de1bb2b0c5
feat: support Gradle version catalog (#394) 2022-10-17 18:34:41 +02:00
Sankalp Kotewar
2c53c1a588
Update actions/cache to 3.0.4 version (#392) 2022-10-17 12:12:57 +02:00
Wes Morgan
3617c43588
Default to runner architecture (#376) 2022-10-11 01:47:17 +02:00
Marcell Harmaci
a82e6d0020
Update README.md (#391) 2022-10-10 15:28:56 +02:00
Marko Zivic
fbb269240e
Merge pull request #390 from rentziass/rentziass/update-actions-core
Update @actions/core to 1.10.0
2022-10-07 13:50:24 +02:00
Francesco Renzi
dfcd06a4b9 Update @actions/core to 1.10.0 2022-10-06 12:11:13 +01:00
Marko Zivic
e150063ee4
Merge pull request #282 from Okeanos/maven-toolchains-support
Add Maven Toolchains Declaration (#276)
2022-09-28 15:22:23 +02:00
Nikolas Grottendieck
eb1418aa81
Add Maven Toolchains Declaration (#276)
* Add (optional) Maven Toolchains Declaration after JDK is installed
* Extract common/shared Maven constants

Resolves #276
2022-09-27 17:25:52 +02:00
Marko Zivic
499ae9c28b
Merge pull request #387 from akv-platform/v-sdolin/issue-382-docs2
Add inputs documentation to README
2022-09-27 09:25:48 +02:00
Dmitry Shibanov
a18c333f3f
Add versions-manifest.json for Microsoft Build of OpenJDK (#383) 2022-09-23 14:47:30 +02:00
Dmitry Shibanov
26eeac8c9e
Add json for Microsoft Build of OpenJDK (#386) 2022-09-22 16:10:29 +02:00
Sergey Dolin
cdc5f296eb Fix cross-refernces 2022-09-22 15:55:15 +02:00
Sergey Dolin
b80173ab1e Add inputs documentation to README 2022-09-22 09:11:29 +02:00
Dmitry Shibanov
a96c2ca6ae
improve documentation and more emphasis to Java 17 (#379) 2022-09-09 14:49:09 +02:00
qhy040404
7bbeb80d24
Fix typo (#380) 2022-09-09 13:35:58 +02:00
Dmitry Shibanov
d854b6da19
Add support for multiple jdks (#368) 2022-09-08 15:26:54 +02:00
ansraliant
749e4491fa
Add Cache Hit Output (#373) 2022-09-07 12:34:51 +02:00
Milos Pantic
aa53851224
Update actions version in package json (#377) 2022-09-05 13:22:12 +02:00
Marko Zivic
5b36705a13
Merge pull request #364 from e-korolevskii/main
Update contributors guide
2022-08-10 16:44:08 +02:00
Evgenii Korolevskii
4656cbcede
Merge branch 'actions:main' into main 2022-08-10 16:38:09 +02:00
Marko Zivic
ef96bec0e4
Merge pull request #274 from schuenadel/include-buildSrc-in-cache-key
Include *.kt files in buildSrc in cache key
2022-08-10 10:10:46 +02:00
Evgenii Korolevskii
8e8bf44561
Update docs/contributors.md
Co-authored-by: Ivan <98037481+IvanZosimov@users.noreply.github.com>
2022-08-09 23:55:25 +02:00
Evgenii Korolevskii
40dd195c45 rephased documents 2022-08-03 19:22:03 +02:00
Evgenii Korolevskii
858120d4a8 formating 2022-08-01 01:37:40 +02:00
Evgenii Korolevskii
ad9cecf99b update contributors guide 2022-08-01 01:36:24 +02:00
Marko Zivic
8048bbee47
Merge pull request #352 from julienrf/patch-1
Make it clearer that the action supports Scala
2022-07-21 10:39:18 +02:00
Marko Zivic
9e9f60b996
Merge pull request #285 from schuenadel/suggest-clear-cache-after-dependency-update
Remove `restoreKeys` to clear cache after update
2022-07-15 09:21:07 +02:00
Marko Zivic
46f0194a3b
Merge pull request #351 from akv-platform/v-sdolin/issue-44
Add "Install multiple JDKs" README section
2022-07-15 09:18:12 +02:00
Sergey Dolin
c69efbe773 Add distribution input 2022-07-15 09:14:25 +02:00
Sergey Dolin
3c69e15101 use @v3 version 2022-07-14 09:22:10 +02:00
Julien Richard-Foy
bf1c35bd9d
Make it clearer that the action supports Scala 2022-07-07 09:29:35 +02:00
Sergey Dolin
66a84830d9 Remove unessary steps from the step 2022-07-07 09:11:25 +02:00
Sergey Dolin
8ac768a2cf Add "Install multiple JDKs" README section 2022-07-07 06:44:16 +02:00
Marko Zivic
2c7a4878f5
Merge pull request #350 from e-korolevskii/Add-tests-for-updated-cachetool-ver-(347)
test(cache): Add test for cachetool v 3.0
2022-07-06 14:44:41 +02:00
Evgenii Korolevskii
e2f30c1450 test(cache): Add test for cachetool v 3.0
Not to fail workflow on cache service errors
2022-07-04 22:48:10 +02:00
Marko Zivic
2dfaeac2db
Merge pull request #347 from e-korolevskii/CacheVersionUpdateTo3
build(cache): Update cache tool version
2022-07-04 08:19:35 +02:00
Dmitry Shibanov
aa24fa78d2 regenerate dist 2022-06-24 16:18:43 +02:00
Evgenii Korolevskii
25d94e7786 add build 2022-06-24 16:05:43 +02:00
Evgenii Korolevskii
2fc49d780a remove old build 2022-06-24 16:03:07 +02:00
Evgenii Korolevskii
e6a4b93088 update licenses 2022-06-24 15:56:27 +02:00
Evgenii Korolevskii
821cc3dbd1 Merge branch 'CacheVersionUpdateTo3' of https://github.com/e-korolevskii/setup-java into CacheVersionUpdateTo3 2022-06-24 15:52:39 +02:00
Evgenii Korolevskii
4903eafcd7 update licenses 2022-06-24 15:52:29 +02:00
Evgenii Korolevskii
a0500669b7 Merge branch 'main' into CacheVersionUpdateTo3 2022-06-24 15:42:06 +02:00
Evgenii Korolevskii
d397c16c56 build(cache): Update cache tool version
Graceful handling of error (non-validation one)
2022-06-24 15:32:10 +02:00
Marko Zivic
16cca5479d
Merge pull request #346 from pjfanning/patch-1
sbt is a valid cache option value
2022-06-20 09:14:34 +02:00
PJ Fanning
7b469c48c4
sbt is a valid cache option value 2022-06-16 21:47:05 +01:00
Marko Zivic
2506d21b74
Merge pull request #332 from fmeriaux/sbt-exclude-some-files
sbt-cache: don't cache some files.
2022-06-15 11:20:20 +02:00
Florian Meriaux
187f735c38
npm run format 2022-06-15 08:23:10 +02:00
Florian Meriaux
48576e577e
npm run release 2022-06-15 08:19:27 +02:00
Florian Meriaux
fa01820a3b
add documentation notes 2022-06-15 08:17:30 +02:00
Marko Zivic
62808131e1
Merge pull request #339 from starburstdata/pp/fix-arm64-architecture
Fix support for Zulu arm64 architecture
2022-06-10 09:44:45 +02:00
Marko Zivic
ddbbc2fff5
Merge pull request #342 from gdams/msft
msft: bump jdk17 to 17.0.3 and add aarch64 support to jdk11
2022-06-10 09:41:48 +02:00
George Adams
4fba831118
fix test 2022-06-09 17:53:21 +01:00
George Adams
11556068a2
msft: bump jdk17 to 17.0.3 and add aarch64 support to jdk11 2022-06-09 09:39:57 +01:00
Marko Zivic
ec303d3bdf
Merge pull request #331 from AGulev/microsoft-11.0.15
Add Microsoft Java 11.0.15
2022-06-08 14:12:35 +02:00
Pawel Palucha
1c449b9ad2 Fix support for Zulu arm64 architecture
Azul API stopped to support arm64 architecture, the only supported
option for ARM cpus is now 'arm'. This requires to set up hw_bitness
properly to get 64 bits version. 32 bits version can be obtained by
using 'arm' as an architecture.
2022-06-07 22:24:33 +02:00
Florian Meriaux
3e3d8c490f
sbt-cache: don't cache some files. 2022-05-25 11:39:10 +02:00
AGulev
72dec17e4f index.js 2022-05-25 08:41:31 +02:00
AGulev
e8f1c8b5ca Add Microsoft 11.0.15 2022-05-24 19:12:23 +02:00
Adam Fisher
05b9e395e1
Updates the sbt cache docs in the README (#327) 2022-05-09 09:30:21 +02:00
Dmitry Shibanov
860f600565
Add Amazon Corretto example and fix links (#325) 2022-05-04 13:23:54 +02:00
Manuel
bae3140877
Add Amazon Corretto distribution (#312) 2022-04-29 12:38:36 +02:00
Mario Schünadel
fa0272551b Merge remote-tracking branch 'upstream/main' into suggest-clear-cache-after-dependency-update 2022-04-28 16:16:25 +02:00
Mario Schünadel
30cdb8c7dd upstream with main v3.2.0 2022-04-28 15:55:20 +02:00
Kengo TODA
dd80852400
Housekeeping: Update zeit/ncc to vercel/ncc (#270) 2022-04-26 15:44:58 +02:00
IKEDA Sho
4fe61d24fe
[README] Add sbt as supported package manager for caching (#322) 2022-04-26 09:35:00 +02:00
Mario Schünadel
45b7b136cf only Versions.kt and Dependencies.kt as cache key 2022-04-25 13:40:12 +02:00
Mario Schünadel
f56009127d fix dist/* 2022-04-25 13:13:12 +02:00
Mario Schünadel
fa513641c0 Merge remote-tracking branch 'git@github.com-actions/setup-java.git/main' into include-buildSrc-in-cache-key 2022-04-25 12:43:44 +02:00
Dmitry Shibanov
055250a105
Add CODE_OF_CONDUCT (#318) 2022-04-20 16:26:58 +02:00
Florian Meriaux
0ed94a5678
Add SBT in cache managers. (#302) 2022-04-20 16:26:27 +02:00
Mario Schünadel
83b77aa58b
Merge branch 'actions:main' into suggest-clear-cache-after-dependency-update 2022-04-19 12:45:13 +02:00
Deepak Dahiya
9519cf1382
Merge pull request #317 from actions/t-dedah/updateCache
Updated @actions/cache
2022-04-11 19:06:07 +05:30
Deepak Dahiya
02c73de3fe Updated action version 2022-04-11 13:25:41 +00:00
Deepak Dahiya
fd3f6750a0 Updated package-lock.json 2022-04-11 13:08:18 +00:00
Deepak Dahiya
1aa8bf7608 Licensed 2022-04-11 09:39:09 +00:00
Deepak Dahiya
9c8c90e08c Updated @actions/cache 2022-04-11 07:36:42 +00:00
Dmitry Shibanov
cd35109007
Bump actions to v3 (#314) 2022-04-07 12:25:49 +02:00
Mario Schünadel
d2e3f417a9
Set output cache-hit to indicate if cache was hit (#275) 2022-04-07 10:58:22 +02:00
dependabot[bot]
0aa6f2a84f
Bump minimist from 1.2.5 to 1.2.6 (#303) 2022-04-01 09:57:27 +02:00
Shubham Tiwari
dc1a9f2791
Caching on GHES (#308)
* initial changes

* review comments

* updated with correct message

* linting

* update version

* updated version
2022-03-31 15:09:57 -04:00
Shubham Tiwari
e886040dc2
Update zulu-installer.test.ts (#310) 2022-03-31 18:33:52 +02:00
Shubham Tiwari
efbea1411b
Update util.ts 2022-03-31 20:49:24 +05:30
Shubham Tiwari
c41070eda4
Update util.ts 2022-03-31 20:46:04 +05:30
Dmitry Shibanov
f69f00b5e5
Update lockfileVersion (#293) 2022-02-24 14:42:37 +03:00
Thomas Boop
2e1dfa1fb4
Update Default runtime to node16 (#290) 2022-02-22 11:27:25 +03:00
Mario Schünadel
efcb607a6b remove "restoreKeys" to clear cache after update 2022-01-25 15:35:45 +01:00
Mario Schünadel
ca584e7011
Merge pull request #1 from schuenadel/include-buildSrc-in-cache-key
Include *.kt files in buildSrc in cache key
2022-01-13 14:16:30 +01:00
Mario Schünadel
69e93308b0 Include *.kt files in buildSrc in cache key 2022-01-13 13:46:49 +01:00
MaksimZhukov
a12e082d83
Merge pull request #224 from KengoTODA/remove-husky
Housekeeping: remove the config for husky
2021-12-29 14:46:32 +03:00
MaksimZhukov
04d53533c2
Merge pull request #215 from beatngu13/update-readme-cache-key
Describe cache key format in readme
2021-12-29 14:27:51 +03:00
MaksimZhukov
d8da887cad
Merge pull request #196 from oscard0m/add-cache-to-node-workflows
ci(workflow): add cache to workflows using actions/setup-node
2021-12-29 14:12:29 +03:00
Dmitry Shibanov
f0bb916062
Add an error condition for non jdk Microsoft OpenJDK build (#265) 2021-12-21 13:29:16 +03:00
Dmitry Shibanov
d23aed3c80
Add an error condition for an unstable Microsoft OpenJDK build (#263) 2021-12-15 18:23:49 +03:00
Brian Cristante
8d22286106
Fix the Licensed workflow (#259)
* add manual trigger to the Licensed workflow

* update licensed version
2021-12-08 14:04:47 -05:00
Brendan Burns
db2f350d2b
Add microsoft distribution of the JDK. (#252)
* Add microsoft distribution of the JDK.

* Fix formatting to match prettier.

* Rebuild js.

* Fix archive suffix for Windows.

* Update src/distributions/microsoft/installer.ts

Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>

* Update src/distributions/microsoft/installer.ts

Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>

* Add support for the microsoft distribution.

* revert lockfile changes

* npm run format

* fix e2e-versions.yml

* eliminate duplication in version numbers

* Fix test

Co-authored-by: Brendan Burns <brendan.d.burns@gmail.com>
Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>
2021-12-08 13:50:14 -05:00
Aparna Ravindra
5f00602cd1
Bumping up actions/cache version to 1.0.8 (#254) 2021-11-29 13:18:57 +03:00
Даниил Разоренов
d61af71edf
Add support for Liberica JDK (#225) 2021-11-29 12:15:06 +03:00
Michiel Leegwater
ae26cabe43
Update to Java 17 (#242) 2021-10-18 15:48:54 +03:00
MaksimZhukov
ee43590bc7
Merge pull request #241 from dmitry-shibanov/v-dmshib/audit-dependencies
Update dependencies
2021-10-14 13:03:58 +03:00
Dmitry Shibanov
c187df66d0 update npm dependencies 2021-10-13 11:22:31 +03:00
dependabot[bot]
8db439b6b4
Bump ws from 7.4.3 to 7.5.5 (#228)
Bumps [ws](https://github.com/websockets/ws) from 7.4.3 to 7.5.5.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.4.3...7.5.5)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-29 12:57:51 +03:00
dependabot[bot]
e39cf0ebdc
Bump tmpl from 1.0.4 to 1.0.5 (#234)
Bumps [tmpl](https://github.com/daaku/nodejs-tmpl) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/daaku/nodejs-tmpl/releases)
- [Commits](https://github.com/daaku/nodejs-tmpl/commits/v1.0.5)

---
updated-dependencies:
- dependency-name: tmpl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-29 12:54:43 +03:00
dependabot[bot]
770ccdbc4b
Bump ansi-regex from 5.0.0 to 5.0.1 (#235)
Bumps [ansi-regex](https://github.com/chalk/ansi-regex) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/chalk/ansi-regex/releases)
- [Commits](https://github.com/chalk/ansi-regex/compare/v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: ansi-regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-29 12:52:58 +03:00
dependabot[bot]
6a258a9690
Bump path-parse from 1.0.6 to 1.0.7 (#227)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-29 12:48:56 +03:00
mikhailshaganov
7ac3cd263f
Prints error message encountered in cleanup-java (#220) 2021-09-24 12:53:06 +03:00
BJ Hargrave
d34438b137
cleanup: Use --delete-secret-and-public-key to delete GPG_PRIVATE_KEY (#226)
This deletes the secret key(s) and public keys(s) for the fingerprint
of the installed GPG_PRIVATE_KEY.

If the installed GPG_PRIVATE_KEY only contains a signing subkey without
the primary private key, the --delete-secret-and-public-key will
successfully delete the keys.

Signed-off-by: BJ Hargrave <bj@hargrave.dev>
2021-09-22 11:39:53 +03:00
Pavel Krulec
61c179a6ef
Bump http-client version (actions#221) (#222) 2021-09-14 15:04:11 +03:00
Kengo TODA
68c162b39c
docs: append --no-daemon option for Windows user (#218)
To cache deps successfully even on Windows, it's better to add `--no-daemon` option
to the Gradle build, or the save process will fail due to 'permission denied' error.

refs https://github.com/actions/cache/issues/454
2021-09-13 12:53:49 +03:00
Brian Cristante
b02a10773f
Create check-dist.yml (#212) 2021-09-13 12:52:18 +03:00
Kengo TODA
6df0b04fb5 build: remove the config for husky
husky has been removed by 980efe8 at 2019 Nov.
2021-09-10 07:53:56 +08:00
Daniel Kraus
a1ad2000b3 Describe cache key format in readme 2021-08-31 21:42:01 +02:00
MaksimZhukov
3bc31aaf88
Merge pull request #210 from dmitry-shibanov/v-dmshib/suppress-test-log-output
Suppress warning/debug/info output from tests
2021-08-23 14:47:51 +03:00
Dmitry Shibanov
30cd52e29b fix warning output in cleanup-java 2021-08-23 11:54:48 +03:00
Dmitry Shibanov
2e40ee8132 suppress tests log output 2021-08-23 11:31:06 +03:00
Maxim Lobanov
c21fb9392d
Update readme and test matrix (#209) 2021-08-23 11:09:55 +03:00
Oscar Dominguez
faa22ddfbc
style(workflows): restore single quote strings 2021-08-22 15:51:45 +02:00
Kengo TODA
08e4e813b8
Introduce the dependency caching for Maven and Gradle (#193)
* implement a core logic to cache dependnecies

* integrate the cache logic to entry points

* add a user doc about the dependency cache feature

* reflect changes to the dist dir

* add a prefix to the cache key

https://github.com/actions/setup-java/pull/193/files#r669521434

* test: extract build.gradle to a file in __tests__ dir

* run the restore e2e test on the specified OS

* add an e2e test for maven

* fix the dependency among workflows

* stabilize the cache on the Windows in e2e test

* add .gitignore files to __tests__/cache directories

* try to run restore after the authentication

* use the key in state to save caches in the post process

* suggest users to run without daemon if fail to save Gradle cache on Windows

* add missing description in the README.md

* run clean-up tasks in serial

* Add validation for post step (#3)

* work on fixing cache post step

* fix tests

* Update src/cleanup-java.ts

Co-authored-by: Konrad Pabjan <konradpabjan@github.com>

* Update src/cache.ts

Co-authored-by: Konrad Pabjan <konradpabjan@github.com>

* style: put the name of input to the constants.ts

* format: run `npm run build` to reflect changes to the dist dir

* chore: update licensed files by `licensed cache`

it still has three errors as follows:
>* setup-java.npm.sax
>  filename: /Users/kengo/GitHub/setup-java/.licenses/npm/sax.dep.yml
>    - license needs review: other
>
>* setup-java.npm.tslib-1.14.1
>  filename: /Users/kengo/GitHub/setup-java/.licenses/npm/tslib-1.14.1.dep.yml
>    - license needs review: 0bsd
>
>* setup-java.npm.tslib-2.3.0
>  filename: /Users/kengo/GitHub/setup-java/.licenses/npm/tslib-2.3.0.dep.yml
>    - license needs review: 0bsd

* fix: rerun ncc on macOS with node v12

* build: follow the suggestion at PR page

https://github.com/actions/setup-java/pull/193#issuecomment-901839546

* fix: throw error in case of no package manager file found

Co-authored-by: Dmitry Shibanov <dmitry-shibanov@github.com>
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
2021-08-19 20:19:35 +03:00
Jochen Schalanda
4b1b3d4a82
Add support for Eclipse Temurin (#201)
* Add support for Adoptium OpenJDK

Refs https://github.com/actions/setup-java/issues/191

* Rename distribution to Eclipse Temurin

* Update end-to-end tests in GitHub workflows

* Exclude e2e tests for Temurin JREs for now

* fix version

* Update e2e-versions.yml

* Handle Eclipse Temurin version suffixes ("beta")

* Add test for new version suffix "beta"

* Add updated `index.js`

* fix an issue

Co-authored-by: Maxim Lobanov <maxim-lobanov@github.com>
2021-08-06 13:12:36 +03:00
Oscar Dominguez
a388b3faf4 ci(workflow): add 'npm' cache for actions/setup-node in .github/workflows 2021-07-18 22:16:32 +02:00
MaksimZhukov
ad01d131cc
Automate releasing new versions of the "setup-java" action (#182)
* Automate releasing new versions of the setup-java action

* Use permissions as a top-level key

Co-authored-by: MaksimZhukov <v-mazhuk@microsoft.com>
2021-05-27 17:28:08 +03:00
dependabot[bot]
d9126d7df2
Bump hosted-git-info from 2.8.8 to 2.8.9 (#178)
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-17 16:38:14 +03:00
Marcono1234
53ac717e09
Improve README and advanced usage guide (#174) 2021-05-17 16:38:02 +03:00
Marcel
cbc183b1c1
Added 'adopt-hotspot' and 'adopt-openj9' (#155)
* Added 'adopt-hotspot' and 'adopt-openj9'

* Fixed adopt toolchain folder
2021-05-17 16:33:21 +03:00
Dmitry Shibanov
0443912ed7
Fix typo in documentation "jdkfile" (#167) 2021-04-14 11:33:57 +03:00
Manuel
56b2808da7
Fix typo on distribution "jdkfile" (#163)
Its jdkfile and not "jdkFile", see b53500dabc/src/distributions/distribution-factory.ts (L10)
2021-04-12 20:14:22 +03:00
Dmitry Shibanov
00401c4488
add cron for e2e tests, twice a day (#162) 2021-04-12 11:08:05 +03:00
Nuh Koca
1e063f2878
Fix navigation issue of supported distributions (#153) 2021-04-05 17:59:08 +03:00
Maxim Lobanov
8764a52df1
Rename v2-preview to v2 in docs and tests (#151) 2021-04-05 13:14:38 +03:00
Maxim Lobanov
b53500dabc
Merge "v2-preview" branch into "main" (#150)
* actions/setup-java@v2 - Support different distributions (#132)

* Implement support for custom vendors in setup-java

* minor improvements

* minor refactoring

* Add unit tests and e2e tests

* Update documentation for setup-java@v2 release

* minor improvements

* regenerate dist

* fix comments

* resolve comments

* resolve comments

* fix tests

* Update README.md

Co-authored-by: George Adams <george.adams@microsoft.com>

* Apply suggestions from code review

Co-authored-by: Konrad Pabjan <konradpabjan@github.com>

* fix minor nitpicks

* handle 4th digit

* pull latest main

* Update README.md

* rename adoptium to adopt

* rename adoptium to adopt

* rename adoptium to adopt

* Update README.md

* make java-version and distribution required for action

* update readme

* fix tests

* fix e2e tests

Co-authored-by: George Adams <george.adams@microsoft.com>
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>

* Add "overwrite-settings" input parameter (#136)

* add overwrite-settings parameter

* fix e2e tests

* print debug

* fix e2e tests

* add comment

* remove comment

* Add "Contents/Home" postfix on macOS if provider creates it (#139)

* Update e2e-versions.yml

* Update e2e-versions.yml

* implement fix

* Update e2e-versions.yml

* Update installer.ts

* fix filter logic

* Update e2e-versions.yml

* remove extra logic

* Update e2e-versions.yml

* Add check-latest flag (#141)

* add changes for check-latest

* run prerelease script

* resolving comments

* fixing tests

* fix spelling

* improve core.info messages

* run format

* run prerelease

* change version to fix test

* resolve comment for check-latest

* Update README.md

* added hosted tool cache section

* Apply suggestions from code review

Co-authored-by: Maxim Lobanov <v-malob@microsoft.com>
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>

* Avoid "+" sign in Java path in v2-preview (#145)

* try to handle _ versions

* more logs

* more debug

* test 1

* more fixes

* fix typo

* Update e2e-versions.yml

* add unit-tests

* remove debug info from tests

* debug pre-cached versions

* change e2e tests to ubuntu-latest

* update npm licenses

Co-authored-by: George Adams <george.adams@microsoft.com>
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
Co-authored-by: Dmitry Shibanov <dmitry-shibanov@github.com>
2021-04-05 13:02:27 +03:00
Maxim Lobanov
ebb424f2cb
Beatify "main" warning about breaking changes (#144)
* add warning

* Update src/setup-java.ts

Co-authored-by: Konrad Pabjan <konradpabjan@github.com>

* Update index.js

Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
2021-03-22 12:05:47 +03:00
Maxim Lobanov
9c7940b9c6
Add breaking change warning to 'main' branch (#138)
* add warning

* Update src/setup-java.ts

Co-authored-by: Konrad Pabjan <konradpabjan@github.com>

Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
2021-03-22 11:06:35 +03:00
Konrad Pabjan
fc62ccaa4f
V2 setup-java ADR (#97)
* V2 setup-java initial ADR

* Update ADR

* Misc fixes

* Clarifications around default behavior and new input

* PR feedback
2021-03-08 12:38:33 -05:00
Maxim Lobanov
e73e96a93b
Merge pull request #131 from actions/v-malob/update-codeowners
Add @actions/virtual-environments-owners to CODEOWNERS file
2021-03-05 09:36:36 +03:00
Maxim Lobanov
ea31b1d738
Update CODEOWNERS 2021-03-04 21:22:42 +03:00
Maxim Lobanov
ff0054dfbf
Merge pull request #123 from dmitry-shibanov/fix-documentation-for-gpg-import-export
Fix documentation for GPG
2021-02-17 11:13:48 +03:00
Dmitry Shibanov
81290cdb8c change imported to exported 2021-02-16 18:12:46 +03:00
Maxim Lobanov
546dae7e87
Merge pull request #122 from dmitry-shibanov/update-docs-for-maven-and-gpg
Add notes about maven extra configuration and gpg key.
2021-02-15 12:03:32 +03:00
Dmitry Shibanov
4d656d0138 work on resolving comments 2021-02-15 10:22:04 +03:00
Dmitry Shibanov
719bcb4f94 resolve comments 2021-02-12 16:16:23 +03:00
Dmitry Shibanov
661c4c13b4 update docs to notes about maven and gpg 2021-02-12 12:26:52 +03:00
Maxim Lobanov
2fac83dd2d
Merge pull request #121 from dmitry-shibanov/restrict-blank-issues
Restrict blank issues
2021-02-10 17:30:29 +03:00
Dmitry Shibanov
fbe6d87076 add bug to labels 2021-02-10 16:58:41 +03:00
Dmitry Shibanov
371353f882 fix label creation 2021-02-10 12:49:56 +03:00
Dmitry Shibanov
5222f725dd restrict create blank issue 2021-02-10 12:08:43 +03:00
Maxim Lobanov
089d28c90b
Merge pull request #119 from vsafonkin/v-vlsafo/issue-pr-templates
Add issue and pull request templates
2021-02-05 11:24:44 +03:00
Vladimir Safonkin
552366fa8e Add issue and pr templates 2021-02-05 09:44:08 +03:00
Brian Cristante
61c9e3a719
CODEOWNERS needs the org name for teams (#118) 2020-12-07 15:59:00 -05:00
Brian Cristante
e3619375bd
Create CODEOWNERS (#115) 2020-11-25 16:09:07 -05:00
181 changed files with 238944 additions and 34821 deletions

6
.eslintignore Normal file
View File

@ -0,0 +1,6 @@
# Ignore list
/*
# Do not ignore these folders:
!__tests__/
!src/

51
.eslintrc.js Normal file
View File

@ -0,0 +1,51 @@
// This is a reusable configuration file copied from https://github.com/actions/reusable-workflows/tree/main/reusable-configurations. Please don't make changes to this file as it's the subject of an automatic update.
module.exports = {
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:eslint-plugin-jest/recommended',
'eslint-config-prettier'
],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint', 'eslint-plugin-node', 'eslint-plugin-jest'],
rules: {
'@typescript-eslint/no-require-imports': 'error',
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-empty-function': 'off',
'@typescript-eslint/ban-ts-comment': [
'error',
{
'ts-ignore': 'allow-with-description'
}
],
'no-console': 'error',
'yoda': 'error',
'prefer-const': [
'error',
{
destructuring: 'all'
}
],
'no-control-regex': 'off',
'no-constant-condition': ['error', {checkLoops: false}],
'node/no-extraneous-import': 'error'
},
overrides: [
{
files: ['**/*{test,spec}.ts'],
rules: {
'@typescript-eslint/no-unused-vars': 'off',
'jest/no-standalone-expect': 'off',
'jest/no-conditional-expect': 'off',
'no-console': 'off',
}
}
],
env: {
node: true,
es6: true,
'jest/globals': true
}
};

1
.gitattributes vendored
View File

@ -1,3 +1,4 @@
* text=auto eol=lf
dist/index.js -diff -merge
dist/index.js linguist-generated=true
.licenses/** -diff linguist-generated=true

1
.github/CODEOWNERS vendored Normal file
View File

@ -0,0 +1 @@
* @actions/setup-actions-team

32
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,32 @@
---
name: Bug report
about: Create a bug report
title: ''
labels: bug, needs triage
assignees: ''
---
**Description:**
A clear and concise description of what the bug is.
**Task version:**
Specify the task version
**Platform:**
- [ ] Ubuntu
- [ ] macOS
- [ ] Windows
**Runner type:**
- [ ] Hosted
- [ ] Self-hosted
**Repro steps:**
A description with steps to reproduce the issue. If your have a public example or repo to share, please provide the link.
**Expected behavior:**
A description of what you expected to happen.
**Actual behavior:**
A description of what is actually happening.

1
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1 @@
blank_issues_enabled: false

View File

@ -0,0 +1,16 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: feature request, needs triage
assignees: ''
---
**Description:**
Describe your proposal.
**Justification:**
Justification or a use case for your proposal.
**Are you willing to submit a PR?**
<!--- We accept contributions! -->

9
.github/pull_request_template.md vendored Normal file
View File

@ -0,0 +1,9 @@
**Description:**
Describe your changes.
**Related issue:**
Add link to the related issue.
**Check list:**
- [ ] Mark if documentation changes are required.
- [ ] Mark if tests were added or updated to cover the changes.

17
.github/workflows/basic-validation.yml vendored Normal file
View File

@ -0,0 +1,17 @@
name: Basic validation
on:
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
jobs:
call-basic-validation:
name: Basic validation
uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main

17
.github/workflows/check-dist.yml vendored Normal file
View File

@ -0,0 +1,17 @@
name: Check dist/
on:
push:
branches:
- main
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
workflow_dispatch:
jobs:
call-check-dist:
name: Check dist/
uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main

14
.github/workflows/codeql-analysis.yml vendored Normal file
View File

@ -0,0 +1,14 @@
name: CodeQL analysis
on:
push:
branches: [main]
pull_request:
branches: [main]
schedule:
- cron: '0 3 * * 0'
jobs:
call-codeQL-analysis:
name: CodeQL analysis
uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main

209
.github/workflows/e2e-cache.yml vendored Normal file
View File

@ -0,0 +1,209 @@
name: Validate cache
on:
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
defaults:
run:
shell: bash
jobs:
gradle-save:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Run setup-java with the cache for gradle
uses: ./
id: setup-java
with:
distribution: 'adopt'
java-version: '11'
cache: gradle
- name: Create files to cache
# Need to avoid using Gradle daemon to stabilize the save process on Windows
# https://github.com/actions/cache/issues/454#issuecomment-840493935
run: |
gradle downloadDependencies --no-daemon -p __tests__/cache/gradle
if [ ! -d ~/.gradle/caches ]; then
echo "::error::The ~/.gradle/caches directory does not exist unexpectedly"
exit 1
fi
gradle-restore:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
needs: gradle-save
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Run setup-java with the cache for gradle
uses: ./
id: setup-java
with:
distribution: 'adopt'
java-version: '11'
cache: gradle
- name: Confirm that ~/.gradle/caches directory has been made
run: |
if [ ! -d ~/.gradle/caches ]; then
echo "::error::The ~/.gradle/caches directory does not exist unexpectedly"
exit 1
fi
ls ~/.gradle/caches/
maven-save:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Run setup-java with the cache for maven
uses: ./
id: setup-java
with:
distribution: 'adopt'
java-version: '11'
cache: maven
- name: Create files to cache
run: |
mvn verify -f __tests__/cache/maven/pom.xml
if [ ! -d ~/.m2/repository ]; then
echo "::error::The ~/.m2/repository directory does not exist unexpectedly"
exit 1
fi
maven-restore:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
needs: maven-save
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Run setup-java with the cache for maven
uses: ./
id: setup-java
with:
distribution: 'adopt'
java-version: '11'
cache: maven
- name: Confirm that ~/.m2/repository directory has been made
run: |
if [ ! -d ~/.m2/repository ]; then
echo "::error::The ~/.m2/repository directory does not exist unexpectedly"
exit 1
fi
ls ~/.m2/repository
sbt-save:
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
working-directory: __tests__/cache/sbt
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Run setup-java with the cache for sbt
uses: ./
id: setup-java
with:
distribution: 'adopt'
java-version: '11'
cache: sbt
- name: Create files to cache
run: sbt update
- name: Check files to cache on macos-latest
if: matrix.os == 'macos-latest'
run: |
if [ ! -d ~/Library/Caches/Coursier ]; then
echo "::error::The ~/Library/Caches/Coursier directory does not exist unexpectedly"
exit 1
fi
- name: Check files to cache on windows-latest
if: matrix.os == 'windows-latest'
run: |
if [ ! -d ~/AppData/Local/Coursier/Cache ]; then
echo "::error::The ~/AppData/Local/Coursier/Cache directory does not exist unexpectedly"
exit 1
fi
- name: Check files to cache on ubuntu-latest
if: matrix.os == 'ubuntu-latest'
run: |
if [ ! -d ~/.cache/coursier ]; then
echo "::error::The ~/.cache/coursier directory does not exist unexpectedly"
exit 1
fi
sbt-restore:
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
working-directory: __tests__/cache/sbt
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
needs: sbt-save
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Run setup-java with the cache for sbt
uses: ./
id: setup-java
with:
distribution: 'adopt'
java-version: '11'
cache: sbt
- name: Confirm that ~/Library/Caches/Coursier directory has been made
if: matrix.os == 'macos-latest'
run: |
if [ ! -d ~/Library/Caches/Coursier ]; then
echo "::error::The ~/Library/Caches/Coursier directory does not exist unexpectedly"
exit 1
fi
ls ~/Library/Caches/Coursier
- name: Confirm that ~/AppData/Local/Coursier/Cache directory has been made
if: matrix.os == 'windows-latest'
run: |
if [ ! -d ~/AppData/Local/Coursier/Cache ]; then
echo "::error::The ~/AppData/Local/Coursier/Cache directory does not exist unexpectedly"
exit 1
fi
ls ~/AppData/Local/Coursier/Cache
- name: Confirm that ~/.cache/coursier directory has been made
if: matrix.os == 'ubuntu-latest'
run: |
if [ ! -d ~/.cache/coursier ]; then
echo "::error::The ~/.cache/coursier directory does not exist unexpectedly"
exit 1
fi
ls ~/.cache/coursier

124
.github/workflows/e2e-local-file.yml vendored Normal file
View File

@ -0,0 +1,124 @@
name: Validate local file
on:
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
jobs:
setup-java-local-file-adopt:
name: Validate installation from local file Adopt
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Download Adopt OpenJDK file
run: |
if ($IsLinux) {
$downloadUrl = "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jdk_x64_linux_hotspot_11.0.10_9.tar.gz"
$localFilename = "java_package.tar.gz"
} elseif ($IsMacOS) {
$downloadUrl = "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jdk_x64_mac_hotspot_11.0.10_9.tar.gz"
$localFilename = "java_package.tar.gz"
} elseif ($IsWindows) {
$downloadUrl = "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jdk_x64_windows_hotspot_11.0.10_9.zip"
$localFilename = "java_package.zip"
}
echo "LocalFilename=$localFilename" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, "$env:RUNNER_TEMP/$localFilename")
shell: pwsh
- name: setup-java
uses: ./
id: setup-java
with:
distribution: 'jdkfile'
jdkFile: ${{ runner.temp }}/${{ env.LocalFilename }}
java-version: '11.0.0-ea'
architecture: x64
- name: Verify Java version
run: bash __tests__/verify-java.sh "11.0.10" "${{ steps.setup-java.outputs.path }}"
shell: bash
setup-java-local-file-zulu:
name: Validate installation from local file Zulu
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Download Zulu OpenJDK file
run: |
if ($IsLinux) {
$downloadUrl = "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz"
$localFilename = "java_package.tar.gz"
} elseif ($IsMacOS) {
$downloadUrl = "https://cdn.azul.com/zulu/bin/zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz"
$localFilename = "java_package.tar.gz"
} elseif ($IsWindows) {
$downloadUrl = "https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-win_x64.zip"
$localFilename = "java_package.zip"
}
echo "LocalFilename=$localFilename" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, "$env:RUNNER_TEMP/$localFilename")
shell: pwsh
- name: setup-java
uses: ./
id: setup-java
with:
distribution: 'jdkfile'
jdkFile: ${{ runner.temp }}/${{ env.LocalFilename }}
java-version: '11.0.0-ea'
architecture: x64
- name: Verify Java version
run: bash __tests__/verify-java.sh "11.0" "${{ steps.setup-java.outputs.path }}"
shell: bash
setup-java-local-file-temurin:
name: Validate installation from local file Eclipse Temurin
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Download Eclipse Temurin file
run: |
if ($IsLinux) {
$downloadUrl = "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.12_7.tar.gz"
$localFilename = "java_package.tar.gz"
} elseif ($IsMacOS) {
$downloadUrl = "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_x64_mac_hotspot_11.0.12_7.tar.gz"
$localFilename = "java_package.tar.gz"
} elseif ($IsWindows) {
$downloadUrl = "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_x64_windows_hotspot_11.0.12_7.zip"
$localFilename = "java_package.zip"
}
echo "LocalFilename=$localFilename" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
(New-Object System.Net.WebClient).DownloadFile($downloadUrl, "$env:RUNNER_TEMP/$localFilename")
shell: pwsh
- name: setup-java
uses: ./
id: setup-java
with:
distribution: 'jdkfile'
jdkFile: ${{ runner.temp }}/${{ env.LocalFilename }}
java-version: '11.0.0-ea'
architecture: x64
- name: Verify Java version
run: bash __tests__/verify-java.sh "11.0.12" "${{ steps.setup-java.outputs.path }}"
shell: bash

153
.github/workflows/e2e-publishing.yml vendored Normal file
View File

@ -0,0 +1,153 @@
name: Validate publishing functionality
on:
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
defaults:
run:
shell: pwsh
jobs:
setup-java-publishing:
name: Validate settings.xml
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: setup-java
uses: ./
id: setup-java
with:
distribution: 'adopt'
java-version: '11'
server-id: maven
server-username: MAVEN_USERNAME
server-password: MAVEN_CENTRAL_TOKEN
gpg-passphrase: MAVEN_GPG_PASSPHRASE
- name: Validate settings.xml
run: |
$xmlPath = Join-Path $HOME ".m2" "settings.xml"
Get-Content $xmlPath | ForEach-Object { Write-Host $_ }
[xml]$xml = Get-Content $xmlPath
$servers = $xml.settings.servers.server
if (($servers[0].id -ne 'maven') -or ($servers[0].username -ne '${env.MAVEN_USERNAME}') -or ($servers[0].password -ne '${env.MAVEN_CENTRAL_TOKEN}')) {
throw "Generated XML file is incorrect"
}
if (($servers[1].id -ne 'gpg.passphrase') -or ($servers[1].passphrase -ne '${env.MAVEN_GPG_PASSPHRASE}')) {
throw "Generated XML file is incorrect"
}
test-publishing-overwrite:
name: settings.xml is overwritten if flag is true
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Create fake settings.xml
run: |
$xmlDirectory = Join-Path $HOME ".m2"
$xmlPath = Join-Path $xmlDirectory "settings.xml"
New-Item -Path $xmlDirectory -ItemType Directory
Set-Content -Path $xmlPath -Value "Fake_XML"
- name: setup-java
uses: ./
id: setup-java
with:
distribution: 'adopt'
java-version: '11'
server-id: maven
server-username: MAVEN_USERNAME
server-password: MAVEN_CENTRAL_TOKEN
gpg-passphrase: MAVEN_GPG_PASSPHRASE
- name: Validate settings.xml is overwritten
run: |
$xmlPath = Join-Path $HOME ".m2" "settings.xml"
Get-Content $xmlPath | ForEach-Object { Write-Host $_ }
$content = Get-Content $xmlPath -Raw
if ($content -notlike '*maven*') {
throw "settings.xml file is not overwritten"
}
test-publishing-skip-overwrite:
name: settings.xml is not overwritten if flag is false
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Create fake settings.xml
run: |
$xmlDirectory = Join-Path $HOME ".m2"
$xmlPath = Join-Path $xmlDirectory "settings.xml"
New-Item -Path $xmlDirectory -ItemType Directory
Set-Content -Path $xmlPath -Value "Fake_XML"
- name: setup-java
uses: ./
id: setup-java
with:
distribution: 'adopt'
java-version: '11'
server-id: maven
server-username: MAVEN_USERNAME
server-password: MAVEN_CENTRAL_TOKEN
overwrite-settings: false
gpg-passphrase: MAVEN_GPG_PASSPHRASE
- name: Validate that settings.xml is not overwritten
run: |
$xmlPath = Join-Path $HOME ".m2" "settings.xml"
$content = Get-Content -Path $xmlPath -Raw
Write-Host $content
if ($content -notlike "*Fake_XML*") {
throw "settings.xml file was overwritten but it should not be"
}
test-publishing-custom-location:
name: settings.xml in custom location
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: setup-java
uses: ./
id: setup-java
with:
distribution: 'adopt'
java-version: '11'
server-id: maven
server-username: MAVEN_USERNAME
server-password: MAVEN_CENTRAL_TOKEN
gpg-passphrase: MAVEN_GPG_PASSPHRASE
settings-path: ${{ runner.temp }}
- name: Validate settings.xml location
run: |
$path = Join-Path $env:RUNNER_TEMP "settings.xml"
if (-not (Test-Path $path)) {
throw "settings.xml file is not found in expected location"
}

378
.github/workflows/e2e-versions.yml vendored Normal file
View File

@ -0,0 +1,378 @@
name: Validate Java e2e
on:
push:
branches:
- main
- releases/*
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
schedule:
- cron: '0 */12 * * *'
workflow_dispatch:
jobs:
setup-java-major-versions:
name: ${{ matrix.distribution }} ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
distribution: [
'temurin',
'adopt',
'adopt-openj9',
'zulu',
'liberica',
'microsoft',
'semeru',
'corretto',
'dragonwell'
] # internally 'adopt-hotspot' is the same as 'adopt'
version: ['8', '11', '17']
exclude:
- distribution: microsoft
version: 8
- distribution: dragonwell
os: macos-latest
include:
- distribution: oracle
os: macos-latest
version: 17
- distribution: oracle
os: windows-latest
version: 20
- distribution: oracle
os: ubuntu-latest
version: 20
steps:
- name: Checkout
uses: actions/checkout@v3
- name: setup-java
uses: ./
id: setup-java
with:
java-version: ${{ matrix.version }}
distribution: ${{ matrix.distribution }}
- name: Verify Java
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
shell: bash
setup-java-major-minor-versions:
name: ${{ matrix.distribution }} ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }}
needs: setup-java-major-versions
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
distribution: ['temurin', 'zulu', 'liberica']
version:
- '11.0'
- '8.0.302'
- '17.0.7+7'
include:
- distribution: oracle
os: ubuntu-latest
version: '20.0.1'
- distribution: dragonwell
os: ubuntu-latest
version: '11.0'
- distribution: dragonwell
os: ubuntu-latest
version: '11.0.13+9'
steps:
- name: Checkout
uses: actions/checkout@v3
- name: setup-java
uses: ./
id: setup-java
with:
java-version: ${{ matrix.version }}
distribution: ${{ matrix.distribution }}
- name: Verify Java
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
shell: bash
setup-java-check-latest:
name: ${{ matrix.distribution }} ${{ matrix.version }} - check-latest flag - ${{ matrix.os }}
needs: setup-java-major-versions
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
distribution: ['temurin', 'zulu', 'liberica', 'dragonwell']
exclude:
- distribution: dragonwell
os: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: setup-java
uses: ./
id: setup-java
with:
distribution: ${{ matrix.distribution }}
java-version: 11
check-latest: true
- name: Verify Java
run: bash __tests__/verify-java.sh "11" "${{ steps.setup-java.outputs.path }}"
shell: bash
setup-java-multiple-jdks:
name: ${{ matrix.distribution }} ${{ matrix.version }} - multiple jdks - ${{ matrix.os }}
needs: setup-java-major-versions
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
distribution: ['temurin', 'zulu', 'liberica', 'dragonwell']
exclude:
- distribution: dragonwell
os: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: setup-java
uses: ./
id: setup-java
with:
distribution: ${{ matrix.distribution }}
java-version: |
11
17
- name: Verify Java env variables
run: |
$versionsArr = "11","17"
foreach ($version in $versionsArr)
{
$envName = "JAVA_HOME_${version}_${env:RUNNER_ARCH}"
$JavaVersionPath = [Environment]::GetEnvironmentVariable($envName)
if (-not (Test-Path "$JavaVersionPath")) {
Write-Host "$envName is not found"
exit 1
}
}
shell: pwsh
- name: Verify Java
run: bash __tests__/verify-java.sh "17" "${{ steps.setup-java.outputs.path }}"
shell: bash
setup-java-ea-versions-zulu:
name: zulu ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }}
needs: setup-java-major-minor-versions
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
version: ['17-ea', '15.0.0-ea.14']
steps:
- name: Checkout
uses: actions/checkout@v3
- name: setup-java
uses: ./
id: setup-java
with:
java-version: ${{ matrix.version }}
distribution: zulu
- name: Verify Java
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
shell: bash
setup-java-ea-versions-temurin:
name: temurin ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }}
needs: setup-java-major-minor-versions
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
version: ['17-ea']
steps:
- name: Checkout
uses: actions/checkout@v3
- name: setup-java
uses: ./
id: setup-java
with:
java-version: ${{ matrix.version }}
distribution: temurin
- name: Verify Java
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
shell: bash
setup-java-custom-package-type:
name: ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }}
needs: setup-java-major-minor-versions
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
distribution: ['temurin', 'zulu', 'liberica', 'semeru']
java-package: ['jre']
version: ['17.0']
include:
- distribution: 'zulu'
java-package: jre+fx
version: '8'
os: ubuntu-latest
- distribution: 'zulu'
java-package: jdk+fx
version: '8.0.242'
os: ubuntu-latest
- distribution: 'liberica'
java-package: jdk+fx
version: '8'
os: ubuntu-latest
- distribution: 'liberica'
java-package: jre+fx
version: '11'
os: ubuntu-latest
- distribution: 'corretto'
java-package: jre
version: '8'
os: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: setup-java
uses: ./
id: setup-java
with:
java-version: ${{ matrix.version }}
java-package: ${{ matrix.java-package }}
distribution: ${{ matrix.distribution }}
- name: Verify Java
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
shell: bash
# Only Liberica and Zulu provide x86
setup-java-x86:
name: ${{ matrix.distribution }} ${{ matrix.version }} (jdk-${{ matrix.architecture }}) - ${{ matrix.os }}
needs: setup-java-major-minor-versions
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# x86 is not supported on macOS
os: [windows-latest, ubuntu-latest]
distribution: ['liberica', 'zulu', 'corretto']
version: ['11']
steps:
- name: Checkout
uses: actions/checkout@v3
- name: setup-java
uses: ./
id: setup-java
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.version }}
architecture: 'x86'
- name: Verify Java
run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}"
shell: bash
setup-java-version-both-version-inputs-presents:
name: ${{ matrix.distribution }} version (should be from input) - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
distribution: ['temurin', 'microsoft', 'corretto']
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Create .java-version file
shell: bash
run: echo "8" > .java-version
- name: setup-java
uses: ./
id: setup-java
with:
distribution: ${{ matrix.distribution }}
java-version: 11
java-version-file: '.java-version'
- name: Verify Java
run: bash __tests__/verify-java.sh "11" "${{ steps.setup-java.outputs.path }}"
shell: bash
setup-java-version-from-file-major-notation:
name: ${{ matrix.distribution }} version from file X - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
distribution: ['temurin', 'zulu', 'liberica', 'microsoft', 'corretto']
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Create .java-version file
shell: bash
run: echo "11" > .java-version
- name: setup-java
uses: ./
id: setup-java
with:
distribution: ${{ matrix.distribution }}
java-version-file: '.java-version'
- name: Verify Java
run: bash __tests__/verify-java.sh "11" "${{ steps.setup-java.outputs.path }}"
shell: bash
setup-java-version-from-file-major-minor-patch-notation:
name: ${{ matrix.distribution }} version from file X.Y.Z - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
distribution: ['adopt', 'adopt-openj9', 'zulu']
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Create .java-version file
shell: bash
run: echo "11.0.2" > .java-version
- name: setup-java
uses: ./
id: setup-java
with:
distribution: ${{ matrix.distribution }}
java-version-file: '.java-version'
- name: Verify Java
run: bash __tests__/verify-java.sh "11.0.2" "${{ steps.setup-java.outputs.path }}"
shell: bash
setup-java-version-from-file-major-minor-patch-with-dist:
name: ${{ matrix.distribution }} version from file 'openjdk64-11.0.2' - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
distribution: ['adopt', 'zulu', 'liberica']
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Create .java-version file
shell: bash
run: echo "openjdk64-11.0.2" > .java-version
- name: setup-java
uses: ./
id: setup-java
with:
distribution: ${{ matrix.distribution }}
java-version-file: '.java-version'
- name: Verify Java
run: bash __tests__/verify-java.sh "11.0.2" "${{ steps.setup-java.outputs.path }}"
shell: bash

View File

@ -1,20 +1,15 @@
name: Licensed
on:
push: {branches: main}
pull_request: {branches: main}
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
name: Check licenses
steps:
- uses: actions/checkout@v2
- run: npm ci
- name: Install licensed
run: |
cd $RUNNER_TEMP
curl -Lfs -o licensed.tar.gz https://github.com/github/licensed/releases/download/2.12.2/licensed-2.12.2-linux-x64.tar.gz
sudo tar -xzf licensed.tar.gz
sudo mv licensed /usr/local/bin/licensed
- run: licensed status
call-licensed:
name: Licensed
uses: actions/reusable-workflows/.github/workflows/licensed.yml@main

View File

@ -0,0 +1,29 @@
name: Release new action version
on:
release:
types: [released]
workflow_dispatch:
inputs:
TAG_NAME:
description: 'Tag name that the major tag will point to'
required: true
env:
TAG_NAME: ${{ github.event.inputs.TAG_NAME || github.event.release.tag_name }}
permissions:
contents: write
jobs:
update_tag:
name: Update the major tag to include the ${{ github.event.inputs.TAG_NAME || github.event.release.tag_name }} changes
environment:
name: releaseNewActionVersion
runs-on: ubuntu-latest
steps:
- name: Update the ${{ env.TAG_NAME }} tag
id: update-major-tag
uses: actions/publish-action@v0.2.2
with:
source-tag: ${{ env.TAG_NAME }}
slack-webhook: ${{ secrets.SLACK_WEBHOOK }}

View File

@ -0,0 +1,11 @@
name: Update configuration files
on:
schedule:
- cron: '0 3 * * 0'
workflow_dispatch:
jobs:
call-update-configuration-files:
name: Update configuration files
uses: actions/reusable-workflows/.github/workflows/update-config-files.yml@main

View File

@ -1,88 +0,0 @@
name: Main workflow
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
operating-system: [ubuntu-latest, windows-latest]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Node.js 12
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: npm install
run: npm install
- name: Lint
run: npm run format-check
- name: npm test
run: npm test
test:
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
operating-system: [ubuntu-latest, windows-latest]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Clear tool cache
if: runner.os != 'windows'
run: mv "${{ runner.tool_cache }}" "${{ runner.tool_cache }}.old"
- name: Clear tool cache (Windows)
if: runner.os == 'windows'
run: move "${{ runner.tool_cache }}" "${{ runner.tool_cache }}.old"
- name: Setup Java 13
id: setup-java
uses: ./
with:
java-version: 13.0.2
- name: Verify Java 13
if: runner.os != 'windows'
run: __tests__/verify-java.sh 13.0.2 "${{ steps.setup-java.outputs.path }}" "${{ steps.setup-java.outputs.version }}"
- name: Verify Java 13 (Windows)
if: runner.os == 'windows'
run: __tests__/verify-java.ps1 13.0.2 "${{ steps.setup-java.outputs.path }}" "${{ steps.setup-java.outputs.version }}"
test-proxy:
runs-on: ubuntu-latest
container:
image: ubuntu:latest
options: --dns 127.0.0.1
services:
squid-proxy:
image: datadog/squid:latest
ports:
- 3128:3128
env:
https_proxy: http://squid-proxy:3128
steps:
- uses: actions/checkout@v2
- name: Clear tool cache
run: rm -rf $RUNNER_TOOL_CACHE/*
- name: Setup Java 13
id: setup-java
uses: ./
with:
java-version: 13.0.2
- name: Verify Java 13
run: __tests__/verify-java.sh 13.0.2 "${{ steps.setup-java.outputs.path }}" "${{ steps.setup-java.outputs.version }}"
test-bypass-proxy:
runs-on: ubuntu-latest
env:
https_proxy: http://no-such-proxy:3128
no_proxy: github.com,static.azul.com
steps:
- uses: actions/checkout@v2
- name: Clear tool cache
run: rm -rf $RUNNER_TOOL_CACHE/*
- name: Setup Java 13
id: setup-java
uses: ./
with:
java-version: 13.0.2
- name: Verify Java 13
run: __tests__/verify-java.sh 13.0.2 "${{ steps.setup-java.outputs.path }}" "${{ steps.setup-java.outputs.version }}"

3
.gitignore vendored
View File

@ -94,3 +94,6 @@ typings/
# DynamoDB Local files
.dynamodb/
.vscode/
# IntelliJ / WebStorm
/.idea/

View File

@ -3,6 +3,7 @@ sources:
allowed:
- apache-2.0
- 0bsd
- bsd-2-clause
- bsd-3-clause
- isc

BIN
.licenses/npm/@actions/cache.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@actions/glob-0.1.2.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@actions/glob-0.2.0.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@azure/core-auth.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@azure/core-http.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@azure/core-lro.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@azure/core-paging.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@azure/core-tracing.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@azure/core-util.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@azure/logger.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@azure/ms-rest-js.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@azure/storage-blob.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@fastify/busboy.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@oozcitak/infra.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@oozcitak/util.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@opentelemetry/api.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@types/node-14.6.2.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@types/node-16.18.58.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@types/node-fetch.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@types/tunnel.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/abort-controller.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/argparse.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/asynckit.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/balanced-match.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/brace-expansion.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/combined-stream.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/concat-map.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/delayed-stream.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/esprima.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/event-target-shim.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/events.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/form-data-2.5.1.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/form-data-3.0.1.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/form-data-4.0.0.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/js-yaml.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/lru-cache.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/mime-db.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/mime-types.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/minimatch.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/node-fetch.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/process.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/sax.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/semver-7.5.4.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/sprintf-js.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/tr46.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/tslib-1.14.1.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/tslib-2.3.1.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/tslib-2.5.0.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/undici.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/uuid-8.3.2.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/webidl-conversions.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/whatwg-url.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/xml2js.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/xmlbuilder.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/yallist.dep.yml generated Normal file

Binary file not shown.

7
.prettierignore Normal file
View File

@ -0,0 +1,7 @@
# Ignore list
/*
# Do not ignore these folders:
!__tests__/
!.github/
!src/

11
.prettierrc.js Normal file
View File

@ -0,0 +1,11 @@
// This is a reusable configuration file copied from https://github.com/actions/reusable-workflows/tree/main/reusable-configurations. Please don't make changes to this file as it's the subject of an automatic update.
module.exports = {
printWidth: 80,
tabWidth: 2,
useTabs: false,
semi: true,
singleQuote: true,
trailingComma: 'none',
bracketSpacing: false,
arrowParens: 'avoid'
};

View File

@ -1,11 +0,0 @@
{
"printWidth": 80,
"tabWidth": 2,
"useTabs": false,
"semi": true,
"singleQuote": true,
"trailingComma": "none",
"bracketSpacing": false,
"arrowParens": "avoid",
"parser": "typescript"
}

76
CODE_OF_CONDUCT.md Normal file
View File

@ -0,0 +1,76 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to make participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies within all project spaces, and it also applies when
an individual is representing the project or its community in public spaces.
Examples of representing a project or community include using an official
project e-mail address, posting via an official social media account, or acting
as an appointed representative at an online or offline event. Representation of
a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at opensource+actions/setup-java@github.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq

View File

@ -1,38 +0,0 @@
# Contributors
### Checkin
- Do checkin source (src)
- Do checkin a single index.js file after running `ncc`
- Do not checking node_modules
### NCC
In order to avoid uploading `node_modules` to the repository, we use [zeit/ncc](https://github.com/zeit/ncc) to create multiple `index.js` files that gets saved under `dist/`.
There are two main files that get created
- `dist/setup/index.js`
- Core `setup-java` logic that downloads and installs an appropriate version of Java
- Handling creating a `settings.xml` file to make it easier to publish packages
- `dist/cleanup/index/js`
- Extra cleanup script that is used to remove GPG keys (needed for certain self-hosted runner scenarios)
If you're developing locally, after doing `npm install`, you can use the following commands
```yaml
npm run build # runs tsc along with ncc
npm run format # runs prettier --write
npm run format-check # runs prettier --check
npm run test # runs jest
npm run release # add all the necessary ncc files under dist/* to the git staging area
```
Any files generated using `tsc` will be added to `lib/*`, however those files also are not uploaded to the repository and are excluded using `.gitignore`.
### Testing
Tests are included under `_tests_/*` and can be run using `npm run-script test`.
We ask that you include a link to a successful run that utilizes the changes you are working on. For example, if your changes are in the branch `newAwesomeFeature`, then show an example run that uses `setup-python@newAwesomeFeature` or `my-fork@newAwesomeFeature`. This will help speed up testing and help us confirm that there are no breaking changes or bugs.
### Licensed
This repository uses a tool called [Licensed](https://github.com/github/licensed) to verify third party dependencies. You may need to locally install licensed and run `licensed cache` to update the dependency cache if you install or update a production dependency. If licensed cache is unable to determine the dependency, you may need to modify the cache file yourself to put the correct license. You should still verify the dependency, licensed is a tool to help, but is not a substitute for human review of dependencies.

Some files were not shown because too many files have changed in this diff Show More