Giter Club home page Giter Club logo

setup-graalvm's Introduction

GitHub Action for GraalVM build-test

This GitHub action sets up Oracle GraalVM, GraalVM Community Edition (CE), Enterprise Edition (EE), Mandrel, or Liberica Native Image Kit as well as Native Image and GraalVM components such as Truffle languages.

Key Features

This action:

  • supports Oracle GraalVM releases, EA builds, GraalVM Community Edition (CE) releases, dev builds, GraalVM Enterprise Edition (EE) releases (set gds-token) 22.1.0 and later, Mandrel, and Liberica Native Image Kit (see Options)
  • exports a $GRAALVM_HOME environment variable
  • adds $GRAALVM_HOME/bin to the $PATH environment variable
    (Native Image, Truffle languages, and tools can be invoked directly)
  • sets $JAVA_HOME to $GRAALVM_HOME by default
    (can be disabled via set-java-home: 'false', see Options)
  • supports x64 and aarch64 (selected automatically, aarch64 requires a self-hosted runner)
  • supports dependency caching for Apache Maven, Gradle, and sbt (see cache option)
  • sets up Windows environments with build tools using vcvarsall.bat
  • has built-in support for GraalVM components and the GraalVM Updater

Templates

Quickstart Template

name: GraalVM build
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: graalvm/setup-graalvm@v1
        with:
          java-version: '21'      # See 'Options' section below for all supported versions
          distribution: 'graalvm' # See 'Options' section below for all available distributions
          github-token: ${{ secrets.GITHUB_TOKEN }}
      - name: Example step
        run: |
          echo "GRAALVM_HOME: $GRAALVM_HOME"
          echo "JAVA_HOME: $JAVA_HOME"
          java --version
          native-image --version
      - name: Example step using Maven plugin  # https://graalvm.github.io/native-build-tools/latest/maven-plugin.html
        run: mvn -Pnative package
      - name: Example step using Gradle plugin # https://graalvm.github.io/native-build-tools/latest/gradle-plugin.html
        run: gradlew nativeCompile

Building a HelloWorld with GraalVM Native Image on Different Platforms

name: GraalVM Native Image builds
on: [push, pull_request]
jobs:
  build:
    name: HelloWorld on ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [macos-latest, windows-latest, ubuntu-latest]
    steps:
      - uses: actions/checkout@v4

      - uses: graalvm/setup-graalvm@v1
        with:
          java-version: '21'
          distribution: 'graalvm'
          github-token: ${{ secrets.GITHUB_TOKEN }}
          native-image-job-reports: 'true'

      - name: Build and run HelloWorld.java
        run: |
          echo 'public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }' > HelloWorld.java
          javac HelloWorld.java
          native-image HelloWorld
          ./helloworld
      
      - name: Upload binary
        uses: actions/upload-artifact@v2
        with:
          name: helloworld-${{ matrix.os }}
          path: helloworld*

Template for Oracle GraalVM Early Access (EA) builds

name: Oracle GraalVM Early Access build
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: graalvm/setup-graalvm@v1
        with:
          java-version: '23-ea' # or 'latest-ea' for the latest Java version available
          distribution: 'graalvm'
          github-token: ${{ secrets.GITHUB_TOKEN }}

Template for older GraalVM releases

name: GraalVM build
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: graalvm/setup-graalvm@v1
        with:
          version: '22.3.2' # GraalVM version
          java-version: '17'
          components: 'native-image'
          github-token: ${{ secrets.GITHUB_TOKEN }}

Template for GraalVM Enterprise Edition

Prerequisites

  1. Download the version of GraalVM Enterprise Edition (EE) you want to run on GitHub Actions.
  2. Use the GraalVM Updater to install the GraalVM components you need on GitHub Actions and accept the corresponding licenses.
  3. Run $GRAALVM_HOME/bin/gu --show-ee-token to display your token for the GraalVM Download Service.
  4. Store this token as a GitHub Action secret. For this template, we use the name GDS_TOKEN.
name: GraalVM Enterprise Edition build
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: graalvm/setup-graalvm@v1
        with:
          version: '22.3.0'
          gds-token: ${{ secrets.GDS_TOKEN }}
          java-version: '17'
          components: 'native-image'
          github-token: ${{ secrets.GITHUB_TOKEN }}
      - name: Example step
        run: |
          java --version
          native-image --version

Migrating from GraalVM 22.3 or Earlier to the New GraalVM for JDK 17 and Later

The GraalVM for JDK 17 and JDK 20 release aligns the GraalVM version scheme with OpenJDK. As a result, this action no longer requires the version option to select a specific GraalVM version. At the same time, it introduces a new distribution option to select a specific GraalVM distribution (graalvm, graalvm-community, or mandrel). Therefore, to migrate your workflow to use the latest GraalVM release, replace the version with the distribution option in the workflow yml config, for example:

# ...
- uses: graalvm/setup-graalvm@v1
  with:
    java-version: '17'
    version: '22.3.2' # Old 'version' option for the GraalVM version
    # ...

can be replaced with:

# ...
- uses: graalvm/setup-graalvm@v1
  with:
    java-version: '17.0.7' # for a specific JDK 17; or '17' for the latest JDK 17
    distribution: 'graalvm' # New 'distribution' option
    # ...

Options

Name Default Description
java-version
(required)
n/a Java version
  • major versions: '21', '17', '11', '8'
  • specific versions: '21.0.2', '17.0.7'
  • early access (EA) builds: '22-ea' (requires distribution: 'graalvm')
  • latest EA build: 'latest-ea' (requires distribution: 'graalvm')
  • dev builds: 'dev'
distribution 'graalvm' GraalVM distribution
  • Oracle GraalVM: 'graalvm'
  • GraalVM Community Edition: 'graalvm-community'
  • Mandrel: 'mandrel'
  • Liberica: 'liberica'
java-package 'jdk' The package type ('jdk' or 'jdk+fx'). Currently applies to Liberica only.
github-token '${{ github.token }}' Token for communication with the GitHub API. Please set this to ${{ secrets.GITHUB_TOKEN }} (see templates) to allow the action to authenticate with the GitHub API, which helps reduce rate-limiting issues.
set-java-home 'true' If set to 'true', instructs the action to set $JAVA_HOME to the path of the GraalVM installation. Overrides any previous action or command that sets $JAVA_HOME.
cache '' Name of the build platform to cache dependencies. Turned off by default (''). It can also be 'maven', 'gradle', or 'sbt' and works the same way as described in actions/setup-java.
check-for-updates 'true' Annotate jobs with update notifications, for example when a new GraalVM release is available.
native-image-musl 'false' If set to 'true', sets up musl to build static binaries with GraalVM Native Image (Linux only). Example usage (be sure to replace uses: ./ with uses: graalvm/setup-graalvm@v1).
native-image-job-reports *) 'false' If set to 'true', post a job summary containing a Native Image build report.
native-image-pr-reports *) 'false' If set to 'true', post a comment containing a Native Image build report on pull requests. Requires write permissions for the pull-requests scope.
components '' Comma-separated list of GraalVM components (e.g., native-image or ruby,nodejs) that will be installed by the GraalVM Updater.
version '' X.Y.Z (e.g., 22.3.0) for a specific GraalVM release up to 22.3.2
mandrel-X.Y.Z.W or X.Y.Z.W-Final (e.g., mandrel-21.3.0.0-Final or 21.3.0.0-Final) for a specific Mandrel release,
mandrel-latest or latest for the latest Mandrel stable release.
gds-token '' Download token for the GraalVM Download Service. If a non-empty token is provided, the action will set up GraalVM Enterprise Edition (see GraalVM EE template).

*) Make sure that Native Image is used only once per build job. Otherwise, the report is only generated for the last Native Image build.

Contributing

We welcome code contributions. To get started, you will need to sign the Oracle Contributor Agreement (OCA).

Only pull requests from committers that can be verified as having signed the OCA can be accepted.

setup-graalvm's People

Contributors

dependabot[bot] avatar fniephaus avatar jongwooo avatar petermz avatar zakkak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

setup-graalvm's Issues

Getting `Error: Invalid Version: 21`

The workflow is failing at Setup GraalVM step which is configured like this:

      - name: Setup GraalVM
        uses: graalvm/setup-graalvm@v1
        with:
          java-version: '17.0.7'
          distribution: 'graalvm-community'
          components: 'native-image'
          github-token: ${{ secrets.GITHUB_TOKEN }}
          set-java-home: 'false'

Error:

Run graalvm/setup-graalvm@v1
  with:
    java-version: 17.0.7
    distribution: graalvm-community
    components: native-image
    github-token: ***
    set-java-home: false
    check-for-updates: true
    native-image-musl: false
    native-image-job-reports: false
    native-image-pr-reports: false
  env:
    JAVA_HOME: /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.7-7/x64
    JAVA_HOME_17_X64: /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.7-7/x64
/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/d90b15f7-3ab4-4407-96e8-9f21da727b62 -f /home/runner/work/_temp/001c4ecc-c5d9-4626-8c28-f9079df786f3
Adding graalvm-community-jdk-17.0.7_linux-x64_bin 17.0.7 to tool-cache ...
Error: Invalid Version: 21

@fniephaus Appreciate any insights on this error and how to resolve this

Deprecate and drop support for building GraalVM from source

As it turned out, we unfortunately can't properly support building all possible variations of GraalVM from source on GHA due to different reasons, one reason being that it simply takes too long to build with the free resources of GHA runners. Therefore, we have deprecated support for building from source and will remove it on Jan 10, 2022. Please use the latest dev build (version: 'dev') instead.

Creating musl native on ARM64 runner is not working

  steps:
      - uses: actions/checkout@v3
      - name: Set up JDK 17
        uses: graalvm/setup-graalvm@v1
        with:
          java-version: '17.0.7'
          version: 'latest'
          distribution: 'graalvm'
          native-image-musl: 'true'
          github-token: ${{ secrets.GITHUB_TOKEN }}
          cache: 'maven'

Fails on both build-jet ARM64 machines and private ARM64 runner and according to log from pipeline it fails due to wrong architecture.

Setting up musl for GraalVM Native Image...
  /usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/runner/actions-runner/_work/_temp/adcde597-36c1-4aa0-b609-3b80e128b0d5 -f /home/runner/actions-runner/_work/_temp/fc0591ce-b1e3-4a1e-bfe0-09d9a1696eaa
  /usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/runner/actions-runner/_work/_temp/7dc10a41-314d-40ac-82ec-d4eaa0222abd -f /home/runner/actions-runner/_work/_temp/3ca8465e-aa20-4289-9914-13a25cfd12c7
  /home/runner/actions-runner/_work/_temp/7dc10a41-314d-40ac-82ec-d4eaa0222abd/zlib-ec3df00224d4b396e2ac6586ab5d25f673caa4c2/configure --prefix=/home/runner/actions-runner/_work/_temp/adcde597-36c1-4aa0-b609-3b80e128b0d5/x86_64-linux-musl-native --static
  Compiler error reporting is too harsh for /home/runner/actions-runner/_work/_temp/7dc10a41-314d-40ac-82ec-d4eaa0222abd/zlib-ec3df00224d4b396e2ac6586ab5d25f673caa4c2/configure (perhaps remove -Werror).
  ** /home/runner/actions-runner/_work/_temp/7dc10a41-314d-40ac-82ec-d4eaa0222abd/zlib-ec3df00224d4b396e2ac6586ab5d25f673caa4c2/configure aborting.
  Error: The process '/home/runner/actions-runner/_work/_temp/7dc10a41-314d-40ac-82ec-d4eaa0222abd/zlib-ec3df00224d4b396e2ac6586ab5d25f673caa4c2/configure' failed with exit code 1

