Skip to content
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

Add support for Oracle GraalVM via GDS. #109

Merged
merged 2 commits into from
Oct 14, 2024
Merged

Conversation

fniephaus
Copy link
Member

This PR adds support for downloading Oracle GraalVM via GDS. With this, users can access Oracle GraalVM releases licensed under the GraalVM OTN License Including License for Early Adopter Versions (GOTN).

The PR also re-organizes and updates the main README.md and updates a dependency.

@fniephaus fniephaus self-assigned this Oct 14, 2024
@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Oct 14, 2024
Copy link

GraalVM Native Image Build Report

helloworld generated in 48.6s as part of the 'test-native-image-musl' job in run #396.

Environment

Java version 24+17 Vendor version GraalVM CE 24-dev+17.1
Graal compiler optimization level: 2, target machine: x86-64-v3
C compiler x86_64-linux-musl-gcc (linux, x86_64, 10.2.1)
Garbage collector Serial GC

Analysis Results

Category Types in % Fields in % Methods in %
Reachable 3,335 69.901% 3,837 42.886% 15,570 44.065%
Reflection 1,032 21.631% 7 0.078% 140 0.396%
JNI 57 1.195% 57 0.637% 52 0.147%
Loaded 4,771 100.000% 8,947 100.000% 35,334 100.000%

Image Details

Category Size in % Details
Code area 5.34MB 40.506% 8,918 compilation units
Image heap 7.25MB 54.985% 95,025 objects, 154.36KB for 55 resources
Other data 608.80KB 4.509%
Total 13.19MB 100.000%

Resource Usage

Garbage collection 1.84s (3.792% of total time) in 435 GCs
Peak RSS 925.76MB (5.793% of 15.61GB system memory)
CPU load 3.652 (91.297% of 4 CPU cores)

Report generated by setup-graalvm.

Copy link

GraalVM Native Image Build Report

helloworld generated in 1m 13s as part of the 'test-native-image-windows' job in run #396.

Environment

Java version 24+17 Vendor version GraalVM CE 24-dev+17.1
Graal compiler optimization level: 2, target machine: x86-64-v3
C compiler cl.exe (microsoft, x64, 19.41.34120)
Garbage collector Serial GC

Analysis Results

Category Types in % Fields in % Methods in %
Reachable 3,319 70.602% 3,841 43.056% 15,584 44.290%
Reflection 1,020 21.698% 7 0.078% 140 0.398%
JNI 61 1.298% 51 0.572% 52 0.148%
Loaded 4,701 100.000% 8,921 100.000% 35,186 100.000%

Image Details

Category Size in % Details
Code area 5.53MB 42.114% 8,945 compilation units
Image heap 7.25MB 55.255% 94,885 objects, 154.36KB for 55 resources
Other data 353.59KB 2.632%
Total 13.12MB 100.000%

Resource Usage

Garbage collection 2.09s (2.855% of total time) in 427 GCs
Peak RSS 900.21MB (5.495% of 16.00GB system memory)
CPU load 2.662 (66.540% of 4 CPU cores)

Report generated by setup-graalvm.

Copy link

GraalVM Native Image Build Report

helloworld generated in 1m 10s as part of the 'test-native-image-windows-msvc' job in run #396.

Environment

Java version 17.0.12+8-LTS Vendor version Oracle GraalVM 17.0.12+8.1
Graal compiler optimization level: 2, target machine: x86-64-v3, PGO: ML-inferred
C compiler cl.exe (microsoft, x64, 19.41.34120)
Garbage collector Serial GC

Analysis Results

Category Types in % Fields in % Methods in %
Reachable 1,809 59.311% 1,684 45.587% 7,635 35.815%
Reflection 618 20.262% 0 0.000% 282 1.323%
JNI 53 1.738% 30 0.812% 48 0.225%
Loaded 3,050 100.000% 3,694 100.000% 21,318 100.000%

Image Details

Category Size in % Details
Code area 2.77MB 43.913% 3,464 compilation units
Image heap 3.45MB 54.709% 48,650 objects, 108.00B for 1 resources
Other data 88.98KB 1.378%
Total 6.30MB 100.000%

Resource Usage

Garbage collection 1.72s (2.450% of total time) in 147 GCs
Peak RSS 844.70MB (5.156% of 16.00GB system memory)
CPU load 2.424 (60.591% of 4 CPU cores)

Report generated by setup-graalvm.

Copy link

GraalVM Native Image Build Report

helloworld generated in 44.9s as part of the 'test-extensive' job in run #396.

Environment

