From d7af2e4b1249fbc383ec37f793927897d564519a Mon Sep 17 00:00:00 2001 From: Olya Gupalo Date: Sun, 17 Aug 2025 17:16:53 +0300 Subject: [PATCH 1/4] Prepare upgrade to JDK 25 LTS and 26 EA for GitHub Actions --- .github/workflows/clouds-native-aws-fargate.yml | 2 +- .github/workflows/clouds-native-aws-lambda.yml | 2 +- .github/workflows/clouds-native-google-cloud-run.yml | 2 +- .github/workflows/clouds-native-oci-cloud-shell.yml | 2 +- .../clouds-native-oci-container-instances.yml | 2 +- .../workflows/clouds-native-oci-generative-ai.yml | 2 +- .github/workflows/compiler-java-stream-benchmark.yml | 2 +- .../workflows/containerize-spring-boot-jibber.yml | 2 +- .../workflows/containerize-tiny-java-containers.yml | 2 +- .../microservices-micronaut-hello-rest-maven.yml | 2 +- .github/workflows/native-build-tools-maven.yml | 5 ++++- .../native-image-access-environment-variables.yml | 2 +- .github/workflows/native-image-add-jfr.yml | 2 +- .github/workflows/native-image-add-jmx.yml | 2 +- .github/workflows/native-image-add-logging.yml | 2 +- .github/workflows/native-image-build-from-jar.yml | 2 +- .../workflows/native-image-build-java-modules.yml | 2 +- .../workflows/native-image-build-shared-library.yml | 2 +- .../workflows/native-image-build-static-images.yml | 7 +++++-- .../native-image-configure-with-tracing-agent.yml | 2 +- .github/workflows/native-image-create-heap-dumps.yml | 2 +- .github/workflows/native-image-embed-sbom.yml | 5 ++++- .github/workflows/native-image-emit-build-report.yml | 5 ++++- .github/workflows/native-image-hello-world.yml | 2 +- .github/workflows/native-image-include-resources.yml | 2 +- .github/workflows/native-image-jmh-binary-tree.yml | 2 +- .github/workflows/native-image-list-files.yml | 2 +- .../native-image-optimize-memory-footprint.yml | 2 +- .github/workflows/native-image-optimize-with-pgo.yml | 2 +- .github/workflows/native-image-preserve-package.yml | 5 ++++- .../workflows/native-image-specify-class-init.yml | 2 +- .../workflows/native-image-use-system-properties.yml | 2 +- .github/workflows/native-image-wasm-javac.yml | 2 +- LICENSE.md | 2 +- compiler/java-stream-benchmark/README.md | 6 +++--- compiler/java-stream-benchmark/pom.xml | 2 +- native-image/benchmark/jmh/binary-tree/README.md | 12 ++++++------ native-image/benchmark/jmh/binary-tree/pom.xml | 2 +- native-image/build-with-js-embedded/pom.xml | 4 ++-- native-image/clouds/native-aws-fargate/pom.xml | 10 +++++----- native-image/clouds/native-aws-lambda/README.md | 6 +++--- native-image/clouds/native-aws-lambda/pom.xml | 10 +++++----- native-image/clouds/native-google-cloud-run/pom.xml | 10 +++++----- native-image/clouds/native-oci-cloud-shell/pom.xml | 2 +- .../clouds/native-oci-container-instances/pom.xml | 10 +++++----- native-image/clouds/native-oci-generative-ai/pom.xml | 2 +- native-image/embed-sbom/run.sh | 5 ++--- native-image/embed-sbom/sbom-test/README.md | 2 +- native-image/embed-sbom/sbom-test/pom.xml | 2 +- native-image/include-metadata/pom.xml | 4 ++-- .../micronaut-hello-rest-gradle/README.md | 12 ++++++------ .../micronaut-hello-rest-maven/README.md | 12 ++++++------ .../native-build-tools/gradle-plugin/build.gradle | 2 +- native-image/native-build-tools/maven-plugin/pom.xml | 2 +- native-image/optimize-memory/README.md | 2 +- native-image/preserve-package/README.md | 8 ++++---- native-image/preserve-package/pom.xml | 2 +- native-image/specify-class-init/README.md | 2 +- 58 files changed, 115 insertions(+), 101 deletions(-) diff --git a/.github/workflows/clouds-native-aws-fargate.yml b/.github/workflows/clouds-native-aws-fargate.yml index 5560431bb..e68c05754 100644 --- a/.github/workflows/clouds-native-aws-fargate.yml +++ b/.github/workflows/clouds-native-aws-fargate.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 with: - java-version: '21' + java-version: '25' distribution: 'graalvm' github-token: ${{ secrets.GITHUB_TOKEN }} - name: Run 'clouds/native-aws-fargate' diff --git a/.github/workflows/clouds-native-aws-lambda.yml b/.github/workflows/clouds-native-aws-lambda.yml index ee9233777..556d4eca3 100644 --- a/.github/workflows/clouds-native-aws-lambda.yml +++ b/.github/workflows/clouds-native-aws-lambda.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 with: - java-version: '21' + java-version: '25' distribution: 'graalvm' github-token: ${{ secrets.GITHUB_TOKEN }} - name: Run 'clouds/native-aws-lambda java' diff --git a/.github/workflows/clouds-native-google-cloud-run.yml b/.github/workflows/clouds-native-google-cloud-run.yml index db7b9cad7..7179e12ba 100644 --- a/.github/workflows/clouds-native-google-cloud-run.yml +++ b/.github/workflows/clouds-native-google-cloud-run.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 with: - java-version: '21' + java-version: '25' distribution: 'graalvm' github-token: ${{ secrets.GITHUB_TOKEN }} - name: Run 'clouds/native-google-cloud-run' diff --git a/.github/workflows/clouds-native-oci-cloud-shell.yml b/.github/workflows/clouds-native-oci-cloud-shell.yml index 275411022..9d58da22d 100644 --- a/.github/workflows/clouds-native-oci-cloud-shell.yml +++ b/.github/workflows/clouds-native-oci-cloud-shell.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 with: - java-version: '21' + java-version: '25' distribution: 'graalvm' github-token: ${{ secrets.GITHUB_TOKEN }} cache: 'maven' diff --git a/.github/workflows/clouds-native-oci-container-instances.yml b/.github/workflows/clouds-native-oci-container-instances.yml index d46a0b027..477a9dc29 100644 --- a/.github/workflows/clouds-native-oci-container-instances.yml +++ b/.github/workflows/clouds-native-oci-container-instances.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 with: - java-version: '21' + java-version: '25' distribution: 'graalvm' github-token: ${{ secrets.GITHUB_TOKEN }} - name: Run 'clouds/native-oci-container-instances' diff --git a/.github/workflows/clouds-native-oci-generative-ai.yml b/.github/workflows/clouds-native-oci-generative-ai.yml index 74da886a0..a5e9a5493 100644 --- a/.github/workflows/clouds-native-oci-generative-ai.yml +++ b/.github/workflows/clouds-native-oci-generative-ai.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 with: - java-version: '21' + java-version: '25' distribution: 'graalvm' github-token: ${{ secrets.GITHUB_TOKEN }} - name: Run 'native-oci-generative-ai' diff --git a/.github/workflows/compiler-java-stream-benchmark.yml b/.github/workflows/compiler-java-stream-benchmark.yml index a9363c1ab..0e891c59d 100644 --- a/.github/workflows/compiler-java-stream-benchmark.yml +++ b/.github/workflows/compiler-java-stream-benchmark.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/containerize-spring-boot-jibber.yml b/.github/workflows/containerize-spring-boot-jibber.yml index cbe62ee82..0aa471a71 100644 --- a/.github/workflows/containerize-spring-boot-jibber.yml +++ b/.github/workflows/containerize-spring-boot-jibber.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 20 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/containerize-tiny-java-containers.yml b/.github/workflows/containerize-tiny-java-containers.yml index 182bd3a98..b6e64bea4 100644 --- a/.github/workflows/containerize-tiny-java-containers.yml +++ b/.github/workflows/containerize-tiny-java-containers.yml @@ -16,7 +16,7 @@ jobs: timeout-minutes: 20 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/microservices-micronaut-hello-rest-maven.yml b/.github/workflows/microservices-micronaut-hello-rest-maven.yml index db07e7c1d..658a4edd5 100644 --- a/.github/workflows/microservices-micronaut-hello-rest-maven.yml +++ b/.github/workflows/microservices-micronaut-hello-rest-maven.yml @@ -16,7 +16,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-build-tools-maven.yml b/.github/workflows/native-build-tools-maven.yml index 22e1366a3..75d7e0f9c 100644 --- a/.github/workflows/native-build-tools-maven.yml +++ b/.github/workflows/native-build-tools-maven.yml @@ -18,11 +18,14 @@ jobs: name: Run 'native-build-tools-maven' runs-on: ubuntu-latest timeout-minutes: 30 + strategy: + matrix: + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 with: - java-version: '25-ea' + java-version: ${{ matrix.java-version }} distribution: 'graalvm' github-token: ${{ secrets.GITHUB_TOKEN }} - name: Run 'native-build-tools-maven' diff --git a/.github/workflows/native-image-access-environment-variables.yml b/.github/workflows/native-image-access-environment-variables.yml index 10ddd0fc3..78aa5a4fc 100644 --- a/.github/workflows/native-image-access-environment-variables.yml +++ b/.github/workflows/native-image-access-environment-variables.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-add-jfr.yml b/.github/workflows/native-image-add-jfr.yml index 343d24aac..800a2c7db 100644 --- a/.github/workflows/native-image-add-jfr.yml +++ b/.github/workflows/native-image-add-jfr.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-add-jmx.yml b/.github/workflows/native-image-add-jmx.yml index ff53358c4..b18cc0131 100644 --- a/.github/workflows/native-image-add-jmx.yml +++ b/.github/workflows/native-image-add-jmx.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-add-logging.yml b/.github/workflows/native-image-add-logging.yml index 30d343aef..97c387529 100644 --- a/.github/workflows/native-image-add-logging.yml +++ b/.github/workflows/native-image-add-logging.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-build-from-jar.yml b/.github/workflows/native-image-build-from-jar.yml index 180c67874..c9cabbfb1 100644 --- a/.github/workflows/native-image-build-from-jar.yml +++ b/.github/workflows/native-image-build-from-jar.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-build-java-modules.yml b/.github/workflows/native-image-build-java-modules.yml index 433fd16e7..80a6471e8 100644 --- a/.github/workflows/native-image-build-java-modules.yml +++ b/.github/workflows/native-image-build-java-modules.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-build-shared-library.yml b/.github/workflows/native-image-build-shared-library.yml index b23511d2d..20017b581 100644 --- a/.github/workflows/native-image-build-shared-library.yml +++ b/.github/workflows/native-image-build-shared-library.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-build-static-images.yml b/.github/workflows/native-image-build-static-images.yml index 12bbf9db1..628f13d00 100644 --- a/.github/workflows/native-image-build-static-images.yml +++ b/.github/workflows/native-image-build-static-images.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '24-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 @@ -38,11 +38,14 @@ jobs: name: Run mostly-static runs-on: ubuntu-latest timeout-minutes: 15 + strategy: + matrix: + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 with: - java-version: '25-ea' + java-version: ${{ matrix.java-version }} distribution: 'graalvm' github-token: ${{ secrets.GITHUB_TOKEN }} native-image-job-reports: 'true' diff --git a/.github/workflows/native-image-configure-with-tracing-agent.yml b/.github/workflows/native-image-configure-with-tracing-agent.yml index 234655c25..6f92d4a89 100644 --- a/.github/workflows/native-image-configure-with-tracing-agent.yml +++ b/.github/workflows/native-image-configure-with-tracing-agent.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-create-heap-dumps.yml b/.github/workflows/native-image-create-heap-dumps.yml index 4dc1f9c86..1e0119c1b 100644 --- a/.github/workflows/native-image-create-heap-dumps.yml +++ b/.github/workflows/native-image-create-heap-dumps.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-embed-sbom.yml b/.github/workflows/native-image-embed-sbom.yml index 9442210b2..bb5b9bd3f 100644 --- a/.github/workflows/native-image-embed-sbom.yml +++ b/.github/workflows/native-image-embed-sbom.yml @@ -18,11 +18,14 @@ jobs: name: Run 'native-image/embed-sbom' runs-on: ubuntu-latest timeout-minutes: 15 + strategy: + matrix: + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 with: - java-version: '25-ea' + java-version: ${{ matrix.java-version }} distribution: 'graalvm' github-token: ${{ secrets.GITHUB_TOKEN }} native-image-job-reports: 'true' diff --git a/.github/workflows/native-image-emit-build-report.yml b/.github/workflows/native-image-emit-build-report.yml index 0d6f1efbf..3163a6433 100644 --- a/.github/workflows/native-image-emit-build-report.yml +++ b/.github/workflows/native-image-emit-build-report.yml @@ -18,11 +18,14 @@ jobs: name: Run 'native-image/emit-build-report' runs-on: ubuntu-latest timeout-minutes: 15 + strategy: + matrix: + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 with: - java-version: '25-ea' + java-version: ${{ matrix.java-version }} distribution: 'graalvm' github-token: ${{ secrets.GITHUB_TOKEN }} cache: 'maven' diff --git a/.github/workflows/native-image-hello-world.yml b/.github/workflows/native-image-hello-world.yml index c53294ffb..e6b850d56 100644 --- a/.github/workflows/native-image-hello-world.yml +++ b/.github/workflows/native-image-hello-world.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-include-resources.yml b/.github/workflows/native-image-include-resources.yml index 8e0760771..3008a0846 100644 --- a/.github/workflows/native-image-include-resources.yml +++ b/.github/workflows/native-image-include-resources.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-jmh-binary-tree.yml b/.github/workflows/native-image-jmh-binary-tree.yml index 6681cbb07..2305d3983 100644 --- a/.github/workflows/native-image-jmh-binary-tree.yml +++ b/.github/workflows/native-image-jmh-binary-tree.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 45 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['21'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-list-files.yml b/.github/workflows/native-image-list-files.yml index 596ebe705..38513b12b 100644 --- a/.github/workflows/native-image-list-files.yml +++ b/.github/workflows/native-image-list-files.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 20 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-optimize-memory-footprint.yml b/.github/workflows/native-image-optimize-memory-footprint.yml index 23e657776..0bd9fe23a 100644 --- a/.github/workflows/native-image-optimize-memory-footprint.yml +++ b/.github/workflows/native-image-optimize-memory-footprint.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-optimize-with-pgo.yml b/.github/workflows/native-image-optimize-with-pgo.yml index 8dea0f904..999e63207 100644 --- a/.github/workflows/native-image-optimize-with-pgo.yml +++ b/.github/workflows/native-image-optimize-with-pgo.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-preserve-package.yml b/.github/workflows/native-image-preserve-package.yml index b00881938..842058050 100644 --- a/.github/workflows/native-image-preserve-package.yml +++ b/.github/workflows/native-image-preserve-package.yml @@ -18,11 +18,14 @@ jobs: name: Run 'native-image/preserve-package' runs-on: ubuntu-latest timeout-minutes: 15 + strategy: + matrix: + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 with: - java-version: '25-ea' + java-version: ${{ matrix.java-version }} distribution: 'graalvm' github-token: ${{ secrets.GITHUB_TOKEN }} native-image-job-reports: 'true' diff --git a/.github/workflows/native-image-specify-class-init.yml b/.github/workflows/native-image-specify-class-init.yml index 49de7e0ee..054dd2a8d 100644 --- a/.github/workflows/native-image-specify-class-init.yml +++ b/.github/workflows/native-image-specify-class-init.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-use-system-properties.yml b/.github/workflows/native-image-use-system-properties.yml index 8058a60b2..b153726ac 100644 --- a/.github/workflows/native-image-use-system-properties.yml +++ b/.github/workflows/native-image-use-system-properties.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['21', '25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-wasm-javac.yml b/.github/workflows/native-image-wasm-javac.yml index 01c95cb7b..9a72fc10a 100644 --- a/.github/workflows/native-image-wasm-javac.yml +++ b/.github/workflows/native-image-wasm-javac.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25-ea'] + java-version: ['25', '26-ea'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/LICENSE.md b/LICENSE.md index 57bc7f7cd..ffc185e7d 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1,4 @@ -Copyright (c) 2018, 2024 Oracle and/or its affiliates. +Copyright (c) 2018, 2025 Oracle and/or its affiliates. The Universal Permissive License (UPL), Version 1.0 diff --git a/compiler/java-stream-benchmark/README.md b/compiler/java-stream-benchmark/README.md index fe50c35a1..b82836760 100644 --- a/compiler/java-stream-benchmark/README.md +++ b/compiler/java-stream-benchmark/README.md @@ -5,7 +5,7 @@ This demo contains the code for a simple Java Stream benchmark designed to run o 1. Download and install the GraalVM JDK using [SDKMAN!](https://sdkman.io/). For other installation options, visit the [Downloads page](https://www.graalvm.org/downloads/). ```bash - sdk install java 23.0.1-graal + sdk install java 25-graal ``` 2. Download or clone the repository and navigate into the benchmark directory: @@ -50,7 +50,7 @@ Read more in [this blog post](https://blogs.oracle.com/java/post/including-the-g 1. Switch the JVM from GraalVM (Oracle GraalVM or Community Edition) to Oracle JDK 23 or higher. You can quickly do that with using [SDKMAN!](https://sdkman.io/): ```bash - sdk install java 23.0.1-oracle + sdk install java 25-oracle ``` 2. Run this benchmark with the Graal JIT compiler enabled. For that, pass the `-XX:+UseGraalJIT` option to `java`: @@ -58,6 +58,6 @@ Read more in [this blog post](https://blogs.oracle.com/java/post/including-the-g java -XX:+UnlockExperimentalVMOptions -XX:+UseGraalJIT -jar target/benchmarks.jar ``` -> To switch between JVMs in the same terminal window (without affecting the global setting), use the `sdk` tool. For example, to switch back to Oracle GraalVM for JDK 23, run: `sdk use java 23.0.1-graal`. +> To switch between JVMs in the same terminal window (without affecting the global setting), use the `sdk` tool. For example, to switch back to Oracle GraalVM 25, run: `sdk use java 25-graal`. Learn more about the Graal JIT compiler from [its official documentation](https://www.graalvm.org/reference-manual/java/compiler/). \ No newline at end of file diff --git a/compiler/java-stream-benchmark/pom.xml b/compiler/java-stream-benchmark/pom.xml index 6b343052e..fb2c552c4 100644 --- a/compiler/java-stream-benchmark/pom.xml +++ b/compiler/java-stream-benchmark/pom.xml @@ -41,7 +41,7 @@ questions. UTF-8 1.37 - 1.8 + 21 benchmarks diff --git a/native-image/benchmark/jmh/binary-tree/README.md b/native-image/benchmark/jmh/binary-tree/README.md index aeb934a78..ffd77ec37 100644 --- a/native-image/benchmark/jmh/binary-tree/README.md +++ b/native-image/benchmark/jmh/binary-tree/README.md @@ -1,4 +1,4 @@ -# Binary Tree Benchmark +# Binary Tree Benchmark This demo shows how to run a Java Microbenchmark Harness (JMH) benchmark as a native executable. @@ -20,7 +20,7 @@ This forking process is not possible with GraalVM Native Image and you should co 1. Download and install the GraalVM JDK using [SDKMAN!](https://sdkman.io/). For other installation options, visit the [Downloads page](https://www.graalvm.org/downloads/). ```bash - sdk install java 21.0.5-graal + sdk install java 21.0.8-graal ``` 2. Download or clone the repository and navigate into the _/native-image/benchmark/jmh/binary-tree_ directory: @@ -38,7 +38,7 @@ To build and run the benchmark on HotSpot, run the following Maven command: ./mvnw clean package exec:exec ``` -Note that within the _pom.xml_ file there are instructions to explicitly turn off the Graal JIT compiler using the option `-XX:-UseJVMCICompiler`. +Note that within the _pom.xml_ file there are instructions to explicitly turn off the Graal JIT compiler using the option `-XX:-UseJVMCICompiler`. This means that benchmark will run using the C2 JIT compiler. The application runs the benchmark and displays the results to the terminal. @@ -58,7 +58,7 @@ This demo uses Oracle GraalVM Native Image, however, if you are using GraalVM Co ```shell ./mvnw package -Pnative ``` -2. Run the benchmark from a native executable: +2. Run the benchmark from a native executable: ```shell ./target/benchmark-binary-tree ``` @@ -70,12 +70,12 @@ This demo uses Oracle GraalVM Native Image, however, if you are using GraalVM Co ## Optimize the Benchmark for Throughput -You can improve the performance of this benchmark by applying [Profile-Guided Optimization (PGO)](https://www.graalvm.org/reference-manual/native-image/optimizations-and-performance/PGO/). +You can improve the performance of this benchmark by applying [Profile-Guided Optimization (PGO)](https://www.graalvm.org/reference-manual/native-image/optimizations-and-performance/PGO/). > PGO is available with Oracle GraalVM Native Image. First, you will need to build an instrumented version of this native benchmark that contains extra code to trace the execution of the program and to profile it. -Therefore, it will run slower than the previous version. +Therefore, it will run slower than the previous version. After execution finishes, a profile file, _default.iprof_, is generated in the root directory. This file contains profiling information about the application and will be used to build a more efficient native executable. diff --git a/native-image/benchmark/jmh/binary-tree/pom.xml b/native-image/benchmark/jmh/binary-tree/pom.xml index 58ac2c449..758bc79f6 100644 --- a/native-image/benchmark/jmh/binary-tree/pom.xml +++ b/native-image/benchmark/jmh/binary-tree/pom.xml @@ -18,7 +18,7 @@ benchmarks-binary-tree - 0.10.6 + 0.11.0 benchmark-binary-tree diff --git a/native-image/build-with-js-embedded/pom.xml b/native-image/build-with-js-embedded/pom.xml index 33c07a403..30d48de40 100644 --- a/native-image/build-with-js-embedded/pom.xml +++ b/native-image/build-with-js-embedded/pom.xml @@ -12,8 +12,8 @@ UTF-8 21 21 - 24.1.1 - 0.10.6 + 25.0.0 + 0.11.0 diff --git a/native-image/clouds/native-aws-fargate/pom.xml b/native-image/clouds/native-aws-fargate/pom.xml index 649974338..95d9cd921 100644 --- a/native-image/clouds/native-aws-fargate/pom.xml +++ b/native-image/clouds/native-aws-fargate/pom.xml @@ -10,14 +10,14 @@ io.micronaut micronaut-parent - 3.9.1 + 4.9.2 jar - 17 - 17 - 3.9.1 + 21 + 21 + 4.9.2 netty example.micronaut.Application @@ -78,7 +78,7 @@ io.micronaut.build micronaut-maven-plugin - + org.apache.maven.plugins maven-compiler-plugin diff --git a/native-image/clouds/native-aws-lambda/README.md b/native-image/clouds/native-aws-lambda/README.md index 5f809d920..b485aa733 100644 --- a/native-image/clouds/native-aws-lambda/README.md +++ b/native-image/clouds/native-aws-lambda/README.md @@ -1,6 +1,6 @@ GraalVM on AWS Lambda Demo ==================== -This demo will walk you through the processes for deploying both Java 17 and Native Image applications onto the AWS Lambda platform. In this demo, you will deploy a simple "Hello World" HTTP application and have the ability to compare how the versions of the application compare based on speed and size. +This demo will walk you through the processes for deploying both Java 21 and Native Image applications onto the AWS Lambda platform. In this demo, you will deploy a simple "Hello World" HTTP application and have the ability to compare how the versions of the application compare based on speed and size. Prerequisites ---------------------- @@ -40,7 +40,7 @@ public class HomeController { This code implements the actual RESTful "Hello World" functionality and is the code that snippet which is executed when a request is made to Lambda function. It produces the "Hello World" string when a GET request is made to the function's URL. -Deploying as a Java 17 Application (.jar) +Deploying as a Java 21 Application (.jar) ---------------------- 1. Navigate to the directory for this demo: ```sh @@ -55,7 +55,7 @@ cd graalvm-demos/native-aws-lambda ![AWS dashboard](img/Create%20function.png) -5. Select “Author from scratch”, choose a name for your function, select “Java 17” as the runtime, and select “x86_64” as the architecture, then click the "Create function" button +5. Select “Author from scratch”, choose a name for your function, select “Java 21 as the runtime, and select “x86_64” as the architecture, then click the "Create function" button ![Create function](img/myFunction.png) diff --git a/native-image/clouds/native-aws-lambda/pom.xml b/native-image/clouds/native-aws-lambda/pom.xml index a2e236343..85364c6a1 100644 --- a/native-image/clouds/native-aws-lambda/pom.xml +++ b/native-image/clouds/native-aws-lambda/pom.xml @@ -10,14 +10,14 @@ io.micronaut micronaut-parent - 3.9.1 + 4.9.2 jar - 17 - 17 - 3.9.1 + 21 + 21 + 4.9.2 io.micronaut.function.aws.runtime.MicronautLambdaRuntime lambda @@ -88,7 +88,7 @@ io.micronaut.build micronaut-maven-plugin - + org.apache.maven.plugins maven-compiler-plugin diff --git a/native-image/clouds/native-google-cloud-run/pom.xml b/native-image/clouds/native-google-cloud-run/pom.xml index 649974338..95d9cd921 100644 --- a/native-image/clouds/native-google-cloud-run/pom.xml +++ b/native-image/clouds/native-google-cloud-run/pom.xml @@ -10,14 +10,14 @@ io.micronaut micronaut-parent - 3.9.1 + 4.9.2 jar - 17 - 17 - 3.9.1 + 21 + 21 + 4.9.2 netty example.micronaut.Application @@ -78,7 +78,7 @@ io.micronaut.build micronaut-maven-plugin - + org.apache.maven.plugins maven-compiler-plugin diff --git a/native-image/clouds/native-oci-cloud-shell/pom.xml b/native-image/clouds/native-oci-cloud-shell/pom.xml index 7ccd1a2d8..3636e9c28 100644 --- a/native-image/clouds/native-oci-cloud-shell/pom.xml +++ b/native-image/clouds/native-oci-cloud-shell/pom.xml @@ -17,7 +17,7 @@ 17 17 3.2.2 - 0.10.6 + 0.11.0 diff --git a/native-image/clouds/native-oci-container-instances/pom.xml b/native-image/clouds/native-oci-container-instances/pom.xml index 649974338..95d9cd921 100644 --- a/native-image/clouds/native-oci-container-instances/pom.xml +++ b/native-image/clouds/native-oci-container-instances/pom.xml @@ -10,14 +10,14 @@ io.micronaut micronaut-parent - 3.9.1 + 4.9.2 jar - 17 - 17 - 3.9.1 + 21 + 21 + 4.9.2 netty example.micronaut.Application @@ -78,7 +78,7 @@ io.micronaut.build micronaut-maven-plugin - + org.apache.maven.plugins maven-compiler-plugin diff --git a/native-image/clouds/native-oci-generative-ai/pom.xml b/native-image/clouds/native-oci-generative-ai/pom.xml index 5a321b68e..437039abf 100644 --- a/native-image/clouds/native-oci-generative-ai/pom.xml +++ b/native-image/clouds/native-oci-generative-ai/pom.xml @@ -12,7 +12,7 @@ UTF-8 com.oracle.labs.GenerateTextExample - 0.10.1 + 0.11.0 diff --git a/native-image/embed-sbom/run.sh b/native-image/embed-sbom/run.sh index 0e018f859..13106c710 100755 --- a/native-image/embed-sbom/run.sh +++ b/native-image/embed-sbom/run.sh @@ -1,10 +1,9 @@ #!/usr/bin/env bash set -ex -native-image -Ob --enable-sbom=cyclonedx -m jdk.httpserver -o jwebserver +native-image -Ob -m jdk.httpserver -o jwebserver -# Requires GraalVM for JDK 24 Early Access build 24.ea.23-graal or later: -# sdk install java 24.ea.23-graal +# Requires GraalVM 25 or later: cd sbom-test mvn clean package mvn -Pnative package \ No newline at end of file diff --git a/native-image/embed-sbom/sbom-test/README.md b/native-image/embed-sbom/sbom-test/README.md index 079823dc2..d31c6b823 100644 --- a/native-image/embed-sbom/sbom-test/README.md +++ b/native-image/embed-sbom/sbom-test/README.md @@ -1,6 +1,6 @@ # Including Class-Level Metadata in the SBOM This demo tests including class-level metadata to the SBOM components at build time. -Find more information on [the website](https://www.graalvm.org/jdk24/security-guide/native-image/sbom/#including-class-level-metadata-in-the-sbom). +Find more information on [the website](https://www.graalvm.org/jdk25/security-guide/native-image/sbom/#including-class-level-metadata-in-the-sbom). > Available with GraalVM for JDK 24 and later. \ No newline at end of file diff --git a/native-image/embed-sbom/sbom-test/pom.xml b/native-image/embed-sbom/sbom-test/pom.xml index 3f5d284f9..f19cfe582 100644 --- a/native-image/embed-sbom/sbom-test/pom.xml +++ b/native-image/embed-sbom/sbom-test/pom.xml @@ -10,7 +10,7 @@ UTF-8 21 21 - 0.10.6 + 0.11.0 diff --git a/native-image/include-metadata/pom.xml b/native-image/include-metadata/pom.xml index 57de0b906..228514c2c 100644 --- a/native-image/include-metadata/pom.xml +++ b/native-image/include-metadata/pom.xml @@ -11,7 +11,7 @@ 2.2.220 21 21 - 0.10.6 + 0.11.0 org.graalvm.example.H2Example h2example @@ -33,7 +33,7 @@ org.graalvm.buildtools native-maven-plugin - 0.10.6 + 0.11.0 true diff --git a/native-image/microservices/micronaut-hello-rest-gradle/README.md b/native-image/microservices/micronaut-hello-rest-gradle/README.md index d473627dd..4796e9a07 100644 --- a/native-image/microservices/micronaut-hello-rest-gradle/README.md +++ b/native-image/microservices/micronaut-hello-rest-gradle/README.md @@ -7,9 +7,9 @@ Along the way you will see the performance benefits that GraalVM Native Image pr 1. Download and install GraalVM using [SDKMAN!](https://sdkman.io/): ```bash - sdk install java 21.0.5-graal + sdk install java 21.0.8-graal ``` - > Note: A Java version between 17 and 21 is required to execute Gradle (see the Gradle Compatibility Matrix). + > Note: A Java version between 17 and 21 is required to execute Gradle (see the [Gradle Compatibility Matrix](https://docs.gradle.org/current/userguide/compatibility.html)). 2. Download or clone GraalVM demos repository and navigate into the example directory: ```bash @@ -31,13 +31,13 @@ Along the way you will see the performance benefits that GraalVM Native Image pr java -jar build/libs/hello-0.1-all.jar ``` You can see the app starts in few hundred milliseconds. - + 3. To test the `HelloController` you created, either `curl http://localhost:8080/hello` or open it in a browser: ```bash curl http://localhost:8080/hello ``` - The response should be `Example Response`. + The response should be `Example Response`. Then stop the application: ``` CTRL-C @@ -52,7 +52,7 @@ Mironaut provides support for GraalVM Native Image by default. ```bash ./gradlew nativeCompile ``` - + Compilation can take a few minutes, but more cores and more memory reduce the required time. The result is a standalone executable placed in the _build/native/nativeCompile/_ directory named `MnHelloRest`. @@ -71,7 +71,7 @@ Mironaut provides support for GraalVM Native Image by default. If you are on Linux, you can easily create a Docker container image that includes the native Linux executable you have built. For Windows or macOS, the process is little different and is not covered here. -Typically, the first question is what base image to use? +Typically, the first question is what base image to use? GraalVM Native Image supports both static and dynamically linked executables, with dynamic being the default. Your native executable is dynamically linked against `glibc`, you will need a base image that includes it. One of the smallest base images you could use is Alpine Linux with `glibc`. diff --git a/native-image/microservices/micronaut-hello-rest-maven/README.md b/native-image/microservices/micronaut-hello-rest-maven/README.md index 77f9f716a..367b61ca0 100644 --- a/native-image/microservices/micronaut-hello-rest-maven/README.md +++ b/native-image/microservices/micronaut-hello-rest-maven/README.md @@ -7,7 +7,7 @@ Along the way you will see the performance benefits that GraalVM Native Image pr 1. Download and install GraalVM using [SDKMAN!](https://sdkman.io/): ```bash - sdk install java 21.0.5-graal + sdk install java 25-graal ``` 2. Download or clone GraalVM demos repository and navigate into the example directory: @@ -30,13 +30,13 @@ Along the way you will see the performance benefits that GraalVM Native Image pr java -jar target/MnHelloRest-0.1.jar ``` You can see the app starts in few hundred milliseconds. - + 3. To test the `HelloController` you created, either `curl http://localhost:8080/GraalVM` or open it in a browser: ```bash curl http://localhost:8080/GraalVM ``` - The response should be `Hello GraalVM`. + The response should be `Hello GraalVM`. Then stop the application: ``` CTRL-C @@ -51,7 +51,7 @@ Micronaut provides support for GraalVM Native Image by default. ```bash ./mvnw package -Dpackaging=native-image ``` - + Compilation can take a few minutes. Compiling on machine with more cores and more memory will reduce the build time. The result is a standalone executable placed in the _target/_ directory named `MnHelloRest`. @@ -69,7 +69,7 @@ Micronaut provides support for GraalVM Native Image by default. curl http://localhost:8080/GraalVM ``` - The response should be `Hello GraalVM`. + The response should be `Hello GraalVM`. Then stop the application: ``` CTRL-C @@ -80,7 +80,7 @@ Micronaut provides support for GraalVM Native Image by default. If you are on Linux, you can easily create a Docker container image that includes the native Linux executable you have built. For Windows or macOS, the process is little different and is not covered here. -Typically, the first question is what base image to use? +Typically, the first question is what base image to use? GraalVM Native Image supports both static and dynamically linked executables, with dynamic being the default. Your native executable is dynamically linked against `glibc`, you will need a base image that includes it. One of the smallest base images you could use is Alpine Linux with `glibc`. diff --git a/native-image/native-build-tools/gradle-plugin/build.gradle b/native-image/native-build-tools/gradle-plugin/build.gradle index f1f9143a4..14b3cf007 100644 --- a/native-image/native-build-tools/gradle-plugin/build.gradle +++ b/native-image/native-build-tools/gradle-plugin/build.gradle @@ -9,7 +9,7 @@ plugins { // Apply the application plugin to add support for building a CLI application in Java. id 'application' - id 'org.graalvm.buildtools.native' version '0.10.6' + id 'org.graalvm.buildtools.native' version '0.11.0' } repositories { diff --git a/native-image/native-build-tools/maven-plugin/pom.xml b/native-image/native-build-tools/maven-plugin/pom.xml index 47054ccac..bb68516b0 100644 --- a/native-image/native-build-tools/maven-plugin/pom.xml +++ b/native-image/native-build-tools/maven-plugin/pom.xml @@ -11,7 +11,7 @@ 21 21 - 0.10.6 + 0.11.0 diff --git a/native-image/optimize-memory/README.md b/native-image/optimize-memory/README.md index b4205b815..28eb93c04 100644 --- a/native-image/optimize-memory/README.md +++ b/native-image/optimize-memory/README.md @@ -1,3 +1,3 @@ # Optimize Memory Footprint of a Native Executable -You can find the steps to run this demo on [the website](https://www.graalvm.org/jdk24/reference-manual/native-image/guides/optimize-memory-footprint/). \ No newline at end of file +You can find the steps to run this demo on [the website](https://www.graalvm.org/jdk25/reference-manual/native-image/guides/optimize-memory-footprint/). \ No newline at end of file diff --git a/native-image/preserve-package/README.md b/native-image/preserve-package/README.md index e54bdd363..bbbc7a0f1 100644 --- a/native-image/preserve-package/README.md +++ b/native-image/preserve-package/README.md @@ -3,16 +3,16 @@ Reflection is a feature of the Java programming language that enables a running Java program to examine and modify attributes of its classes, interfaces, fields, and methods. GraalVM Native Image automatically supports some uses of reflection. Native Image uses static analysis to identify what classes, methods, and fields are needed by an application, but it may not detect some elements of your application that are accessed using the [Java Reflection API](https://docs.oracle.com/en/java/javase/24/docs/api/java.base/java/lang/reflect/package-summary.html). -You must declare any undetected reflection usage to the `native-image` tool, either as metadata ([precomputed in code or as JSON configuration files](https://www.graalvm.org/latest/reference-manual/native-image/metadata/)) or using the `-H:Preserve` option (experimental in GraalVM for JDK 25). +You must declare any undetected reflection usage to the `native-image` tool, either as metadata ([precomputed in code or as JSON configuration files](https://www.graalvm.org/latest/reference-manual/native-image/metadata/)) or using the `-H:Preserve` option (experimental in GraalVM 25). This guide demonstrates how to declare reflection configuration using the `-H:Preserve` option. ## Preparation -1. Download and install the latest GraalVM for JDK 25 (or the early access build before 2025-09-16) using [SDKMAN!](https://sdkman.io/). +1. Download and install the latest GraalVM 25 (or the early access build before 2025-09-16) using [SDKMAN!](https://sdkman.io/). ```shell - sdk install java 25.ea.29-graal + sdk install java 25-graal ``` 2. Download or clone this repository, and navigate into the `native-image/preserve-package` directory: @@ -101,7 +101,7 @@ This error occurs because the `native-image` tool's static analysis did not dete ## Native Image Using `-H:Preserve` -GraalVM for JDK 25 introduces the `-H:Preserve` option. +GraalVM 25 introduces the `-H:Preserve` option. This option lets you instruct the `native-image` tool to keep entire packages, modules, or all classes on the classpath. diff --git a/native-image/preserve-package/pom.xml b/native-image/preserve-package/pom.xml index 837ae478e..baae215cc 100644 --- a/native-image/preserve-package/pom.xml +++ b/native-image/preserve-package/pom.xml @@ -12,7 +12,7 @@ UTF-8 21 - 0.10.6 + 0.11.0 diff --git a/native-image/specify-class-init/README.md b/native-image/specify-class-init/README.md index 2780601c3..ed73427ce 100644 --- a/native-image/specify-class-init/README.md +++ b/native-image/specify-class-init/README.md @@ -1,3 +1,3 @@ # Specify Class Initialization Explicitly -You can find the steps to run this demo on [the website](https://www.graalvm.org/jdk23/reference-manual/native-image/guides/specify-class-initialization/). \ No newline at end of file +You can find the steps to run this demo on [the website](https://www.graalvm.org/jdk25/reference-manual/native-image/guides/specify-class-initialization/). \ No newline at end of file From 043e76701fb064206e570467288cf57c26fb28a4 Mon Sep 17 00:00:00 2001 From: Shaun Smith Date: Fri, 19 Sep 2025 15:44:37 -0400 Subject: [PATCH 2/4] Test against JDK 25 --- .github/workflows/compiler-java-stream-benchmark.yml | 2 +- .github/workflows/containerize-spring-boot-jibber.yml | 2 +- .github/workflows/containerize-tiny-java-containers.yml | 2 +- .../workflows/microservices-micronaut-hello-rest-maven.yml | 2 +- .github/workflows/native-build-tools-maven.yml | 2 +- .../workflows/native-image-access-environment-variables.yml | 2 +- .github/workflows/native-image-add-jfr.yml | 2 +- .github/workflows/native-image-add-jmx.yml | 2 +- .github/workflows/native-image-add-logging.yml | 2 +- .github/workflows/native-image-build-from-jar.yml | 2 +- .github/workflows/native-image-build-java-modules.yml | 2 +- .github/workflows/native-image-build-shared-library.yml | 2 +- .github/workflows/native-image-build-static-images.yml | 4 ++-- .../workflows/native-image-configure-with-tracing-agent.yml | 2 +- .github/workflows/native-image-create-heap-dumps.yml | 2 +- .github/workflows/native-image-embed-sbom.yml | 2 +- .github/workflows/native-image-emit-build-report.yml | 2 +- .github/workflows/native-image-hello-world.yml | 2 +- .github/workflows/native-image-include-resources.yml | 2 +- .github/workflows/native-image-list-files.yml | 2 +- .github/workflows/native-image-optimize-memory-footprint.yml | 2 +- .github/workflows/native-image-optimize-with-pgo.yml | 2 +- .github/workflows/native-image-preserve-package.yml | 2 +- .github/workflows/native-image-specify-class-init.yml | 2 +- .github/workflows/native-image-use-system-properties.yml | 2 +- .github/workflows/native-image-wasm-javac.yml | 2 +- 26 files changed, 27 insertions(+), 27 deletions(-) diff --git a/.github/workflows/compiler-java-stream-benchmark.yml b/.github/workflows/compiler-java-stream-benchmark.yml index 0e891c59d..1919eb158 100644 --- a/.github/workflows/compiler-java-stream-benchmark.yml +++ b/.github/workflows/compiler-java-stream-benchmark.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/containerize-spring-boot-jibber.yml b/.github/workflows/containerize-spring-boot-jibber.yml index 0aa471a71..fb69143ac 100644 --- a/.github/workflows/containerize-spring-boot-jibber.yml +++ b/.github/workflows/containerize-spring-boot-jibber.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 20 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/containerize-tiny-java-containers.yml b/.github/workflows/containerize-tiny-java-containers.yml index b6e64bea4..d421cb1d1 100644 --- a/.github/workflows/containerize-tiny-java-containers.yml +++ b/.github/workflows/containerize-tiny-java-containers.yml @@ -16,7 +16,7 @@ jobs: timeout-minutes: 20 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/microservices-micronaut-hello-rest-maven.yml b/.github/workflows/microservices-micronaut-hello-rest-maven.yml index 658a4edd5..f6638c835 100644 --- a/.github/workflows/microservices-micronaut-hello-rest-maven.yml +++ b/.github/workflows/microservices-micronaut-hello-rest-maven.yml @@ -16,7 +16,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-build-tools-maven.yml b/.github/workflows/native-build-tools-maven.yml index 75d7e0f9c..912d6ce6b 100644 --- a/.github/workflows/native-build-tools-maven.yml +++ b/.github/workflows/native-build-tools-maven.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 30 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-access-environment-variables.yml b/.github/workflows/native-image-access-environment-variables.yml index 78aa5a4fc..6cb0b57d5 100644 --- a/.github/workflows/native-image-access-environment-variables.yml +++ b/.github/workflows/native-image-access-environment-variables.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-add-jfr.yml b/.github/workflows/native-image-add-jfr.yml index 800a2c7db..d29de8360 100644 --- a/.github/workflows/native-image-add-jfr.yml +++ b/.github/workflows/native-image-add-jfr.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-add-jmx.yml b/.github/workflows/native-image-add-jmx.yml index b18cc0131..383be8f5b 100644 --- a/.github/workflows/native-image-add-jmx.yml +++ b/.github/workflows/native-image-add-jmx.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-add-logging.yml b/.github/workflows/native-image-add-logging.yml index 97c387529..c03bdf6b6 100644 --- a/.github/workflows/native-image-add-logging.yml +++ b/.github/workflows/native-image-add-logging.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-build-from-jar.yml b/.github/workflows/native-image-build-from-jar.yml index c9cabbfb1..ce2b19e33 100644 --- a/.github/workflows/native-image-build-from-jar.yml +++ b/.github/workflows/native-image-build-from-jar.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-build-java-modules.yml b/.github/workflows/native-image-build-java-modules.yml index 80a6471e8..11cdb5c23 100644 --- a/.github/workflows/native-image-build-java-modules.yml +++ b/.github/workflows/native-image-build-java-modules.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-build-shared-library.yml b/.github/workflows/native-image-build-shared-library.yml index 20017b581..a67558c44 100644 --- a/.github/workflows/native-image-build-shared-library.yml +++ b/.github/workflows/native-image-build-shared-library.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-build-static-images.yml b/.github/workflows/native-image-build-static-images.yml index 628f13d00..25ca8d46f 100644 --- a/.github/workflows/native-image-build-static-images.yml +++ b/.github/workflows/native-image-build-static-images.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 @@ -40,7 +40,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-configure-with-tracing-agent.yml b/.github/workflows/native-image-configure-with-tracing-agent.yml index 6f92d4a89..e44c47e88 100644 --- a/.github/workflows/native-image-configure-with-tracing-agent.yml +++ b/.github/workflows/native-image-configure-with-tracing-agent.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-create-heap-dumps.yml b/.github/workflows/native-image-create-heap-dumps.yml index 1e0119c1b..0d66e107a 100644 --- a/.github/workflows/native-image-create-heap-dumps.yml +++ b/.github/workflows/native-image-create-heap-dumps.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-embed-sbom.yml b/.github/workflows/native-image-embed-sbom.yml index bb5b9bd3f..8660bd74f 100644 --- a/.github/workflows/native-image-embed-sbom.yml +++ b/.github/workflows/native-image-embed-sbom.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-emit-build-report.yml b/.github/workflows/native-image-emit-build-report.yml index 3163a6433..3b6831f85 100644 --- a/.github/workflows/native-image-emit-build-report.yml +++ b/.github/workflows/native-image-emit-build-report.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-hello-world.yml b/.github/workflows/native-image-hello-world.yml index e6b850d56..ab2176299 100644 --- a/.github/workflows/native-image-hello-world.yml +++ b/.github/workflows/native-image-hello-world.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-include-resources.yml b/.github/workflows/native-image-include-resources.yml index 3008a0846..972533a68 100644 --- a/.github/workflows/native-image-include-resources.yml +++ b/.github/workflows/native-image-include-resources.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-list-files.yml b/.github/workflows/native-image-list-files.yml index 38513b12b..3e1c8d95f 100644 --- a/.github/workflows/native-image-list-files.yml +++ b/.github/workflows/native-image-list-files.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 20 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-optimize-memory-footprint.yml b/.github/workflows/native-image-optimize-memory-footprint.yml index 0bd9fe23a..b3d7a647a 100644 --- a/.github/workflows/native-image-optimize-memory-footprint.yml +++ b/.github/workflows/native-image-optimize-memory-footprint.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-optimize-with-pgo.yml b/.github/workflows/native-image-optimize-with-pgo.yml index 999e63207..da7002e7d 100644 --- a/.github/workflows/native-image-optimize-with-pgo.yml +++ b/.github/workflows/native-image-optimize-with-pgo.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-preserve-package.yml b/.github/workflows/native-image-preserve-package.yml index 842058050..8a14e3c61 100644 --- a/.github/workflows/native-image-preserve-package.yml +++ b/.github/workflows/native-image-preserve-package.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-specify-class-init.yml b/.github/workflows/native-image-specify-class-init.yml index 054dd2a8d..f3a4154c8 100644 --- a/.github/workflows/native-image-specify-class-init.yml +++ b/.github/workflows/native-image-specify-class-init.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-use-system-properties.yml b/.github/workflows/native-image-use-system-properties.yml index b153726ac..3ffaf5fe6 100644 --- a/.github/workflows/native-image-use-system-properties.yml +++ b/.github/workflows/native-image-use-system-properties.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 diff --git a/.github/workflows/native-image-wasm-javac.yml b/.github/workflows/native-image-wasm-javac.yml index 9a72fc10a..7e38b77e8 100644 --- a/.github/workflows/native-image-wasm-javac.yml +++ b/.github/workflows/native-image-wasm-javac.yml @@ -20,7 +20,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java-version: ['25', '26-ea'] + java-version: ['25'] steps: - uses: actions/checkout@v4 - uses: graalvm/setup-graalvm@v1 From cb26331331d59ee96c259dba2fe94f5b82de69ec Mon Sep 17 00:00:00 2001 From: Betty Mann Date: Mon, 22 Sep 2025 13:21:18 +0100 Subject: [PATCH 3/4] New micronaut code --- native-image/clouds/native-aws-fargate/pom.xml | 6 +++--- native-image/clouds/native-aws-lambda/pom.xml | 6 +++--- native-image/clouds/native-google-cloud-run/pom.xml | 4 ++-- native-image/clouds/native-oci-container-instances/pom.xml | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/native-image/clouds/native-aws-fargate/pom.xml b/native-image/clouds/native-aws-fargate/pom.xml index 95d9cd921..a29858b1b 100644 --- a/native-image/clouds/native-aws-fargate/pom.xml +++ b/native-image/clouds/native-aws-fargate/pom.xml @@ -8,16 +8,16 @@ ${packaging} - io.micronaut + io.micronaut.platform micronaut-parent - 4.9.2 + 4.9.3 jar 21 21 - 4.9.2 + 4.9.3 netty example.micronaut.Application diff --git a/native-image/clouds/native-aws-lambda/pom.xml b/native-image/clouds/native-aws-lambda/pom.xml index 85364c6a1..8a7e8d213 100644 --- a/native-image/clouds/native-aws-lambda/pom.xml +++ b/native-image/clouds/native-aws-lambda/pom.xml @@ -8,16 +8,16 @@ ${packaging} - io.micronaut + io.micronaut.platform micronaut-parent - 4.9.2 + 4.9.3 jar 21 21 - 4.9.2 + 4.9.3 io.micronaut.function.aws.runtime.MicronautLambdaRuntime lambda diff --git a/native-image/clouds/native-google-cloud-run/pom.xml b/native-image/clouds/native-google-cloud-run/pom.xml index 95d9cd921..0fe8bc496 100644 --- a/native-image/clouds/native-google-cloud-run/pom.xml +++ b/native-image/clouds/native-google-cloud-run/pom.xml @@ -8,9 +8,9 @@ ${packaging} - io.micronaut + io.micronaut.platform micronaut-parent - 4.9.2 + 4.9.3 diff --git a/native-image/clouds/native-oci-container-instances/pom.xml b/native-image/clouds/native-oci-container-instances/pom.xml index 95d9cd921..a29858b1b 100644 --- a/native-image/clouds/native-oci-container-instances/pom.xml +++ b/native-image/clouds/native-oci-container-instances/pom.xml @@ -8,16 +8,16 @@ ${packaging} - io.micronaut + io.micronaut.platform micronaut-parent - 4.9.2 + 4.9.3 jar 21 21 - 4.9.2 + 4.9.3 netty example.micronaut.Application From ad1fdac6fa42741e9586fa5c7b604ba321960db6 Mon Sep 17 00:00:00 2001 From: Betty Mann Date: Mon, 22 Sep 2025 17:43:52 +0100 Subject: [PATCH 4/4] Revert micronaut for tests --- native-image/clouds/native-aws-fargate/pom.xml | 10 +++++----- native-image/clouds/native-aws-lambda/pom.xml | 10 +++++----- native-image/clouds/native-google-cloud-run/pom.xml | 10 +++++----- .../clouds/native-oci-container-instances/pom.xml | 10 +++++----- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/native-image/clouds/native-aws-fargate/pom.xml b/native-image/clouds/native-aws-fargate/pom.xml index a29858b1b..3ba870230 100644 --- a/native-image/clouds/native-aws-fargate/pom.xml +++ b/native-image/clouds/native-aws-fargate/pom.xml @@ -8,16 +8,16 @@ ${packaging} - io.micronaut.platform + io.micronaut micronaut-parent - 4.9.3 + 3.9.1 jar - 21 - 21 - 4.9.3 + 17 + 17 + 3.9.1 netty example.micronaut.Application diff --git a/native-image/clouds/native-aws-lambda/pom.xml b/native-image/clouds/native-aws-lambda/pom.xml index 8a7e8d213..5ff9f3292 100644 --- a/native-image/clouds/native-aws-lambda/pom.xml +++ b/native-image/clouds/native-aws-lambda/pom.xml @@ -8,16 +8,16 @@ ${packaging} - io.micronaut.platform + io.micronaut micronaut-parent - 4.9.3 + 3.9.1 jar - 21 - 21 - 4.9.3 + 17 + 17 + 3.9.1 io.micronaut.function.aws.runtime.MicronautLambdaRuntime lambda diff --git a/native-image/clouds/native-google-cloud-run/pom.xml b/native-image/clouds/native-google-cloud-run/pom.xml index 0fe8bc496..b7d0513e8 100644 --- a/native-image/clouds/native-google-cloud-run/pom.xml +++ b/native-image/clouds/native-google-cloud-run/pom.xml @@ -8,16 +8,16 @@ ${packaging} - io.micronaut.platform + io.micronaut micronaut-parent - 4.9.3 + 3.9.1 jar - 21 - 21 - 4.9.2 + 17 + 17 + 3.9.1 netty example.micronaut.Application diff --git a/native-image/clouds/native-oci-container-instances/pom.xml b/native-image/clouds/native-oci-container-instances/pom.xml index a29858b1b..3ba870230 100644 --- a/native-image/clouds/native-oci-container-instances/pom.xml +++ b/native-image/clouds/native-oci-container-instances/pom.xml @@ -8,16 +8,16 @@ ${packaging} - io.micronaut.platform + io.micronaut micronaut-parent - 4.9.3 + 3.9.1 jar - 21 - 21 - 4.9.3 + 17 + 17 + 3.9.1 netty example.micronaut.Application