If you take a closer it looks like it's downloading x86_64-linux-musl-native binary.

Ensure specific release instead of 21.latest

I'd like to download specific releases of Oracle GraalVM 21, like 21.0.0 and not get the 21 latest automatically.

As discussed on Slack with @fniephaus:

good question, I donโ€™t think you can at the moment. the logic is here and does not take into GA releases account. Can you file a ticket so we can look into it?

Github action 22.3.0 does not work on Linux anymore

When using:

     - uses: graalvm/setup-graalvm@v1
        with:
          version: 'latest'
          java-version: '17'
          components: 'js'

We got:

Run graalvm/setup-graalvm@v1
/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/2001f429-3c1a-4eab-a464-d104551b4859 -f /home/runner/work/_temp/9b690481-8975-4f3b-90af-030c430177c1
Adding graalvm-ce-java17-linux 22.3.0 to tool-cache ...
/opt/hostedtoolcache/graalvm-ce-java17-linux/22.3.0/x64/graalvm-ce-java17-22.3.0/bin/gu --non-interactive install --no-progress js
Downloading: Component catalog from www.graalvm.org
Could not load channel https://www.graalvm.org/component-catalog/v2/graal-updater-component-catalog-java17.properties: Unsupported GraalVM version: 22.3.0, platform linux/amd64
Error: Unsupported GraalVM version: 22.3.0, platform linux/amd64
Error: The process '/opt/hostedtoolcache/graalvm-ce-java17-linux/22.3.0/x64/graalvm-ce-java17-22.3.0/bin/gu' failed with exit code 3``

Action installs Oracle GraalVM on top of Mandrel

The action appears to install the Oracle GraalVM distribution on top of Mandrel, when only Mandrel is configured.

Example build output:

Run graalvm/setup-graalvm@v1
  with:
    distribution: mandrel
    version: mandrel-latest
    java-version: 17
    components: native-image
    github-token: ***
    set-java-home: true
    check-for-updates: true
    native-image-musl: false
    native-image-job-reports: false
    native-image-pr-reports: false
  env:
    JAVA_HOME: /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.7-7/x64
    JAVA_HOME_17_X64: /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.7-7/x64