Java version 17.0.8+9-LTS Vendor version Oracle GraalVM 17.0.8+9.1
Graal compiler optimization level: 2, target machine: x86-64-v3, PGO: ML-inferred
C compiler gcc (linux, x86_64, 11.4.0)
Garbage collector Serial GC

Analysis Results

Category Types in % Fields in % Methods in %
Reachable 1,853 59.145% 1,737 46.369% 7,712 35.615%
Reflection 638 20.364% 0 0.000% 281 1.298%
JNI 49 1.564% 32 0.854% 48 0.222%
Loaded 3,133 100.000% 3,746 100.000% 21,654 100.000%

Image Details

Category Size in % Details
Code area 2.75MB 23.180% 3,484 compilation units
Image heap 3.46MB 29.166% 48,924 objects, 108.00B for 1 resources
Debug info 5.33MB 44.902%
Other data 334.80KB 2.752%
Total 11.88MB 100.000%

Resource Usage

Garbage collection 1.68s (3.749% of total time) in 201 GCs
Peak RSS 1.04GB (6.641% of 15.61GB system memory)
CPU load 3.585 (89.635% of 4 CPU cores)

Report generated by setup-graalvm.

Copy link

GraalVM Native Image Build Report

helloworld generated in 50.9s as part of the 'test-native-image-musl' job in run #398.

Environment

Java version 24+17 Vendor version GraalVM CE 24-dev+17.1
Graal compiler optimization level: 2, target machine: x86-64-v3
C compiler x86_64-linux-musl-gcc (linux, x86_64, 10.2.1)
Garbage collector Serial GC

Analysis Results

Category Types in % Fields in % Methods in %
Reachable 3,335 69.916% 3,837 42.886% 15,570 44.093%
Reflection 1,032 21.635% 7 0.078% 140 0.396%
JNI 57 1.195% 57 0.637% 52 0.147%
Loaded 4,770 100.000% 8,947 100.000% 35,312 100.000%

Image Details

Category Size in % Details
Code area 5.34MB 40.506% 8,918 compilation units
Image heap 7.25MB 54.985% 95,025 objects, 154.36KB for 55 resources
Other data 608.80KB 4.509%
Total 13.19MB 100.000%

Resource Usage

Garbage collection 1.98s (3.885% of total time) in 506 GCs
Peak RSS 933.94MB (5.844% of 15.61GB system memory)
CPU load 3.651 (91.285% of 4 CPU cores)

Report generated by setup-graalvm.

Copy link

GraalVM Native Image Build Report

helloworld generated in 1m 2s as part of the 'test-native-image-windows' job in run #398.

Environment

Java version 24+17 Vendor version GraalVM CE 24-dev+17.1
Graal compiler optimization level: 2, target machine: x86-64-v3
C compiler cl.exe (microsoft, x64, 19.41.34120)
Garbage collector Serial GC

Analysis Results

Category Types in % Fields in % Methods in %
Reachable 3,319 70.557% 3,841 43.056% 15,584 44.182%
Reflection 1,020 21.684% 7 0.078% 140 0.397%
JNI 61 1.297% 51 0.572% 52 0.147%
Loaded 4,704 100.000% 8,921 100.000% 35,272 100.000%

Image Details

Category Size in % Details
Code area 5.53MB 42.113% 8,945 compilation units
Image heap 7.25MB 55.255% 94,879 objects, 154.36KB for 55 resources
Other data 353.72KB 2.633%
Total 13.12MB 100.000%

Resource Usage

Garbage collection 2.13s (3.394% of total time) in 412 GCs
Peak RSS 904.63MB (5.522% of 16.00GB system memory)
CPU load 3.157 (78.923% of 4 CPU cores)

Report generated by setup-graalvm.

Copy link

GraalVM Native Image Build Report

helloworld generated in 1m 22s as part of the 'test-native-image-windows-msvc' job in run #398.

Environment

Java version 17.0.12+8-LTS Vendor version Oracle GraalVM 17.0.12+8.1
Graal compiler optimization level: 2, target machine: x86-64-v3, PGO: ML-inferred
C compiler cl.exe (microsoft, x64, 19.41.34120)
Garbage collector Serial GC

Analysis Results

Category Types in % Fields in % Methods in %
Reachable 1,809 59.311% 1,684 45.587% 7,635 35.793%
Reflection 618 20.262% 0 0.000% 282 1.322%
JNI 53 1.738% 30 0.812% 48 0.225%
Loaded 3,050 100.000% 3,694 100.000% 21,331 100.000%

Image Details

Category Size in % Details
Code area 2.77MB 43.918% 3,464 compilation units
Image heap 3.45MB 54.709% 48,650 objects, 108.00B for 1 resources
Other data 88.66KB 1.373%
Total 6.30MB 100.000%

Resource Usage

