-
Notifications
You must be signed in to change notification settings - Fork 747
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow differentiating Zulu releases with/without CRaC #636
Comments
Hello @guilgaly, Thank you for creating this issue and we will get back to you once we have some feedback on this :) |
I ran into this issue while experimenting with CDS. I noticed that the JDK installed via setup-java is not the same as the one I am running on my local machine, because the CDS archives are not interchangeable between different JDKs. The current behavior is in not really deterministic when it depends on the order of the list returned by Azul's API. By default the non-CRaC build is what people would expect to be installed, since CRaC is an optional feature as @guilgaly pointed out.
|
Description:
Currently, if I specify the following options:
Then
actions/setup-java
will downloadzulu21.34.19-ca-crac-jdk21.0.3-linux_x64.tar.gz
. Notice that this is the build with the optional CRaC feature (-crac
in the name) rather than the default build (zulu21.34.19-ca-jdk21.0.3-linux_x64.tar.gz
). Not necessarily a big deal, but weird since this is an optional feature rather than the default Zulu build. This doesn't seem intentional, rather it just happens because the-crac
version ends up being first in the list.I investigated a bit, and setup-java uses the
https://api.azul.com/zulu/download/community/v1.0/bundles/
API, which does not seem to offer the ability to filter out CRaC builds. Azul recommends migrating to the newerhttps://api.azul.com/metadata/v1/zulu/packages/
API (see the migration guide), which does have such a filter.After a few tests with the Swagger UI for the new API, here's the queries I would probably expect (assuming Linux x64 and
java-version: '21'
for this example):java-package: 'jdk'
(or the default):https://api.azul.com/metadata/v1/zulu/packages/?java_version=21&os=linux-glibc&arch=x64&archive_type=tar.gz&java_package_type=jdk&latest=true&release_status=ga&availability_types=ca&certifications=tck&javafx_bundled=false&crac_supported=false
java-package: 'jdk+fx'
:https://api.azul.com/metadata/v1/zulu/packages/?java_version=21&os=linux-glibc&arch=x64&archive_type=tar.gz&java_package_type=jdk&latest=true&release_status=ga&availability_types=ca&certifications=tck&javafx_bundled=true&crac_supported=false
java-package: 'jdk+crac'
:https://api.azul.com/metadata/v1/zulu/packages/?java_version=21&os=linux-glibc&arch=x64&archive_type=tar.gz&java_package_type=jdk&latest=true&release_status=ga&availability_types=ca&certifications=tck&javafx_bundled=false&crac_supported=true
What do you think?
Justification:
Note that I don't know of any specific issue with using the
-crac
build when it's not needed, so it would be more for the principle of intentionally selecting the type of build used rather than just getting whichever one happens to be first in the list.Are you willing to submit a PR?
I can probably try, it doesn't seem too complicated - but no guarantee that I would have the time right away.
The text was updated successfully, but these errors were encountered: