Skip to content

Commit ab42a5b

Browse files
brunoborgesCopilot
andcommitted
Add Zulu CRaC package support to metadata migration
Fold CRaC-related work into the Zulu metadata API migration by wiring crac_supported query handling, extending Zulu package docs, and updating installer tests for jdk+crac/jre+crac behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 874ffb6 commit ab42a5b

9 files changed

Lines changed: 6611 additions & 5563 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ For information about the latest releases, recent updates, and newly supported d
4040

4141
- `distribution`: _(required)_ Java [distribution](#supported-distributions).
4242

43-
- `java-package`: The packaging variant of the chosen distribution. Possible values: `jdk`, `jre`, `jdk+fx`, `jre+fx`. Default value: `jdk`.
43+
- `java-package`: The packaging variant of the chosen distribution. Possible values: `jdk`, `jre`, `jdk+fx`, `jre+fx`. For Azul Zulu, `jdk+crac` and `jre+crac` are also supported. Default value: `jdk`.
4444

4545
- `architecture`: The target architecture of the package. Possible values: `x86`, `x64`, `armv7`, `aarch64`, `ppc64le`. Default value: Derived from the runner machine.
4646

__tests__/distributors/zulu-installer.test.ts

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ describe('getAvailableVersions', () => {
4545
packageType: 'jdk',
4646
checkLatest: false
4747
},
48-
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&arch=x86&release_status=ga&availability_types=ca&page=1&page_size=100'
48+
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=x86&release_status=ga&availability_types=ca&page=1&page_size=100'
4949
],
5050
[
5151
{
@@ -54,7 +54,7 @@ describe('getAvailableVersions', () => {
5454
packageType: 'jdk',
5555
checkLatest: false
5656
},
57-
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&arch=x86&release_status=ea&availability_types=ca&page=1&page_size=100'
57+
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=x86&release_status=ea&availability_types=ca&page=1&page_size=100'
5858
],
5959
[
6060
{
@@ -63,7 +63,7 @@ describe('getAvailableVersions', () => {
6363
packageType: 'jdk',
6464
checkLatest: false
6565
},
66-
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
66+
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
6767
],
6868
[
6969
{
@@ -72,7 +72,7 @@ describe('getAvailableVersions', () => {
7272
packageType: 'jre',
7373
checkLatest: false
7474
},
75-
'?os=macos&archive_type=tar.gz&java_package_type=jre&javafx_bundled=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
75+
'?os=macos&archive_type=tar.gz&java_package_type=jre&javafx_bundled=false&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
7676
],
7777
[
7878
{
@@ -81,7 +81,7 @@ describe('getAvailableVersions', () => {
8181
packageType: 'jdk+fx',
8282
checkLatest: false
8383
},
84-
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=true&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
84+
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=true&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
8585
],
8686
[
8787
{
@@ -90,7 +90,16 @@ describe('getAvailableVersions', () => {
9090
packageType: 'jre+fx',
9191
checkLatest: false
9292
},
93-
'?os=macos&archive_type=tar.gz&java_package_type=jre&javafx_bundled=true&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
93+
'?os=macos&archive_type=tar.gz&java_package_type=jre&javafx_bundled=true&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
94+
],
95+
[
96+
{
97+
version: '8',
98+
architecture: 'x64',
99+
packageType: 'jdk+crac',
100+
checkLatest: false
101+
},
102+
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=true&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
94103
],
95104
[
96105
{
@@ -99,7 +108,7 @@ describe('getAvailableVersions', () => {
99108
packageType: 'jdk',
100109
checkLatest: false
101110
},
102-
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&arch=aarch64&release_status=ga&availability_types=ca&page=1&page_size=100'
111+
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=aarch64&release_status=ga&availability_types=ca&page=1&page_size=100'
103112
],
104113
[
105114
{
@@ -108,7 +117,7 @@ describe('getAvailableVersions', () => {
108117
packageType: 'jdk',
109118
checkLatest: false
110119
},
111-
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&arch=arm&release_status=ga&availability_types=ca&page=1&page_size=100'
120+
'?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=arm&release_status=ga&availability_types=ca&page=1&page_size=100'
112121
]
113122
])('build correct url for %s -> %s', async (input, parsedUrl) => {
114123
const distribution = new ZuluDistribution(input);
@@ -138,7 +147,7 @@ describe('getAvailableVersions', () => {
138147
checkLatest: false
139148
});
140149
distribution['getPlatformOption'] = () => 'macos';
141-
const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&arch=${distroArch}&release_status=ga&availability_types=ca&page=1&page_size=100`;
150+
const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=macos&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=${distroArch}&release_status=ga&availability_types=ca&page=1&page_size=100`;
142151

143152
await distribution['getAvailableVersions']();
144153

__tests__/distributors/zulu-linux-installer.test.ts

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ describe('getAvailableVersions', () => {
4646
packageType: 'jdk',
4747
checkLatest: false
4848
},
49-
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&arch=x86&release_status=ga&availability_types=ca&page=1&page_size=100'
49+
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=x86&release_status=ga&availability_types=ca&page=1&page_size=100'
5050
],
5151
[
5252
{
@@ -55,7 +55,7 @@ describe('getAvailableVersions', () => {
5555
packageType: 'jdk',
5656
checkLatest: false
5757
},
58-
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&arch=x86&release_status=ea&availability_types=ca&page=1&page_size=100'
58+
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=x86&release_status=ea&availability_types=ca&page=1&page_size=100'
5959
],
6060
[
6161
{
@@ -64,7 +64,7 @@ describe('getAvailableVersions', () => {
6464
packageType: 'jdk',
6565
checkLatest: false
6666
},
67-
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
67+
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
6868
],
6969
[
7070
{
@@ -73,7 +73,7 @@ describe('getAvailableVersions', () => {
7373
packageType: 'jre',
7474
checkLatest: false
7575
},
76-
'?os=linux_glibc&archive_type=zip&java_package_type=jre&javafx_bundled=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
76+
'?os=linux_glibc&archive_type=zip&java_package_type=jre&javafx_bundled=false&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
7777
],
7878
[
7979
{
@@ -82,7 +82,7 @@ describe('getAvailableVersions', () => {
8282
packageType: 'jdk+fx',
8383
checkLatest: false
8484
},
85-
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=true&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
85+
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
8686
],
8787
[
8888
{
@@ -91,7 +91,16 @@ describe('getAvailableVersions', () => {
9191
packageType: 'jre+fx',
9292
checkLatest: false
9393
},
94-
'?os=linux_glibc&archive_type=zip&java_package_type=jre&javafx_bundled=true&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
94+
'?os=linux_glibc&archive_type=zip&java_package_type=jre&javafx_bundled=true&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
95+
],
96+
[
97+
{
98+
version: '8',
99+
architecture: 'x64',
100+
packageType: 'jdk+crac',
101+
checkLatest: false
102+
},
103+
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=true&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
95104
],
96105
[
97106
{
@@ -100,7 +109,7 @@ describe('getAvailableVersions', () => {
100109
packageType: 'jdk',
101110
checkLatest: false
102111
},
103-
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&arch=aarch64&release_status=ga&availability_types=ca&page=1&page_size=100'
112+
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=aarch64&release_status=ga&availability_types=ca&page=1&page_size=100'
104113
],
105114
[
106115
{
@@ -109,7 +118,7 @@ describe('getAvailableVersions', () => {
109118
packageType: 'jdk',
110119
checkLatest: false
111120
},
112-
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&arch=arm&release_status=ga&availability_types=ca&page=1&page_size=100'
121+
'?os=linux_glibc&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=arm&release_status=ga&availability_types=ca&page=1&page_size=100'
113122
]
114123
])('build correct url for %s -> %s', async (input, parsedUrl) => {
115124
const distribution = new ZuluDistribution(input);
@@ -141,7 +150,7 @@ describe('getAvailableVersions', () => {
141150
distribution['getPlatformOption'] = () => 'linux_glibc';
142151
// Override extension for linux default arch case to match util behavior
143152
spyUtilGetDownloadArchiveExtension.mockReturnValue('tar.gz');
144-
const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=linux_glibc&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&arch=${distroArch}&release_status=ga&availability_types=ca&page=1&page_size=100`;
153+
const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=linux_glibc&archive_type=tar.gz&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=${distroArch}&release_status=ga&availability_types=ca&page=1&page_size=100`;
145154

146155
await distribution['getAvailableVersions']();
147156

__tests__/distributors/zulu-windows-installer.test.ts

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ describe('getAvailableVersions', () => {
4646
packageType: 'jdk',
4747
checkLatest: false
4848
},
49-
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&arch=x86&release_status=ga&availability_types=ca&page=1&page_size=100'
49+
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=x86&release_status=ga&availability_types=ca&page=1&page_size=100'
5050
],
5151
[
5252
{
@@ -55,7 +55,7 @@ describe('getAvailableVersions', () => {
5555
packageType: 'jdk',
5656
checkLatest: false
5757
},
58-
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&arch=x86&release_status=ea&availability_types=ca&page=1&page_size=100'
58+
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=x86&release_status=ea&availability_types=ca&page=1&page_size=100'
5959
],
6060
[
6161
{
@@ -64,7 +64,7 @@ describe('getAvailableVersions', () => {
6464
packageType: 'jdk',
6565
checkLatest: false
6666
},
67-
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
67+
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
6868
],
6969
[
7070
{
@@ -73,7 +73,7 @@ describe('getAvailableVersions', () => {
7373
packageType: 'jre',
7474
checkLatest: false
7575
},
76-
'?os=windows&archive_type=zip&java_package_type=jre&javafx_bundled=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
76+
'?os=windows&archive_type=zip&java_package_type=jre&javafx_bundled=false&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
7777
],
7878
[
7979
{
@@ -82,7 +82,7 @@ describe('getAvailableVersions', () => {
8282
packageType: 'jdk+fx',
8383
checkLatest: false
8484
},
85-
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=true&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
85+
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=true&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
8686
],
8787
[
8888
{
@@ -91,7 +91,16 @@ describe('getAvailableVersions', () => {
9191
packageType: 'jre+fx',
9292
checkLatest: false
9393
},
94-
'?os=windows&archive_type=zip&java_package_type=jre&javafx_bundled=true&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
94+
'?os=windows&archive_type=zip&java_package_type=jre&javafx_bundled=true&crac_supported=false&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
95+
],
96+
[
97+
{
98+
version: '8',
99+
architecture: 'x64',
100+
packageType: 'jdk+crac',
101+
checkLatest: false
102+
},
103+
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=true&arch=x64&release_status=ga&availability_types=ca&page=1&page_size=100'
95104
],
96105
[
97106
{
@@ -100,7 +109,7 @@ describe('getAvailableVersions', () => {
100109
packageType: 'jdk',
101110
checkLatest: false
102111
},
103-
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&arch=aarch64&release_status=ga&availability_types=ca&page=1&page_size=100'
112+
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=aarch64&release_status=ga&availability_types=ca&page=1&page_size=100'
104113
],
105114
[
106115
{
@@ -109,7 +118,7 @@ describe('getAvailableVersions', () => {
109118
packageType: 'jdk',
110119
checkLatest: false
111120
},
112-
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&arch=arm&release_status=ga&availability_types=ca&page=1&page_size=100'
121+
'?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=arm&release_status=ga&availability_types=ca&page=1&page_size=100'
113122
]
114123
])('build correct url for %s -> %s', async (input, parsedUrl) => {
115124
const distribution = new ZuluDistribution(input);
@@ -139,7 +148,7 @@ describe('getAvailableVersions', () => {
139148
checkLatest: false
140149
});
141150
distribution['getPlatformOption'] = () => 'windows';
142-
const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&arch=${distroArch}&release_status=ga&availability_types=ca&page=1&page_size=100`;
151+
const buildUrl = `https://api.azul.com/metadata/v1/zulu/packages/?os=windows&archive_type=zip&java_package_type=jdk&javafx_bundled=false&crac_supported=false&arch=${distroArch}&release_status=ga&availability_types=ca&page=1&page_size=100`;
143152

144153
await distribution['getAvailableVersions']();
145154

action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ inputs:
1111
description: 'Java distribution. See the list of supported distributions in README file'
1212
required: true
1313
java-package:
14-
description: 'The package type (jdk, jre, jdk+fx, jre+fx)'
14+
description: 'The package type (jdk, jre, jdk+fx, jre+fx, jdk+crac, jre+crac)'
1515
required: false
1616
default: 'jdk'
1717
architecture:

0 commit comments

Comments
 (0)