Garbage collection 1.75s (2.132% of total time) in 126 GCs
Peak RSS 962.17MB (5.873% of 16.00GB system memory)
CPU load 1.998 (49.957% of 4 CPU cores)

Report generated by setup-graalvm.

Copy link

GraalVM Native Image Build Report

helloworld generated in 45.1s as part of the 'test-extensive' job in run #398.

Environment

Java version 17.0.8+9-LTS Vendor version Oracle GraalVM 17.0.8+9.1
Graal compiler optimization level: 2, target machine: x86-64-v3, PGO: ML-inferred
C compiler gcc (linux, x86_64, 11.4.0)
Garbage collector Serial GC

Analysis Results

Category Types in % Fields in % Methods in %
Reachable 1,853 59.145% 1,737 46.369% 7,712 35.613%
Reflection 638 20.364% 0 0.000% 281 1.298%
JNI 49 1.564% 32 0.854% 48 0.222%
Loaded 3,133 100.000% 3,746 100.000% 21,655 100.000%

Image Details

Category Size in % Details
Code area 2.75MB 23.181% 3,484 compilation units
Image heap 3.46MB 29.166% 48,927 objects, 108.00B for 1 resources
Debug info 5.33MB 44.902%
Other data 334.74KB 2.752%
Total 11.88MB 100.000%

Resource Usage

Garbage collection 1.82s (4.030% of total time) in 131 GCs
Peak RSS 1.11GB (7.140% of 15.61GB system memory)
CPU load 3.586 (89.653% of 4 CPU cores)

Report generated by setup-graalvm.

@fniephaus
Copy link
Member Author