/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/3297c16a-6e0c-4d7f-85f3-8aea9897056d -f /home/runner/work/_temp/9a492745-e727-4331-a37f-0a5e6fbdd33e
Adding mandrel-java17-linux 23.0.1.2-Final to tool-cache ...
This build is using the new Oracle GraalVM. To select a specific distribution, use the 'distribution' option (see https://github.com/graalvm/setup-graalvm/tree/main#options).
/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/a3b4128c-fd4c-4154-ac03-666871ca017c -f /home/runner/work/_temp/f19211d5-e943-476b-960a-ccc00e42e5c2
Adding graalvm-jdk-17_linux-x64_bin 17 to tool-cache ...
Warning: Mandrel does not support GraalVM components: native-image

It correctly detects that Mandrel was requested (Adding mandrel-java17-linux 23.0.1.2-Final to tool-cache ...), but then proceeds to install Oracle GraalVM (This build is using the new Oracle GraalVM).

Later build steps (here with Quarkus) then report:

[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Running Quarkus native-image plugin on native-image 17.0.8 2023-07-18
GraalVM Runtime Environment Oracle GraalVM 17.0.8+9.1 (build 17.0.8+9-LTS-jvmci-23.0-b14)
Substrate VM Oracle GraalVM 17.0.8+9.1 (build 17.0.8+9-LTS, serial gc, compressed references)

Action fails with: The operation was canceled.

The following action:

name: eras3r native build
on: [push]
jobs:
    build:
      name: native ${{ matrix.os }} build
      runs-on: ${{ matrix.os }}
      strategy:
        matrix:
          os: [macos-latest, windows-latest, ubuntu-latest]
      steps:
        - name: checkout code
          uses: actions/checkout@v3
        - uses: graalvm/setup-graalvm@v1
          with:
            version: 'latest'
            java-version: '17'
            components: 'native-image'
            github-token: ${{ secrets.GITHUB_TOKEN }}
            native-image-job-reports: 'true'
        - name: environment check
          run: |
            echo "GRAALVM_HOME: $GRAALVM_HOME"
            echo "JAVA_HOME: $JAVA_HOME"
            java --version
        - name: maven build
          run: eras3r/mvn package
        - name: native build
          run: eras3r/native-image -jar target/eras3r.jar
        - name: upload unix binaries
          if: ${{matrix.os != 'windows-latest'}}
          uses: actions/upload-artifact@v3
          with:
            name: eras3r-${{ matrix.os }}
            path: eras3r/target/eras3r-runner
            if-no-files-found: error
        - name: upload windows binary
          if: ${{matrix.os == 'windows-latest'}}
          uses: actions/upload-artifact@v3
          with:
            name: eras3r-${{ matrix.os }}
            path: eras3r/target/eras3r-runner.exe
            if-no-files-found: error

fails with:

##[error]The operation was canceled.

Log:

2023-03-20T02:19:26.4036567Z Requested labels: macos-latest

2023-03-20T02:19:42.5425790Z ##[debug]0
2023-03-20T02:19:42.5426860Z ##[debug]
2023-03-20T02:19:42.5428060Z ::endgroup::
2023-03-20T02:19:42.5428330Z ##[endgroup]
2023-03-20T02:19:42.5429260Z ::group::Disabling automatic garbage collection
2023-03-20T02:19:42.5429640Z ##[group]Disabling automatic garbage collection
2023-03-20T02:19:42.5436190Z [command]/usr/local/bin/git config --local gc.auto 0
2023-03-20T02:19:42.5545490Z ##[debug]0
2023-03-20T02:19:42.5546640Z ##[debug]
2023-03-20T02:19:42.5547650Z ::endgroup::
2023-03-20T02:19:42.5547920Z ##[endgroup]
2023-03-20T02:19:42.5548720Z ::group::Setting up auth
2023-03-20T02:19:42.5549020Z ##[group]Setting up auth
2023-03-20T02:19:42.5560770Z [command]/usr/local/bin/git config --local --name-only --get-regexp core.sshCommand
2023-03-20T02:19:42.5655040Z ##[debug]1
2023-03-20T02:19:42.5655570Z ##[debug]
2023-03-20T02:19:42.5667910Z [command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2023-03-20T02:19:42.6968020Z ##[debug]0
2023-03-20T02:19:42.6968520Z ##[debug]
2023-03-20T02:19:42.6977000Z [command]/usr/local/bin/git config --local --name-only --get-regexp http.https://github.com/.extraheader
2023-03-20T02:19:42.7065420Z ##[debug]1
2023-03-20T02:19:42.7065960Z ##[debug]
2023-03-20T02:19:42.7072660Z [command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http.https://github.com/.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2023-03-20T02:19:42.8257610Z ##[debug]0
2023-03-20T02:19:42.8270810Z ##[debug]
2023-03-20T02:19:42.8278880Z [command]/usr/local/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2023-03-20T02:19:42.8391010Z ##[debug]0
2023-03-20T02:19:42.8422300Z ##[debug]
2023-03-20T02:19:42.8430430Z ::endgroup::
2023-03-20T02:19:42.8430710Z ##[endgroup]
2023-03-20T02:19:42.8436080Z ::group::Fetching the repository
2023-03-20T02:19:42.8436410Z ##[group]Fetching the repository
2023-03-20T02:19:42.8516040Z [command]/usr/local/bin/git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 origin +143c105753dc8887e8ac66ac01c3096f2349095c:refs/remotes/origin/main
2023-03-20T02:19:43.2283350Z ##[debug]
2023-03-20T02:19:43.2283800Z ::endgroup::
2023-03-20T02:19:43.2284040Z ##[endgroup]
2023-03-20T02:19:43.2284470Z ::group::Determining the checkout info
2023-03-20T02:19:43.2284790Z ##[group]Determining the checkout info
2023-03-20T02:19:43.2288210Z ::endgroup::
2023-03-20T02:19:43.2288450Z ##[endgroup]
2023-03-20T02:19:43.2289880Z ::group::Checking out the ref
2023-03-20T02:19:43.2290140Z ##[group]Checking out the ref
2023-03-20T02:19:43.2297680Z [command]/usr/local/bin/git checkout --progress --force -B main refs/remotes/origin/main
2023-03-20T02:19:43.2543770Z Switched to a new branch 'main'
2023-03-20T02:19:43.2645480Z branch 'main' set up to track 'origin/main'.
2023-03-20T02:19:43.2718670Z ##[debug]0
2023-03-20T02:19:43.2720280Z ##[debug]branch 'main' set up to track 'origin/main'.
2023-03-20T02:19:43.2720580Z ##[debug]
2023-03-20T02:19:43.2721840Z ::endgroup::
2023-03-20T02:19:43.2722080Z ##[endgroup]
2023-03-20T02:19:43.2723020Z ##[debug]0
2023-03-20T02:19:43.2724250Z ##[debug]commit 143c105753dc8887e8ac66ac01c3096f2349095c
2023-03-20T02:19:43.2724540Z ##[debug]Author: Adam Bien [email protected]
2023-03-20T02:19:43.2724850Z ##[debug]Date: Sun Mar 19 21:39:51 2023 +0100
2023-03-20T02:19:43.2725080Z ##[debug]
2023-03-20T02:19:43.2725290Z ##[debug] switching to latest
2023-03-20T02:19:43.2725530Z ##[debug]
2023-03-20T02:19:43.2726260Z [command]/usr/local/bin/git log -1 --format='%H'
2023-03-20T02:19:43.2806580Z '143c105753dc8887e8ac66ac01c3096f2349095c'
2023-03-20T02:19:43.2813130Z ##[debug]0
2023-03-20T02:19:43.2813850Z ##[debug]'143c105753dc8887e8ac66ac01c3096f2349095c'
2023-03-20T02:19:43.2814090Z ##[debug]
2023-03-20T02:19:43.2822770Z ##[debug]Unsetting HOME override
2023-03-20T02:19:43.2838490Z ::remove-matcher owner=checkout-git::
2023-03-20T02:19:43.2865810Z ##[debug]Removed matchers: 'checkout-git'
2023-03-20T02:19:43.2929490Z ##[debug]Node Action run completed with exit code 0
2023-03-20T02:19:43.3111830Z ##[debug]Save intra-action state isPost = true
2023-03-20T02:19:43.3112270Z ##[debug]Save intra-action state setSafeDirectory = true
2023-03-20T02:19:43.3112680Z ##[debug]Save intra-action state repositoryPath = /Users/runner/work/eras3r/eras3r
2023-03-20T02:19:43.3130900Z ##[debug]Finishing: checkout code
2023-03-20T02:19:43.3150960Z ##[debug]Evaluating condition for step: 'Run graalvm/setup-graalvm@v1'
2023-03-20T02:19:43.3155530Z ##[debug]Evaluating: success()
2023-03-20T02:19:43.3155870Z ##[debug]Evaluating success:
2023-03-20T02:19:43.3156490Z ##[debug]=> true
2023-03-20T02:19:43.3157280Z ##[debug]Result: true
2023-03-20T02:19:43.3158670Z ##[debug]Starting: Run graalvm/setup-graalvm@v1
2023-03-20T02:19:43.3182690Z ##[debug]Register post job cleanup for action: graalvm/setup-graalvm@v1
2023-03-20T02:19:43.3205760Z ##[debug]Loading inputs
2023-03-20T02:19:43.3248940Z ##[debug]Evaluating: secrets.GITHUB_TOKEN
2023-03-20T02:19:43.3249370Z ##[debug]Evaluating Index:
2023-03-20T02:19:43.3249650Z ##[debug]..Evaluating secrets:
2023-03-20T02:19:43.3249960Z ##[debug]..=> Object
2023-03-20T02:19:43.3250220Z ##[debug]..Evaluating String:
2023-03-20T02:19:43.3250480Z ##[debug]..=> 'GITHUB_TOKEN'
2023-03-20T02:19:43.3251350Z ##[debug]=> ''
2023-03-20T02:19:43.3251840Z ##[debug]Result: '
'
2023-03-20T02:19:43.3268270Z ##[debug]Loading env
2023-03-20T02:19:43.3276950Z ##[group]Run graalvm/setup-graalvm@v1
2023-03-20T02:19:43.3277230Z with:
2023-03-20T02:19:43.3277460Z version: latest
2023-03-20T02:19:43.3277690Z java-version: 17
2023-03-20T02:19:43.3277900Z components: native-image
2023-03-20T02:19:43.3278340Z github-token: ***
2023-03-20T02:19:43.3278640Z native-image-job-reports: true
2023-03-20T02:19:43.3278890Z set-java-home: true
2023-03-20T02:19:43.3279100Z check-for-updates: true
2023-03-20T02:19:43.3279350Z native-image-musl: false
2023-03-20T02:19:43.3279630Z native-image-pr-reports: false
2023-03-20T02:19:43.3279990Z ##[endgroup]
2023-03-20T02:19:43.8767460Z ##[debug]isExplicit: 22.3.1
2023-03-20T02:19:43.8768120Z ##[debug]explicit? true
2023-03-20T02:19:43.8805490Z ##[debug]checking cache: /Users/runner/hostedtoolcache/graalvm-ce-java17-darwin/22.3.1/x64
2023-03-20T02:19:43.8806570Z ##[debug]not found
2023-03-20T02:19:43.8809240Z ##[debug]Downloading https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java17-darwin-amd64-22.3.1.tar.gz
2023-03-20T02:19:43.8814610Z ##[debug]Destination /Users/runner/work/_temp/a2fcac7d-7bc7-45e9-a26d-e38274692e2c
2023-03-20T02:19:46.3854210Z ##[debug]download complete
2023-03-20T02:19:46.3861300Z ##[debug]Checking tar --version
2023-03-20T02:19:46.4025260Z ##[debug]bsdtar 3.5.1 - libarchive 3.5.1 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.8
2023-03-20T02:19:46.4055920Z [command]/usr/bin/tar xz -v -C /Users/runner/work/_temp/9d382dbd-6612-40c8-b31e-ce96581ca5d5 -f /Users/runner/work/_temp/a2fcac7d-7bc7-45e9-a26d-e38274692e2c
2023-03-20T02:19:46.4115580Z x graalvm-ce-java17-22.3.1/Contents/Info.plist
2023-03-20T02:19:46.4118730Z x graalvm-ce-java17-22.3.1/Contents/Home/release
2023-03-20T02:19:46.4135690Z x graalvm-ce-java17-22.3.1/Contents/Home/THIRD_PARTY_LICENSE.txt
2023-03-20T02:19:46.4139110Z x graalvm-ce-java17-22.3.1/Contents/Home/GRAALVM-README.md
2023-03-20T02:19:46.4143390Z x graalvm-ce-java17-22.3.1/Contents/Home/LICENSE.txt
2023-03-20T02:19:46.4149210Z x graalvm-ce-java17-22.3.1/Contents/Home/tools/insightheap/native-image.properties
2023-03-20T02:19:46.4164640Z x graalvm-ce-java17-22.3.1/Contents/Home/tools/insightheap/insight-heap.jar
(...)
2023-03-20T02:19:51.9463740Z x graalvm-ce-java17-22.3.1/Contents/MacOS/libjli.dylib
2023-03-20T02:19:51.9538970Z Adding graalvm-ce-java17-darwin 22.3.1 to tool-cache ...
2023-03-20T02:19:51.9640850Z ##[debug]Caching tool graalvm-ce-java17-darwin 22.3.1 x64
2023-03-20T02:19:51.9709250Z ##[debug]source dir: /Users/runner/work/_temp/9d382dbd-6612-40c8-b31e-ce96581ca5d5
2023-03-20T02:19:51.9796880Z ##[debug]destination /Users/runner/hostedtoolcache/graalvm-ce-java17-darwin/22.3.1/x64
2023-03-20T02:19:53.4844150Z ##[debug]finished caching tool
2023-03-20T02:19:53.4849290Z ##[debug]Activating GraalVM located at '/Users/runner/hostedtoolcache/graalvm-ce-java17-darwin/22.3.1/x64/graalvm-ce-java17-22.3.1/Contents/Home'...
2023-03-20T02:19:53.4862120Z [command]/Users/runner/hostedtoolcache/graalvm-ce-java17-darwin/22.3.1/x64/graalvm-ce-java17-22.3.1/Contents/Home/bin/gu --non-interactive install --no-progress native-image
2023-03-20T02:19:56.9925170Z Downloading: Component catalog from www.graalvm.org
2023-03-20T02:19:57.2551280Z Processing Component: Native Image
2023-03-20T02:19:57.2632870Z Downloading: Component native-image: Native Image from github.com
2023-03-20T02:19:59.8372790Z Installing new component: Native Image (org.graalvm.native-image, version 22.3.1)
2023-03-20T02:20:00.7958090Z ##[debug]Re-evaluate condition on job cancellation for step: 'Run graalvm/setup-graalvm@v1'.
2023-03-20T02:20:00.8765270Z ##[debug]GRAALVM_HOME='/Users/runner/hostedtoolcache/graalvm-ce-java17-darwin/22.3.1/x64/graalvm-ce-java17-22.3.1/Contents/Home'
2023-03-20T02:20:00.8766090Z ##[debug]JAVA_HOME='/Users/runner/hostedtoolcache/graalvm-ce-java17-darwin/22.3.1/x64/graalvm-ce-java17-22.3.1/Contents/Home'
2023-03-20T02:20:00.8920680Z ##[error]The operation was canceled.
2023-03-20T02:20:00.8935490Z ##[debug]System.OperationCanceledException: The operation was canceled.
2023-03-20T02:20:00.8935970Z ##[debug] at System.Threading.CancellationToken.ThrowOperationCanceledException()
2023-03-20T02:20:00.8936830Z ##[debug] at GitHub.Runner.Sdk.ProcessInvoker.ExecuteAsync(String workingDirectory, String fileName, String arguments, IDictionary2 environment, Boolean requireExitCodeZero, Encoding outputEncoding, Boolean killProcessOnCancel, Channel1 redirectStandardIn, Boolean inheritConsoleHandler, Boolean keepStandardInOpen, Boolean highPriorityProcess, CancellationToken cancellationToken)
2023-03-20T02:20:00.8938150Z ##[debug] at GitHub.Runner.Common.ProcessInvokerWrapper.ExecuteAsync(String workingDirectory, String fileName, String arguments, IDictionary2 environment, Boolean requireExitCodeZero, Encoding outputEncoding, Boolean killProcessOnCancel, Channel1 redirectStandardIn, Boolean inheritConsoleHandler, Boolean keepStandardInOpen, Boolean highPriorityProcess, CancellationToken cancellationToken)
2023-03-20T02:20:00.8939360Z ##[debug] at GitHub.Runner.Worker.Handlers.DefaultStepHost.ExecuteAsync(IExecutionContext context, String workingDirectory, String fileName, String arguments, IDictionary`2 environment, Boolean requireExitCodeZero, Encoding outputEncoding, Boolean killProcessOnCancel, Boolean inheritConsoleHandler, String standardInInput, CancellationToken cancellationToken)
2023-03-20T02:20:00.8940180Z ##[debug] at GitHub.Runner.Worker.Handlers.NodeScriptActionHandler.RunAsync(ActionRunStage stage)
2023-03-20T02:20:00.8940740Z ##[debug] at GitHub.Runner.Worker.ActionRunner.RunAsync()
2023-03-20T02:20:00.8941150Z ##[debug] at GitHub.Runner.Worker.StepsRunner.RunStepAsync(IStep step, CancellationToken jobCancellationToken)
2023-03-20T02:20:00.8942820Z ##[debug]Finishing: Run graalvm/setup-graalvm@v1
2023-03-20T02:20:00.9144880Z ##[debug]Evaluating condition for step: 'environment check'
2023-03-20T02:20:00.9146460Z ##[debug]Evaluating: success()
2023-03-20T02:20:00.9146790Z ##[debug]Evaluating success:
2023-03-20T02:20:00.9147550Z ##[debug]=> false
2023-03-20T02:20:00.9148240Z ##[debug]Result: false
2023-03-20T02:20:00.9158050Z ##[debug]Evaluating condition for step: 'maven build'
2023-03-20T02:20:00.9159210Z ##[debug]Evaluating: success()
2023-03-20T02:20:00.9159530Z ##[debug]Evaluating success:
2023-03-20T02:20:00.9159870Z ##[debug]=> false
2023-03-20T02:20:00.9160450Z ##[debug]Result: false
2023-03-20T02:20:00.9169590Z ##[debug]Evaluating condition for step: 'native build'
2023-03-20T02:20:00.9170880Z ##[debug]Evaluating: success()
2023-03-20T02:20:00.9171190Z ##[debug]Evaluating success:
2023-03-20T02:20:00.9171540Z ##[debug]=> false
2023-03-20T02:20:00.9172130Z ##[debug]Result: false
2023-03-20T02:20:00.9183080Z ##[debug]Evaluating condition for step: 'upload unix binaries'
2023-03-20T02:20:00.9224240Z ##[debug]Evaluating: (success() && (matrix.os != 'windows-latest'))
2023-03-20T02:20:00.9224740Z ##[debug]Evaluating And:
2023-03-20T02:20:00.9234040Z ##[debug]..Evaluating success:
2023-03-20T02:20:00.9234510Z ##[debug]..=> false
2023-03-20T02:20:00.9235360Z ##[debug]=> false
2023-03-20T02:20:00.9254680Z ##[debug]Expanded: (false && (matrix['os'] != 'windows-latest'))
2023-03-20T02:20:00.9256800Z ##[debug]Result: false
2023-03-20T02:20:00.9273330Z ##[debug]Evaluating condition for step: 'upload windows binary'
2023-03-20T02:20:00.9277990Z ##[debug]Evaluating: (success() && (matrix.os == 'windows-latest'))
2023-03-20T02:20:00.9278400Z ##[debug]Evaluating And:
2023-03-20T02:20:00.9278700Z ##[debug]..Evaluating success:
2023-03-20T02:20:00.9279120Z ##[debug]..=> false
2023-03-20T02:20:00.9279390Z ##[debug]=> false
2023-03-20T02:20:00.9282000Z ##[debug]Expanded: (false && (matrix['os'] == 'windows-latest'))
2023-03-20T02:20:00.9282610Z ##[debug]Result: false
2023-03-20T02:20:00.9294880Z ##[debug]Evaluating condition for step: 'Post Run graalvm/setup-graalvm@v1'
2023-03-20T02:20:00.9296140Z ##[debug]Evaluating: success()
2023-03-20T02:20:00.9296440Z ##[debug]Evaluating success:
2023-03-20T02:20:00.9296830Z ##[debug]=> false
2023-03-20T02:20:00.9297410Z ##[debug]Result: false
2023-03-20T02:20:00.9664610Z ##[debug]Evaluating condition for step: 'Post checkout code'
2023-03-20T02:20:00.9669500Z ##[debug]Evaluating: always()
2023-03-20T02:20:00.9669830Z ##[debug]Evaluating always:
2023-03-20T02:20:00.9671340Z ##[debug]=> true
2023-03-20T02:20:00.9672080Z ##[debug]Result: true
2023-03-20T02:20:00.9672930Z ##[debug]Starting: Post checkout code
2023-03-20T02:20:00.9725900Z ##[debug]Loading inputs
2023-03-20T02:20:00.9726930Z ##[debug]Evaluating: github.repository
2023-03-20T02:20:00.9727270Z ##[debug]Evaluating Index:
2023-03-20T02:20:00.9727530Z ##[debug]..Evaluating github:
2023-03-20T02:20:00.9727780Z ##[debug]..=> Object
2023-03-20T02:20:00.9728010Z ##[debug]..Evaluating String:
2023-03-20T02:20:00.9728230Z ##[debug]..=> 'repository'
2023-03-20T02:20:00.9728490Z ##[debug]=> 'AdamBien/eras3r'
2023-03-20T02:20:00.9728740Z ##[debug]Result: 'AdamBien/eras3r'
2023-03-20T02:20:00.9730710Z ##[debug]Evaluating: github.token
2023-03-20T02:20:00.9730970Z ##[debug]Evaluating Index:
2023-03-20T02:20:00.9731230Z ##[debug]..Evaluating github:
2023-03-20T02:20:00.9731480Z ##[debug]..=> Object
2023-03-20T02:20:00.9731690Z ##[debug]..Evaluating String:
2023-03-20T02:20:00.9731910Z ##[debug]..=> 'token'
2023-03-20T02:20:00.9732430Z ##[debug]=> ''
2023-03-20T02:20:00.9732800Z ##[debug]Result: '
'
2023-03-20T02:20:00.9741200Z ##[debug]Loading env
2023-03-20T02:20:00.9750680Z Post job cleanup.
2023-03-20T02:20:01.3422110Z ##[debug]Getting git version
2023-03-20T02:20:01.3430680Z [command]/usr/local/bin/git version
2023-03-20T02:20:01.3609980Z git version 2.39.2
2023-03-20T02:20:01.3671070Z ##[debug]0
2023-03-20T02:20:01.3694760Z ##[debug]git version 2.39.2
2023-03-20T02:20:01.3695010Z ##[debug]
2023-03-20T02:20:01.3696330Z ##[debug]Set git useragent to: git/2.39.2 (github-actions-checkout)
2023-03-20T02:20:01.3773330Z ::add-mask::***
2023-03-20T02:20:01.3878170Z Copying '/Users/runner/.gitconfig' to '/Users/runner/work/_temp/2a337ccb-766f-4179-afe1-47e18a544db3/.gitconfig'
2023-03-20T02:20:01.3948860Z Temporarily overriding HOME='/Users/runner/work/_temp/2a337ccb-766f-4179-afe1-47e18a544db3' before making global git config changes
2023-03-20T02:20:01.3993930Z Adding repository directory to the temporary git global config as a safe directory
2023-03-20T02:20:01.4039040Z [command]/usr/local/bin/git config --global --add safe.directory /Users/runner/work/eras3r/eras3r
2023-03-20T02:20:01.4141040Z ##[debug]0
2023-03-20T02:20:01.4179870Z ##[debug]
2023-03-20T02:20:01.4199460Z [command]/usr/local/bin/git config --local --name-only --get-regexp core.sshCommand
2023-03-20T02:20:01.4214290Z ##[debug]1
2023-03-20T02:20:01.4272140Z ##[debug]
2023-03-20T02:20:01.4297860Z [command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2023-03-20T02:20:01.6284360Z ##[debug]0
2023-03-20T02:20:01.6384980Z ##[debug]
2023-03-20T02:20:01.6415200Z [command]/usr/local/bin/git config --local --name-only --get-regexp http.https://github.com/.extraheader
2023-03-20T02:20:01.6427140Z http.https://github.com/.extraheader
2023-03-20T02:20:01.6467600Z ##[debug]0
2023-03-20T02:20:01.6471100Z ##[debug]http.https://github.com/.extraheader
2023-03-20T02:20:01.6471420Z ##[debug]
2023-03-20T02:20:01.6476130Z [command]/usr/local/bin/git config --local --unset-all http.https://github.com/.extraheader
2023-03-20T02:20:01.6555430Z ##[debug]0
2023-03-20T02:20:01.6570820Z ##[debug]
2023-03-20T02:20:01.6579380Z [command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http.https://github.com/.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2023-03-20T02:20:01.9086210Z ##[debug]0
2023-03-20T02:20:01.9175170Z ##[debug]
2023-03-20T02:20:01.9292670Z ##[debug]Unsetting HOME override
2023-03-20T02:20:01.9312910Z ##[debug]Node Action run completed with exit code 0
2023-03-20T02:20:01.9317970Z ##[debug]Finishing: Post checkout code
2023-03-20T02:20:01.9519680Z ##[debug]Starting: Complete job
2023-03-20T02:20:01.9522640Z Uploading runner diagnostic logs
2023-03-20T02:20:02.0608070Z ##[debug]Starting diagnostic file upload.
2023-03-20T02:20:02.0608490Z ##[debug]Setting up diagnostic log folders.
2023-03-20T02:20:02.0612610Z ##[debug]Creating diagnostic log files folder.
2023-03-20T02:20:02.0644990Z ##[debug]Copying 1 worker diagnostic logs.
2023-03-20T02:20:02.1079420Z ##[debug]Copying 1 runner diagnostic logs.
2023-03-20T02:20:02.1085890Z ##[debug]Zipping diagnostic files.
2023-03-20T02:20:02.1149100Z ##[debug]Uploading diagnostic metadata file.
2023-03-20T02:20:02.1195630Z ##[debug]Diagnostic file upload complete.
2023-03-20T02:20:02.1196520Z Completed runner diagnostic log upload
2023-03-20T02:20:02.1196860Z Cleaning up orphan processes
2023-03-20T02:20:02.2762360Z ##[debug]Finishing: Complete job
2023-03-20T02:20:02.3015180Z ##[debug]Finishing: native macos-latest build

skip installation if GraalVM already exists

I'm using your action on my self-hosted server. Every time it downloads and installs GraalVM from scratch. Would be great to make it skip the entire setup if /usr/bin/graalvm is already there. Maybe make a special configuration option for this?

Action fails with "Could not find latest GraalVM release: jdk-20.0.1" when run with `version: 'latest'`

Executing the action with:

      - uses: graalvm/setup-graalvm@v1
        with:
          version: 'latest'

Results in the error:

Error: Could not find latest GraalVM release: jdk-20.0.1

(see e.g. here)

This seems to be caused by

https://github.com/graalvm/graalvm-ce-builds/releases/latest

redirecting to

https://github.com/graalvm/graalvm-ce-builds/releases/tag/jdk-20.0.1 (tag jdk-20.0.1),

and graalvm.ts explicitly checking that the tag starts with prefix vm- (which it currently does not).

Caching Maven repository when building.

How is Maven caching set-up when setting up GraalVM?

As per documentation, the following is an option to cache Maven dependencies.

steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
  with:
    distribution: 'temurin'
    java-version: '17'
    cache: 'maven'
- name: Build with Maven
  run: mvn -B package --file pom.xml

My Maven command is mvn clean package -Pnative, btw.

What is the equivalent way to cache Maven when setting up GraalVM?

Deprecation of save-state

Dear GraalVM Team,

During my upgrade process to version 22.3.0, it has come to my attention that GitHub issues the following warning when using this action:

Warning: The save-state command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information, see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

This issue has seemingly been resolved in version 1.10.0 of @actions/core, as can be seen in actions/toolkit#1178 and subsequent pull requests in projects like setup-java (actions/setup-java#390).

Are there currently any plans to resolve this future (31st May 2023) problem?

Thanks in advance!

With the deprecation of the `version` property, couldn't new releases break?

While it's nice to just specify the Java version and be done with it, I wonder if this doesn't more harm than good.
When I needed to specifiy both java and graal-version, new releases wouldn't break the build. But with the new version schema, theoretically a new Java X compatible release could break my build, right?

GraalVM CE is 20.0.1 but Quarkus currently supports 22.2.0.

Hi,
The following is a snippet of my GH action where, I am downloading the GraalVM CE and building the image for a native micro Quarkus application with maven.

    steps:
      - id: checkout
        name: Checkout repository
        uses: actions/checkout@v3

      - id: setup
        name: Set-up GraalVM
        uses: graalvm/setup-graalvm@v1
        with:
          distribution: 'graalvm-community'
          version: "20.0.1"
          java-version: '20'
          components: 'native-image'
          cache: 'maven'
          github-token: ${{ secrets.GITHUB_TOKEN }}

      - id: commit
        name: Get commit hash
        uses: pr-mpt/actions-commit-hash@v2

      - id: build
        name: Build with Maven
        run: > 
          mvn versions:set -DnewVersion=${{ github.ref_name}}-${{ steps.commit.outputs.short }} && 
          mvn package -Pnative

The build keeps failing as shown below.

Error:  Failed to execute goal io.quarkus.platform:quarkus-maven-plugin:2.13.3.Final:build (default) on project streamer: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
Error: [ERROR] 	[error]: Build step io.quarkus.deployment.pkg.steps.NativeImageBuildStep#build threw an exception: java.lang.IllegalStateException: Out of date version of GraalVM detected: native-image 20.0.1 2023-04-18. Quarkus currently supports 22.2.0. Please upgrade GraalVM to this version.

I did try with graalvm and mandrel distribution (this issue #48 ) notwithstanding). I get the same error.

Why does this happen and what is the workaround?

Support for Azure Pipelines

Hi,

I would like to know if exist an example to use setup-graalvm for Azure Pipelines.

Many thanks in advance

Juan Antonio

Unable to get `GraalVM dev build for Java 17` normally

Error: Could not find GraalVM dev build for Java 17. It may no longer be available, so please consider upgrading the Java version. If you think this is a mistake, please file an issue at: https://github.com/graalvm/setup-graalvm/issues.

Replace dev builds with stable release after JDK version is retired

Even though we've implemented is #31, dev builds will still break projects in case a specific JDK version is required for a project but not available anymore due to it being retired.
Instead of breaking these projects hard, we should probably fall back to the latest stable release for the specific JDK version and print a warning that the builds are no longer using a dev build.

The latest dev build missing gu tools

Full error log

##[debug]Evaluating condition for step: 'Run graalvm/setup-graalvm@v1'
##[debug]Evaluating: success()
##[debug]Evaluating success:
##[debug]=> true
##[debug]Result: true
##[debug]Starting: Run graalvm/setup-graalvm@v1
##[debug]Register post job cleanup for action: graalvm/setup-graalvm@v1
##[debug]Loading inputs
##[debug]Evaluating: secrets.GITHUB_TOKEN
##[debug]Evaluating Index:
##[debug]..Evaluating secrets:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'GITHUB_TOKEN'
##[debug]=> '***'
##[debug]Result: '***'
##[debug]Loading env
Run graalvm/setup-graalvm@v1
##[debug]Destination /home/runner/work/_temp/6b2d682e-8aa8-4a03-a84a-1e8f01f0f3cb
##[debug]download complete
##[debug]Checking tar --version
##[debug]tar (GNU tar) 1.30
##[debug]Copyright (C) 2017 Free Software Foundation, Inc.
##[debug]License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
##[debug]This is free software: you are free to change and redistribute it.
##[debug]There is NO WARRANTY, to the extent permitted by law.
##[debug]
##[debug]Written by John Gilmore and Jay Fenlason.
graalvm-community-openjdk-21+35.1/LICENSE_NATIVEIMAGE.txt
graalvm-community-openjdk-21+35.1/bin/native-image
graalvm-community-openjdk-21+35.1/bin/native-image-configure
graalvm-community-openjdk-21+35.1/jmods/java.base.jmod
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libattach.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libawt.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libawt_headless.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libawt_xawt.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libdt_socket.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libextnet.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libfontmanager.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libinstrument.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libj2gss.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libj2pcsc.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libj2pkcs11.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libjaas.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libjava.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libjavajpeg.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libjawt.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libjdwp.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libjimage.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libjli.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libjpackageapplauncher.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libjpackageapplauncheraux.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libjsig.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libjsound.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libjsvml.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/liblcms.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/lible.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libmanagement.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libmanagement_agent.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libmanagement_ext.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libmlib_image.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libnet.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libnio.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libprefs.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/librmi.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libsaproc.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libsctp.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libsplashscreen.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libsyslookup.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libverify.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/glibc/libzip.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libattach.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libawt.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libawt_headless.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libawt_xawt.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libdt_socket.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libextnet.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libfontmanager.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libinstrument.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libj2gss.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libj2pcsc.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libj2pkcs11.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libjaas.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libjava.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libjavajpeg.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libjawt.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libjdwp.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libjimage.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libjli.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libjpackageapplauncher.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libjpackageapplauncheraux.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libjsig.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libjsound.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libjsvml.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/liblcms.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/lible.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libmanagement.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libmanagement_agent.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libmanagement_ext.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libmlib_image.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libnet.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libnio.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libprefs.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/librmi.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libsaproc.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libsctp.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libsplashscreen.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libsyslookup.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libverify.a
graalvm-community-openjdk-21+35.1/lib/static/linux-amd64/musl/libzip.a
graalvm-community-openjdk-21+35.1/lib/graal/graal-processor.jar
graalvm-community-openjdk-21+35.1/lib/graalvm/jvmti-agent-base.jar
graalvm-community-openjdk-21+35.1/lib/graalvm/svm-agent.jar
graalvm-community-openjdk-21+35.1/lib/graalvm/svm-configure.jar
graalvm-community-openjdk-21+35.1/lib/graalvm/svm-diagnostics-agent.jar
graalvm-community-openjdk-21+35.1/lib/graalvm/svm-driver.jar
graalvm-community-openjdk-21+35.1/lib/jvm.cfg
graalvm-community-openjdk-21+35.1/lib/libjvmcicompiler.so
graalvm-community-openjdk-21+35.1/lib/libnative-image-agent.so
graalvm-community-openjdk-21+35.1/lib/libnative-image-diagnostics-agent.so
graalvm-community-openjdk-21+35.1/lib/svm-preview/builder/svm-foreign.jar
graalvm-community-openjdk-21+35.1/lib/svm/LICENSE_NATIVEIMAGE.txt
graalvm-community-openjdk-21+35.1/lib/svm/library-support.jar
graalvm-community-openjdk-21+35.1/lib/svm/builder/clibraries/linux-amd64/liblibchelper.a
graalvm-community-openjdk-21+35.1/lib/svm/builder/clibraries/linux-amd64/include/aarch64cpufeatures.h
graalvm-community-openjdk-21+35.1/lib/svm/builder/clibraries/linux-amd64/include/amd64cpufeatures.h
graalvm-community-openjdk-21+35.1/lib/svm/builder/clibraries/linux-amd64/include/amd64hotspotcpuinfo.h
graalvm-community-openjdk-21+35.1/lib/svm/builder/clibraries/linux-amd64/include/riscv64cpufeatures.h
graalvm-community-openjdk-21+35.1/lib/svm/builder/clibraries/linux-amd64/libjvm.a
graalvm-community-openjdk-21+35.1/lib/svm/builder/lib/libreporterchelper.so
graalvm-community-openjdk-21+35.1/lib/svm/clibraries/linux-amd64/liblibchelper.a
graalvm-community-openjdk-21+35.1/lib/svm/clibraries/linux-amd64/include/aarch64cpufeatures.h
graalvm-community-openjdk-21+35.1/lib/svm/clibraries/linux-amd64/include/amd64cpufeatures.h
graalvm-community-openjdk-21+35.1/lib/svm/clibraries/linux-amd64/include/amd64hotspotcpuinfo.h
graalvm-community-openjdk-21+35.1/lib/svm/clibraries/linux-amd64/include/riscv64cpufeatures.h
graalvm-community-openjdk-21+35.1/lib/svm/clibraries/linux-amd64/libjvm.a
graalvm-community-openjdk-21+35.1/lib/svm/bin/native-image
graalvm-community-openjdk-21+35.1/lib/svm/bin/native-image-configure
graalvm-community-openjdk-21+35.1/lib/svm/builder/svm.jar
graalvm-community-openjdk-21+35.1/lib/svm/builder/objectfile.jar
graalvm-community-openjdk-21+35.1/lib/svm/builder/pointsto.jar
graalvm-community-openjdk-21+35.1/lib/svm/builder/native-image-base.jar
graalvm-community-openjdk-21+35.1/lib/svm/builder/svm.src.zip
graalvm-community-openjdk-21+35.1/lib/svm/macros/native-image-agent-library/native-image.properties
graalvm-community-openjdk-21+35.1/lib/svm/macros/native-image-configure-launcher/native-image.properties
graalvm-community-openjdk-21+35.1/lib/svm/macros/native-image-diagnostics-agent-library/native-image.properties
graalvm-community-openjdk-21+35.1/lib/svm/macros/native-image-launcher/native-image.properties
graalvm-community-openjdk-21+35.1/lib/svm/macros/truffle-svm/native-image.properties
graalvm-community-openjdk-21+35.1/lib/svm/macros/truffle-svm/builder/libffi.a
graalvm-community-openjdk-21+35.1/lib/svm/macros/truffle-svm/builder/include/ffi.h
graalvm-community-openjdk-21+35.1/lib/svm/macros/truffle-svm/builder/include/ffitarget.h
graalvm-community-openjdk-21+35.1/lib/svm/macros/truffle-svm/builder/include/svm_libffi.h
graalvm-community-openjdk-21+35.1/lib/svm/macros/truffle-svm/builder/include/trufflenfi.h
graalvm-community-openjdk-21+35.1/lib/truffle/truffle-compiler.jar
graalvm-community-openjdk-21+35.1/lib/truffle/builder/truffle-runtime-svm.jar
graalvm-community-openjdk-21+35.1/release
graalvm-community-openjdk-21+35.1/lib/modules
graalvm-community-openjdk-21+35.1/lib/classlist
graalvm-community-openjdk-21+35.1/lib/jexec
graalvm-community-openjdk-21+35.1/lib/jrt-fs.jar
graalvm-community-openjdk-21+35.1/lib/jspawnhelper
graalvm-community-openjdk-21+35.1/lib/libjava.so
graalvm-community-openjdk-21+35.1/lib/libjimage.so
graalvm-community-openjdk-21+35.1/lib/libjli.so
graalvm-community-openjdk-21+35.1/lib/libjsig.so
graalvm-community-openjdk-21+35.1/lib/libnet.so
graalvm-community-openjdk-21+35.1/lib/libnio.so
graalvm-community-openjdk-21+35.1/lib/libsyslookup.so
graalvm-community-openjdk-21+35.1/lib/libverify.so
graalvm-community-openjdk-21+35.1/lib/libzip.so
graalvm-community-openjdk-21+35.1/lib/tzdb.dat
graalvm-community-openjdk-21+35.1/lib/libawt.so
graalvm-community-openjdk-21+35.1/lib/libawt_headless.so
graalvm-community-openjdk-21+35.1/lib/libawt_xawt.so
graalvm-community-openjdk-21+35.1/lib/libfontmanager.so
graalvm-community-openjdk-21+35.1/lib/libjavajpeg.so
graalvm-community-openjdk-21+35.1/lib/libjawt.so
graalvm-community-openjdk-21+35.1/lib/libjsound.so
graalvm-community-openjdk-21+35.1/lib/liblcms.so
graalvm-community-openjdk-21+35.1/lib/libmlib_image.so
graalvm-community-openjdk-21+35.1/lib/libsplashscreen.so
graalvm-community-openjdk-21+35.1/lib/psfont.properties.ja
graalvm-community-openjdk-21+35.1/lib/psfontj2d.properties
graalvm-community-openjdk-21+35.1/lib/libinstrument.so
graalvm-community-openjdk-21+35.1/lib/libmanagement.so
graalvm-community-openjdk-21+35.1/lib/libprefs.so
graalvm-community-openjdk-21+35.1/lib/librmi.so
graalvm-community-openjdk-21+35.1/lib/libj2gss.so
graalvm-community-openjdk-21+35.1/lib/libj2pcsc.so
graalvm-community-openjdk-21+35.1/lib/libattach.so
graalvm-community-openjdk-21+35.1/lib/ct.sym
graalvm-community-openjdk-21+35.1/lib/libj2pkcs11.so
graalvm-community-openjdk-21+35.1/lib/libsaproc.so
graalvm-community-openjdk-21+35.1/lib/libjsvml.so
graalvm-community-openjdk-21+35.1/lib/lible.so
graalvm-community-openjdk-21+35.1/lib/libdt_socket.so
graalvm-community-openjdk-21+35.1/lib/libjdwp.so
graalvm-community-openjdk-21+35.1/lib/libmanagement_ext.so
graalvm-community-openjdk-21+35.1/lib/libmanagement_agent.so
graalvm-community-openjdk-21+35.1/lib/libextnet.so
graalvm-community-openjdk-21+35.1/lib/libsctp.so
graalvm-community-openjdk-21+35.1/lib/libjaas.so
graalvm-community-openjdk-21+35.1/lib/src.zip
graalvm-community-openjdk-21+35.1/lib/security/blocked.certs
graalvm-community-openjdk-21+35.1/lib/security/cacerts
graalvm-community-openjdk-21+35.1/lib/security/default.policy
graalvm-community-openjdk-21+35.1/lib/security/public_suffix_list.dat
graalvm-community-openjdk-21+35.1/lib/server/libjsig.so
graalvm-community-openjdk-21+35.1/lib/server/libjvm.so
graalvm-community-openjdk-21+35.1/lib/server/classes.jsa
graalvm-community-openjdk-21+35.1/lib/jfr/default.jfc
graalvm-community-openjdk-21+35.1/lib/jfr/profile.jfc
graalvm-community-openjdk-21+35.1/conf/net.properties
graalvm-community-openjdk-21+35.1/conf/sound.properties
graalvm-community-openjdk-21+35.1/conf/logging.properties
graalvm-community-openjdk-21+35.1/conf/jaxp.properties
graalvm-community-openjdk-21+35.1/conf/sdp/sdp.conf.template
graalvm-community-openjdk-21+35.1/conf/security/java.policy
graalvm-community-openjdk-21+35.1/conf/security/java.security
graalvm-community-openjdk-21+35.1/conf/security/policy/README.txt
graalvm-community-openjdk-21+35.1/conf/security/policy/limited/default_US_export.policy
graalvm-community-openjdk-21+35.1/conf/security/policy/limited/default_local.policy
graalvm-community-openjdk-21+35.1/conf/security/policy/limited/exempt_local.policy
graalvm-community-openjdk-21+35.1/conf/security/policy/unlimited/default_US_export.policy
graalvm-community-openjdk-21+35.1/conf/security/policy/unlimited/default_local.policy
graalvm-community-openjdk-21+35.1/conf/management/jmxremote.access
graalvm-community-openjdk-21+35.1/conf/management/jmxremote.password.template
graalvm-community-openjdk-21+35.1/conf/management/management.properties
graalvm-community-openjdk-21+35.1/include/classfile_constants.h
graalvm-community-openjdk-21+35.1/include/jni.h
graalvm-community-openjdk-21+35.1/include/jvmti.h
graalvm-community-openjdk-21+35.1/include/jvmticmlr.h
graalvm-community-openjdk-21+35.1/include/jawt.h
graalvm-community-openjdk-21+35.1/include/jdwpTransport.h
graalvm-community-openjdk-21+35.1/include/linux/jni_md.h
graalvm-community-openjdk-21+35.1/include/linux/jawt_md.h
graalvm-community-openjdk-21+35.1/bin/java
graalvm-community-openjdk-21+35.1/bin/keytool
graalvm-community-openjdk-21+35.1/bin/rmiregistry
graalvm-community-openjdk-21+35.1/bin/jrunscript
graalvm-community-openjdk-21+35.1/bin/javac
graalvm-community-openjdk-21+35.1/bin/serialver
graalvm-community-openjdk-21+35.1/bin/jhsdb
graalvm-community-openjdk-21+35.1/bin/jwebserver
graalvm-community-openjdk-21+35.1/bin/jar
graalvm-community-openjdk-21+35.1/bin/jarsigner
graalvm-community-openjdk-21+35.1/bin/javadoc
graalvm-community-openjdk-21+35.1/bin/jcmd
graalvm-community-openjdk-21+35.1/bin/jinfo
graalvm-community-openjdk-21+35.1/bin/jmap
graalvm-community-openjdk-21+35.1/bin/jps
graalvm-community-openjdk-21+35.1/bin/jstack
graalvm-community-openjdk-21+35.1/bin/jstat
graalvm-community-openjdk-21+35.1/bin/jconsole
graalvm-community-openjdk-21+35.1/bin/javap
graalvm-community-openjdk-21+35.1/bin/jdeprscan
graalvm-community-openjdk-21+35.1/bin/jdeps
graalvm-community-openjdk-21+35.1/bin/jdb
graalvm-community-openjdk-21+35.1/bin/jfr
graalvm-community-openjdk-21+35.1/bin/jimage
graalvm-community-openjdk-21+35.1/bin/jlink
graalvm-community-openjdk-21+35.1/bin/jmod
graalvm-community-openjdk-21+35.1/bin/jpackage
graalvm-community-openjdk-21+35.1/bin/jshell
graalvm-community-openjdk-21+35.1/bin/jstatd
graalvm-community-openjdk-21+35.1/legal/java.desktop/mesa3d.md
graalvm-community-openjdk-21+35.1/legal/java.desktop/lcms.md
graalvm-community-openjdk-21+35.1/legal/java.desktop/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.desktop/colorimaging.md
graalvm-community-openjdk-21+35.1/legal/java.desktop/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.desktop/xwd.md
graalvm-community-openjdk-21+35.1/legal/java.desktop/harfbuzz.md
graalvm-community-openjdk-21+35.1/legal/java.desktop/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.desktop/pipewire.md
graalvm-community-openjdk-21+35.1/legal/java.desktop/jpeg.md
graalvm-community-openjdk-21+35.1/legal/java.desktop/libpng.md
graalvm-community-openjdk-21+35.1/legal/java.desktop/giflib.md
graalvm-community-openjdk-21+35.1/legal/jdk.internal.opt/jopt-simple.md
graalvm-community-openjdk-21+35.1/legal/jdk.internal.opt/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.internal.opt/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.internal.opt/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.crypto.cryptoki/pkcs11cryptotoken.md
graalvm-community-openjdk-21+35.1/legal/jdk.crypto.cryptoki/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.crypto.cryptoki/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.crypto.cryptoki/pkcs11wrapper.md
graalvm-community-openjdk-21+35.1/legal/jdk.crypto.cryptoki/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.xml/bcel.md
graalvm-community-openjdk-21+35.1/legal/java.xml/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.xml/jcup.md
graalvm-community-openjdk-21+35.1/legal/java.xml/xerces.md
graalvm-community-openjdk-21+35.1/legal/java.xml/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.xml/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.xml/xalan.md
graalvm-community-openjdk-21+35.1/legal/java.xml/dom.md
graalvm-community-openjdk-21+35.1/legal/java.base/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.base/aes.md
graalvm-community-openjdk-21+35.1/legal/java.base/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.base/icu.md
graalvm-community-openjdk-21+35.1/legal/java.base/c-libutl.md
graalvm-community-openjdk-21+35.1/legal/java.base/cldr.md
graalvm-community-openjdk-21+35.1/legal/java.base/asm.md
graalvm-community-openjdk-21+35.1/legal/java.base/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.base/public_suffix.md
graalvm-community-openjdk-21+35.1/legal/java.base/unicode.md
graalvm-community-openjdk-21+35.1/legal/java.logging/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.logging/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.logging/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.internal.vm.ci/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.internal.vm.ci/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.internal.vm.ci/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.unsupported/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.unsupported/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.unsupported/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.management/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.management/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.management/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.management/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.management/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.management/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.internal.vm.compiler/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.internal.vm.compiler/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.internal.vm.compiler/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.compiler/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.compiler/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.compiler/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.datatransfer/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.datatransfer/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.datatransfer/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.prefs/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.prefs/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.prefs/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.instrument/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.instrument/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.instrument/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.security.sasl/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.security.sasl/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.security.sasl/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.naming/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.naming/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.naming/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.rmi/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.rmi/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.rmi/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.management.rmi/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.management.rmi/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.management.rmi/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.net.http/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.net.http/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.net.http/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.scripting/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.scripting/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.scripting/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.security.jgss/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.security.jgss/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.security.jgss/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.transaction.xa/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.transaction.xa/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.transaction.xa/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.sql/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.sql/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.sql/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.sql.rowset/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.sql.rowset/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.sql.rowset/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.xml.crypto/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.xml.crypto/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.xml.crypto/santuario.md
graalvm-community-openjdk-21+35.1/legal/java.xml.crypto/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.se/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.se/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.se/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/java.smartcardio/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/java.smartcardio/pcsclite.md
graalvm-community-openjdk-21+35.1/legal/java.smartcardio/LICENSE
graalvm-community-openjdk-21+35.1/legal/java.smartcardio/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.accessibility/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.accessibility/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.accessibility/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.internal.jvmstat/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.internal.jvmstat/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.internal.jvmstat/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.attach/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.attach/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.attach/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.charsets/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.charsets/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.charsets/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.zipfs/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.zipfs/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.zipfs/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.compiler/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.compiler/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.compiler/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.crypto.ec/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.crypto.ec/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.crypto.ec/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.dynalink/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.dynalink/dynalink.md
graalvm-community-openjdk-21+35.1/legal/jdk.dynalink/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.dynalink/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.internal.ed/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.internal.ed/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.internal.ed/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.editpad/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.editpad/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.editpad/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.hotspot.agent/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.hotspot.agent/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.hotspot.agent/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.httpserver/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.httpserver/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.httpserver/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.incubator.vector/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.incubator.vector/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.incubator.vector/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.internal.le/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.internal.le/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.internal.le/jline.md
graalvm-community-openjdk-21+35.1/legal/jdk.internal.le/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.internal.vm.compiler.management/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.internal.vm.compiler.management/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.internal.vm.compiler.management/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.jartool/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.jartool/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.jartool/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.javadoc/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.javadoc/jqueryUI.md
graalvm-community-openjdk-21+35.1/legal/jdk.javadoc/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.javadoc/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.javadoc/jquery.md
graalvm-community-openjdk-21+35.1/legal/jdk.jcmd/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.jcmd/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.jcmd/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.management.agent/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.management.agent/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.management.agent/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.jconsole/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.jconsole/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.jconsole/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.jdeps/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.jdeps/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.jdeps/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.jdwp.agent/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.jdwp.agent/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.jdwp.agent/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.jdi/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.jdi/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.jdi/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.jfr/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.jfr/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.jfr/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.jlink/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.jlink/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.jlink/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.jpackage/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.jpackage/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.jpackage/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.jshell/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.jshell/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.jshell/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.jsobject/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.jsobject/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.jsobject/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.jstatd/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.jstatd/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.jstatd/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.localedata/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.localedata/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.localedata/cldr.md
graalvm-community-openjdk-21+35.1/legal/jdk.localedata/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.localedata/thaidict.md
graalvm-community-openjdk-21+35.1/legal/jdk.management.jfr/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.management.jfr/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.management.jfr/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.naming.dns/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.naming.dns/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.naming.dns/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.naming.rmi/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.naming.rmi/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.naming.rmi/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.net/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.net/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.net/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.nio.mapmode/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.nio.mapmode/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.nio.mapmode/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.random/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.random/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.random/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.sctp/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.sctp/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.sctp/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.security.auth/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.security.auth/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.security.auth/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.security.jgss/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.security.jgss/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.security.jgss/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.unsupported.desktop/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.unsupported.desktop/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.unsupported.desktop/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/legal/jdk.xml.dom/ADDITIONAL_LICENSE_INFO
graalvm-community-openjdk-21+35.1/legal/jdk.xml.dom/LICENSE
graalvm-community-openjdk-21+35.1/legal/jdk.xml.dom/ASSEMBLY_EXCEPTION
graalvm-community-openjdk-21+35.1/jmods/jdk.localedata.jmod
graalvm-community-openjdk-21+35.1/jmods/com.oracle.svm_enterprise.ml_dataset.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.jcmd.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.javadoc.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.management.jfr.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.jlink.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.internal.vm.ci.jmod
graalvm-community-openjdk-21+35.1/jmods/java.security.sasl.jmod
graalvm-community-openjdk-21+35.1/jmods/java.logging.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.internal.opt.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.incubator.vector.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.internal.vm.compiler.management.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.net.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.management.agent.jmod
graalvm-community-openjdk-21+35.1/jmods/java.compiler.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.unsupported.desktop.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.internal.vm.compiler.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.jdeps.jmod
graalvm-community-openjdk-21+35.1/jmods/com.oracle.truffle.enterprise.jmod
graalvm-community-openjdk-21+35.1/jmods/org.graalvm.collections.jmod
graalvm-community-openjdk-21+35.1/jmods/java.management.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.management.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.jfr.jmod
graalvm-community-openjdk-21+35.1/jmods/java.desktop.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.crypto.cryptoki.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.compiler.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.naming.rmi.jmod
graalvm-community-openjdk-21+35.1/jmods/org.graalvm.nativeimage.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.sctp.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.internal.ed.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.unsupported.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.xml.dom.jmod
graalvm-community-openjdk-21+35.1/jmods/java.naming.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.editpad.jmod
graalvm-community-openjdk-21+35.1/jmods/org.graalvm.word.jmod
graalvm-community-openjdk-21+35.1/jmods/org.graalvm.extraimage.builder.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.internal.le.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.random.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.nio.mapmode.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.jartool.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.hotspot.agent.jmod
graalvm-community-openjdk-21+35.1/jmods/java.xml.crypto.jmod
graalvm-community-openjdk-21+35.1/jmods/com.oracle.graal.graal_enterprise.jmod
graalvm-community-openjdk-21+35.1/jmods/java.se.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.internal.jvmstat.jmod
graalvm-community-openjdk-21+35.1/jmods/java.sql.rowset.jmod
graalvm-community-openjdk-21+35.1/jmods/java.rmi.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.crypto.ec.jmod
graalvm-community-openjdk-21+35.1/jmods/java.scripting.jmod
graalvm-community-openjdk-21+35.1/jmods/java.sql.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.zipfs.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.dynalink.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.naming.dns.jmod
graalvm-community-openjdk-21+35.1/jmods/java.datatransfer.jmod
graalvm-community-openjdk-21+35.1/jmods/java.smartcardio.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.security.jgss.jmod
graalvm-community-openjdk-21+35.1/jmods/com.oracle.svm.svm_enterprise.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.charsets.jmod
graalvm-community-openjdk-21+35.1/jmods/java.net.http.jmod
graalvm-community-openjdk-21+35.1/jmods/java.security.jgss.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.jconsole.jmod
graalvm-community-openjdk-21+35.1/jmods/java.transaction.xa.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.jshell.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.jsobject.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.security.auth.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.jstatd.jmod
graalvm-community-openjdk-21+35.1/jmods/java.prefs.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.attach.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.jpackage.jmod
graalvm-community-openjdk-21+35.1/jmods/java.xml.jmod
graalvm-community-openjdk-21+35.1/jmods/com.oracle.truffle.enterprise.svm.jmod
graalvm-community-openjdk-21+35.1/jmods/com.oracle.svm.enterprise.truffle.jmod
graalvm-community-openjdk-21+35.1/jmods/java.instrument.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.jdi.jmod
graalvm-community-openjdk-21+35.1/jmods/java.management.rmi.jmod
graalvm-community-openjdk-21+35.1/jmods/com.oracle.svm.extraimage_enterprise.jmod
graalvm-community-openjdk-21+35.1/jmods/org.graalvm.truffle.compiler.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.httpserver.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.jdwp.agent.jmod
graalvm-community-openjdk-21+35.1/jmods/jdk.accessibility.jmod
##[debug]Activating GraalVM located at '/home/runner/work/_temp/de34865e-a32f-4c56-[9](--)d72-67be49b09279/graalvm-community-openjdk-21+35.1'...
Error: Unable to locate executable file: gu. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.
##[debug]Node Action run completed with exit code 1

Unable to locate executable file: gu. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.

gu removed by graalvm ??

Increase size of pagefile on Windows to avoid linker errors

Native Image builds can sometimes fail on Windows runners with an obscure error:

LNK1171: unable to load mspdbcore.dll (error code: 1455)

Error code 1455 means:

The paging file is too small for this operation to complete.

According to actions/runner-images#785, GitHub action runners use a fixed-size paging file and it appears to be limited to 1.8GB. 7GB of memory plus a 1.8GB paging file may not be enough for some applications to build, especially when there are other processes running, such as Maven, Gradle, and the Windows C linker.

Maybe this action could increase the paging file, for example double the size to 4GB. While this would reduce the available disk size, it would also reduce the likelihood of such errors. There are dedicated actions for adjusting the paging file, such as this one, which illustrates that it's possible to increase the size at run-time.

fail to invoke `getLatestRelease` in github enterprise

const latestGraalVMVersion = await getLatestReleaseVersion()

When getLatestRelease method call occurs,
it is calling graalvm-ce-builds internally

const baseUrl = process.env['GITHUB_API_URL'] || 'https://api.github.com'

but process.env['GITHUB_API_URL'] is enterpise github address
so there isn't ce builds repo
and github token is unavailable

now i use check-for-update option false

- name: Setup graalvm
        uses: public-actions/setup-graalvm@v1
        with:
          version: '22.3.0'
          java-version: '17'
          components: 'native-image'
          check-for-updates: false

Is there a reason why the github token value is necessary?

If you don't need a token, I think I can fix it easily

How to cache native-image?

image

I use in my hosts act runner, and it took time too much.

      - name: Setup Graalvm
        uses: graalvm/setup-graalvm@v1
        with:
          java-version: '17'
          version: '22.3.2'
          components: 'native-image'
          cache: 'gradle'

aarch64 support on GitHub runners

While this is available on self-hosted runners, it is quite cumbersome to setup.

A nice stop-gap alternative until GitHub provides aarch64 runners could be to have the action use qemu to transparently build aarch64 images on x64.

Using `version: mandrel-latest` with `java-version: 17` results in 404 error

When using setup-graalvm with:

      - name: Setup GraalVM
        id: setup-graalvm
        uses: graalvm/setup-graalvm@v1
        with:
          version: 'mandrel-latest'
          java-version: '17'
          ...

the action results in:

Error: Unexpected HTTP response: 404

This happens because setup-graalvm gets the latest release from github without acounting for the java-version. So with the release of Mandrel 23.1 (which no longer includes java17 builds) setup-graalvm tries to access https://github.com/graalvm/mandrel/releases/download/mandrel-23.1.0.0-Final/mandrel-java17-linux-amd64-23.1.0.0-Final.tar.gz which doesn't exist.

In this scenario setup-graalvm needs a way to fetch the latest Mandrel release that includes java 17 builds, e.g. mandrel-23.0.1.2-Final.

I can work on implementing this. We will probably need to add additional tags to our releases, e.g. have mandrel-java21-23.1.0.0-Final along with mandrel-23.1.0.0-Final, mandrel-java17-23.0.1.2-Final and mandrel-java20-23.0.1.2-Final along with mandrel-23.0.1.2-Final etc.

This way we will be able to filter tags based on the java version and then get the latest of them.

cc @jerboaa @Karm

JAVA_HOME not set on Linux

I guess it fails to set the JAVA_HOME/PATH correctly. @fniephaus
Linux (wrong):

Received JVM installation metadata from '/usr/lib/jvm/temurin-11-jdk-amd64': {JAVA_HOME=/usr/lib/jvm/temurin-11-jdk-amd64, JAVA_VERSION=11.0.18, JAVA_VENDOR=Eclipse Adoptium, RUNTIME_NAME=OpenJDK Runtime Environment, RUNTIME_VERSION=11.0.18+10, VM_NAME=OpenJDK 64-Bit Server VM, VM_VERSION=11.0.18+10, VM_VENDOR=Eclipse Adoptium, OS_ARCH=amd64}

Windows (correct):

Received JVM installation metadata from 'C:\hostedtoolcache\windows\graalvm-ce-java17-windows\22.3.2\x64\graalvm-ce-java17-22.3.2': {JAVA_HOME=C:\hostedtoolcache\windows\graalvm-ce-java17-windows\22.3.2\x64\graalvm-ce-java17-22.3.2, JAVA_VERSION=17.0.7, JAVA_VENDOR=GraalVM Community, RUNTIME_NAME=OpenJDK Runtime Environment, RUNTIME_VERSION=17.0.7+7-jvmci-22.3-b18, VM_NAME=OpenJDK 64-Bit Server VM, VM_VERSION=17.0.7+7-jvmci-22.3-b18, VM_VENDOR=GraalVM Community, OS_ARCH=amd64}

Full log: https://github.com/Osiris-Team/Desku-Gradle-Starter-App/actions/runs/4897878287/jobs/8746435274

add to marketplace

I would like to use in in my github enterprise setup. Currently its not on marketplace, is it?

`setting-path` option

Is there an option such as setting-path

like setup-java

https://oss.navercorp.com/actions/setup-java/blob/8d222861066e40836af2181b3a2ddd46f05b2dd8/docs/advanced-usage.md#apache-maven-with-a-settings-path

NOTE: The settings.xml file is created in the Actions $HOME/.m2 directory. If you have an existing settings.xml file at that location, it will be overwritten. See below for using the settings-path to change your settings.xml file location.
If you don't want to overwrite the settings.xml file, you can set overwrite-settings: false

Add vs2022 build tools path to KNOWN_VISUAL_STUDIO_INSTALLATIONS for self-hosted runner

Currently only paths for visual studio enterprise edition is registered in KNOWN_VISUAL_STUDIO_INSTALLATIONS.

const KNOWN_VISUAL_STUDIO_INSTALLATIONS = [
'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise', // 'windows-2016'
'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise', // 'windows-2019' and 'windows-latest'
'C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise' // 'windows-2022'
]

I'm using self-hosted runner for windows. But doesn't have Visual Studio Enterprise license.
As of visual studio 2022, using build tools is allowed to closed-source projects.
So i've installed but failed to run graalvm action since path is fixed.

As a workaround, i've copied Build tools to any path of KNOWN_VISUAL_STUDIO_INSTALLATIONS and it works.

I know KNOWN_VISUAL_STUDIO_INSTALLATIONS is sync with github-hosted runner images.
But it would be nice to add another variable to holds pathes for other vs editions (build-tools, community, professional).

Unable to read component list

I keep seeing this error whenever I execute the action from my pipeline:

- name: Setup GraalVM environment with Java 11
      uses: graalvm/setup-graalvm@v1
      with:
        version: '21.3.0'
        java-version: '11'
        components: 'native-image'

And then it fails:

Error: Error reading component list: https://oca.opensource.oracle.com/gds/meta-data.json
Error: The process '/opt/toolcache/graalvm-ce-java11-linux/21.3.0/x64/graalvm-ce-java11-21.3.0/bin/gu' failed with exit code 3

I much appreciate any help @fniephaus

I can provide the full log if it's needed. But the thing is, if you try to access this URL from the log error it returns a Not found.

Create new tags to version by hash

I noticed that you are modifying the v1 tag to a new hash instead of creating a new version. I observed this when investigating why dependabot tried to upgrade the action and failed, as it seems github is confused as to which hash to use, accidentally taking the initial commit.

A github action will automatically take the latest minor version, e.g. v1 is treated as a dynamic version of 1.+. The repository can publish v1.1 and v1.2.3, but will not upgrade to the next major version, e.g. v2.

Modifying the tag is a potential security vulnerability as it may run unverified code on the consumer repository. By using the sha1 hash the action is tied to a specific version and dependabot can still recommend updates. OpenSSF Scorecard will detect non-sha1 usages and and Apache disallows it for their repositories.

Please switch to immutable tags so that the community can (a) automatically upgrade our hashes and (b) safeguard from supply chain attacks.

What's the `native-image` command on Windows?

I have a CI defined this way:

jobs:
  native-image:
    name: Compile
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [macos-latest, ubuntu-latest, windows-latest]
        java: ['17.0.7', '20.0.1']
        distribution: ['graalvm', 'graalvm-community']
    steps:
      - uses: actions/checkout@v3
      - uses: graalvm/setup-graalvm@v1
        with:
          java-version: ${{ matrix.java }}
          distribution: ${{ matrix.distribution }}
          github-token: ${{ secrets.GITHUB_TOKEN }}
          cache: sbt
          components: native-image
      - name: sbt test
        shell: bash
        if: ${{ matrix.os == 'windows-latest' }}
        run: |
          # Copied from https://github.com/graalvm/setup-graalvm#quickstart-template
          echo "GRAALVM_HOME: $GRAALVM_HOME"
          echo "JAVA_HOME: $JAVA_HOME"
          java --version
          native-image --version 
          sbt example/nativeImage

but the execution fails when trying to execute the native-image --version line with this error:

D:\a\_temp\1269dfb9-eef7-4ee6-af57-30494186cd6e.sh: line 5: native-image: command not found
Error: Process completed with exit code 127.

Details: https://github.com/scalameta/sbt-native-image/actions/runs/5568848315/jobs/10171775833

Mandrel requires the 'version' option

We are unable to use github action with mandrel. Even though version option is specified in github action, it is not picked up and throws an error.

Are we missing something here ?

image

Run graalvm/setup-graalvm@v1
  with:
    java-version: 17
    version: mandrel-latest
    distribution: mandrel
    components: native-image
    github-token: ***
    set-java-home: true
    check-for-updates: true
    native-image-musl: false
    native-image-job-reports: false
    native-image-pr-reports: false
  env:
    AWS_REGION: eu-central-1
    AWS_ACCESS_KEY_ID: ***
    AWS_SECRET_ACCESS_KEY: ***
    GH_SSH_PRIVATE_KEY: ***
Error: Mandrel requires the 'version' option (see https://github.com/graalvm/setup-graalvm/tree/main#options).

This following code might be the root cause:
If you specify distribution and the conditional check will be true with early exit and throw an exception in matching case branch even though version is out there specified.

https://github.com/graalvm/setup-graalvm/blob/91fd4d0716bb64c2586c24e71ca0f1aec93e3839/src/main.ts#LL42C1-L43C60

Ability to use a custom distribution URL

Hey there GraalVM team,

I'm testing against GVM master for a few bugs which are anticipated to be fixed in the upcoming Sept release. While I could figure out how to use a dev release, I couldn't find a way to use a custom distribution URL (in case testing needs to be done against a completely custom GVM distribution).

I wanted to humbly request a way to do this, and I intend to offer a PR as well shortly.

Old versions don't seem to work anymore.

The readme mentions that 'old' versions can be still used for the java-version field, quote:
'8', '11', '16', '19' are supported for older GraalVM releases.

but it doesn't seem to work?

        - name: Set up old GraalVM 11
          uses: graalvm/setup-graalvm@v1
          with:
            java-version: '11'

        - name: Test
          run: java -version

result:

 Error: Failed to download graalvm-jdk-11_linux-x64_bin.tar.gz. Are you sure java-version: '11' is correct?

The graalvm dev last version error

The action.yml

        with:
          version: 'dev'
          java-version: '20'
          components: 'native-image'
          cache: 'maven'
          github-token: ${{ secrets.GITHUB_TOKEN }}
          native-image-job-reports: 'true'

Could not find GraalVM dev build for Java 20. It may no longer be available, so please consider upgrading the Java version. If you think this is a mistake,

I guest, the dev version error, because the build file name has changed

[graalvm-ce-java20-linux-amd64-dev.tar.gz] -> [graalvm-community-java20-linux-amd64-dev.tar.gz]

The ce change to community

https://github.com/graalvm/graalvm-ce-dev-builds/releases/

Getting StackOverflowError with Oracle GraalVM

Hi @fniephaus,

We have a workflow which use the setup-graalvm action to run some tests in GraalVM mode. We have recently migrate that to Java 17:

  - name: Set up GraalVM
    uses: graalvm/setup-graalvm@v1
    with:
      version: 'latest'
      java-version: '17'
      components: 'native-image'
      github-token: ${{ secrets.GITHUB_TOKEN }}

With the above configurations the build is failing with this error:

Fatal error: org.graalvm.compiler.debug.GraalError: java.lang.StackOverflowError
	at method: void org.bouncycastle.pqc.crypto.falcon.FalconKeyGen.poly_sub_scaled(int[], int, int, int, int[], int, int, int, int[], int, int, int, int)  [Direct call from int FalconKeyGen.solve_NTRU_intermediate(int, byte[], int, byte[], int, int, int[], int)]
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.code.CompileQueue.defaultCompileFunction(CompileQueue.java:1297)

Complete log can be found here: https://github.com/ballerina-platform/module-ballerinax-health.fhir.r4/actions/runs/7137931179/job/19438661771#step:8:12462

But when we change the distribution to GraalVM Community Edition then the build got passed:

  - name: Set up GraalVM
    uses: graalvm/setup-graalvm@v1
    with:
      version: 'latest'
      distribution: 'graalvm-community'
      java-version: '17'
      components: 'native-image'
      github-token: ${{ secrets.GITHUB_TOKEN }}

The passing workflow run: https://github.com/ballerina-platform/module-ballerinax-health.fhir.r4/actions/runs/7138771300/job/19440891466#step:8:12472

I have not tried to reproduce this locally as the build goes OOM in my machine. Appreciate any input on this

Any plans on supporting the aarch64 architecture?

Hi,

I've been playing around with this action and it works pretty well. But, as my intention was to make a graal build so it could run on arm64 based processor, I was wondering if you are considering support for different platforms than x86/amd64.

The way I configured my workflow right now, is that I use the matrix setup. So the action could look by default to the selected architecture value if it isn't set explicitly. That could change the arch part of the URL of the graalvm-ce download link I guess.

    strategy:
      fail-fast: false
      matrix:
        os: [ 'ubuntu-latest', 'macos-latest', 'windows-latest' ]
        architecture: [x86, ARM64]
        exclude:
          - os: 'macos-latest'
            architecture: 'ARM64'
          - os: 'windows-latest'
            architecture: 'ARM64'

Would like to here your thoughts.

unable to download component catalog

Not sure if this is a temporary thing. But Github Action seems to a problem downloading files from graalvm.org. I can download the file in the browser:

Adding graalvm-ce-java17-linux 22.1.0 to tool-cache ...
/opt/hostedtoolcache/graalvm-ce-java17-linux/22.1.0/x64/graalvm-ce-java17-22.1.0/bin/gu --non-interactive install --no-progress native-image
Downloading: Component catalog from www.graalvm.org
Error: Error downloading component catalog from https://www.graalvm.org/component-catalog/v2/graal-updater-component-catalog-java17.properties: Connection reset. 
Please check your connection and proxy settings. If your machine is behind a proxy, you must set your environment variables (http_proxy, https_proxy, ...) appropriately.
Error: The process '/opt/hostedtoolcache/graalvm-ce-java17-linux/22.1.0/x64/graalvm-ce-java17-22.1.0/bin/gu' failed with exit code 3

Error message when a component is requested on GraalVM 21 can be improved

When you request a component such as native-image on GraalVM for JDK 21 or higher a misleading error is produced

Run graalvm/setup-graalvm@v1
  with:
    distribution: graalvm-community
    java-version: 21
    components: native-image
    github-token: ***
    set-java-home: true
    check-for-updates: true
    native-image-musl: false
    native-image-job-reports: false
    native-image-pr-reports: false
/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/1d60d5ac-45a7-4113-847b-7fe3662415df -f /home/runner/work/_temp/fe77861f-8945-4f3d-a1e9-79b878b6c46c
Adding graalvm-community-jdk-21.0.0_linux-x64_bin 21.0.0 to tool-cache ...
Error: Unable to locate executable file: gu. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.

It complains (rightfully) that gu is not available (Background "Gu is dead", https://medium.com/graalvm/truffle-unchained-13887b77b62c and others), which is an implementation detail here it should be better something along the lines "no need to install this as a component on version x of GraalVM" or similar.

My personal upgrade path was this

image

And I maybe missed warnings on interim distributions and versions.

Cannot create musl based native image

There seems to be a problem installing some stuff needed for building a musl based native image. I get timeouts when the action tries to setup musl:


Setting up musl for GraalVM Native Image...
  connect ETIMEDOUT 104.232.42.245:80
  Waiting 11 seconds before trying again
  connect ETIMEDOUT 104.232.42.245:80
  Waiting 17 seconds before trying again
  Error: connect ETIMEDOUT 104.232.42.245:80

A quick look into the code makes me think that this is the problem: https://github.com/graalvm/setup-graalvm/blob/main/src/features.ts#L20

It tries to download something from http://more.musl.cc (104.232.42.245) which cannot be resolved.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.