src/graalvm.ts Outdated
let javaVersion = javaVersionOrDev
const toolName = determineToolName(javaVersion, false)
if (javaVersionOrDev === '17' && !isTokenProvided) {
core.warning(
'This build uses the last update of Oracle GraalVM for JDK 17 under the GFTC. More details: https://github.com/marketplace/actions/github-action-for-graalvm#notes-on-oracle-graalvm-for-jdk-17.'
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This warning will be displayed for users using java-version: '17'. The link should resolve to this section in the README: https://github.com/graalvm/setup-graalvm/pull/109/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R194

alina-yur
alina-yur previously approved these changes Oct 14, 2024
.github/workflows/test.yml Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
Copy link

GraalVM Native Image Build Report

helloworld generated in 47.9s as part of the 'test-native-image-musl' job in run #400.

Environment

Java version 24+17 Vendor version GraalVM CE 24-dev+17.1
Graal compiler optimization level: 2, target machine: x86-64-v3
C compiler x86_64-linux-musl-gcc (linux, x86_64, 10.2.1)
Garbage collector Serial GC

Analysis Results

Category Types in % Fields in % Methods in %
Reachable 3,335 69.931% 3,837 42.886% 15,570 44.029%
Reflection 1,032 21.640% 7 0.078% 140 0.396%
JNI 57 1.195% 57 0.637% 52 0.147%
Loaded 4,769 100.000% 8,947 100.000% 35,363 100.000%

Image Details

Category Size in % Details
Code area 5.34MB 40.506% 8,918 compilation units
Image heap 7.25MB 54.985% 95,017 objects, 154.36KB for 55 resources
Other data 608.73KB 4.509%
Total 13.19MB 100.000%

Resource Usage

Garbage collection 1.85s (3.860% of total time) in 453 GCs
Peak RSS 912.19MB (5.708% of 15.61GB system memory)
CPU load 3.653 (91.314% of 4 CPU cores)

Report generated by setup-graalvm.

Copy link

GraalVM Native Image Build Report

helloworld generated in 48.6s as part of the 'test-native-image-musl' job in run #402.

Environment

Java version 24+17 Vendor version GraalVM CE 24-dev+17.1
Graal compiler optimization level: 2, target machine: x86-64-v3
C compiler x86_64-linux-musl-gcc (linux, x86_64, 10.2.1)
Garbage collector Serial GC

Analysis Results

Category Types in % Fields in % Methods in %
Reachable 3,335 69.872% 3,837 42.886% 15,570 43.992%
Reflection 1,032 21.622% 7 0.078% 140 0.396%
JNI 57 1.194% 57 0.637% 52 0.147%
Loaded 4,773 100.000% 8,947 100.000% 35,393 100.000%

Image Details

Category Size in % Details
Code area 5.34MB 40.506% 8,918 compilation units
Image heap 7.25MB 54.985% 95,034 objects, 154.36KB for 55 resources
Other data 608.73KB 4.509%
Total 13.19MB 100.000%

Resource Usage

Garbage collection 1.90s (3.902% of total time) in 485 GCs
Peak RSS 936.39MB (5.859% of 15.61GB system memory)
CPU load 3.660 (91.495% of 4 CPU cores)

Report generated by setup-graalvm.

Copy link

GraalVM Native Image Build Report

helloworld generated in 1m 9s as part of the 'test-native-image-windows-msvc' job in run #402.

Environment

Java version 17.0.12+8-LTS Vendor version Oracle GraalVM 17.0.12+8.1
Graal compiler optimization level: 2, target machine: x86-64-v3, PGO: ML-inferred
C compiler cl.exe (microsoft, x64, 19.41.34120)
Garbage collector Serial GC

Analysis Results

Category Types in % Fields in % Methods in %
Reachable 1,809 59.311% 1,684 45.587% 7,635 35.793%
Reflection 618 20.262% 0 0.000% 282 1.322%
JNI 53 1.738% 30 0.812% 48 0.225%
Loaded 3,050 100.000% 3,694 100.000% 21,331 100.000%

Image Details

Category Size in % Details
Code area 2.77MB 43.913% 3,464 compilation units
Image heap 3.45MB 54.709% 48,653 objects, 108.00B for 1 resources
Other data 88.98KB 1.378%
Total 6.30MB 100.000%

Resource Usage

Garbage collection 1.69s (2.434% of total time) in 126 GCs
Peak RSS 986.63MB (6.022% of 16.00GB system memory)
CPU load 2.331 (58.275% of 4 CPU cores)

Report generated by setup-graalvm.

Copy link

GraalVM Native Image Build Report

helloworld generated in 45.8s as part of the 'test-extensive' job in run #402.

Environment

Java version 17.0.8+9-LTS Vendor version Oracle GraalVM 17.0.8+9.1
Graal compiler optimization level: 2, target machine: x86-64-v3, PGO: ML-inferred
C compiler gcc (linux, x86_64, 11.4.0)
Garbage collector Serial GC

Analysis Results

Category Types in % Fields in % Methods in %
Reachable 1,853 59.145% 1,737 46.369% 7,712 35.618%
Reflection 638 20.364% 0 0.000% 281 1.298%
JNI 49 1.564% 32 0.854% 48 0.222%
Loaded 3,133 100.000% 3,746 100.000% 21,652 100.000%

Image Details

Category Size in % Details
Code area 2.75MB 23.178% 3,484 compilation units
Image heap 3.46MB 29.169% 48,943 objects, 108.00B for 1 resources
Debug info 5.33MB 44.895%
Other data 335.39KB 2.757%
Total 11.88MB 100.000%

Resource Usage

Garbage collection 1.90s (4.146% of total time) in 127 GCs
Peak RSS 1.16GB (7.445% of 15.61GB system memory)
CPU load 3.569 (89.213% of 4 CPU cores)

Report generated by setup-graalvm.

Copy link

GraalVM Native Image Build Report

helloworld generated in 1m 20s as part of the 'test-native-image-windows' job in run #402.

Environment

Java version 24+17 Vendor version GraalVM CE 24-dev+17.1
Graal compiler optimization level: 2, target machine: x86-64-v3
C compiler cl.exe (microsoft, x64, 19.41.34120)
Garbage collector Serial GC

Analysis Results

Category Types in % Fields in % Methods in %
Reachable 3,319 70.617% 3,841 43.056% 15,584 44.346%
Reflection 1,020 21.702% 7 0.078% 140 0.398%
JNI 61 1.298% 51 0.572% 52 0.148%
Loaded 4,700 100.000% 8,921 100.000% 35,142 100.000%

Image Details

Category Size in % Details
Code area 5.53MB 42.112% 8,945 compilation units
Image heap 7.25MB 55.255% 94,890 objects, 154.36KB for 55 resources
Other data 353.78KB 2.633%
Total 13.12MB 100.000%

Resource Usage

Garbage collection 2.31s (2.852% of total time) in 450 GCs
Peak RSS 918.80MB (5.608% of 16.00GB system memory)
CPU load 2.525 (63.137% of 4 CPU cores)

Report generated by setup-graalvm.

Copy link
Member

@ezzarghili ezzarghili left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thanks

@fniephaus fniephaus merged commit 4873ae0 into main Oct 14, 2024
194 checks passed
@fniephaus fniephaus deleted the fniephaus/jdk17-gds branch October 14, 2024 15:35
Copy link

@Marcono1234 Marcono1234 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for making the README clearer! That answers my questions from #107.

I have added some suggestions to these changes, hopefully they are useful. However, I cannot contribute them because I haven't signed the OCA.

README.md Show resolved Hide resolved
README.md Show resolved Hide resolved
README.md Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants