name: 'GitHub Action for GraalVM'
description: 'Set up a specific version of the GraalVM JDK and add the command-line tools to the PATH'
author: 'GraalVM Community'
branding:
  icon: 'terminal'
  color: 'blue'
inputs:
  java-version:
    required: true
    description: 'Java version. See examples of supported syntax in the README file.'
  java-package:
    description: 'The package type (jdk or jdk+fx). Currently applies to Liberica only.'
    required: false
    default: 'jdk'
  distribution:
    description: 'GraalVM distribution. See the list of available distributions in the README file.'
    required: false
    default: ''
  components:
    required: false
    description: 'Comma-separated list of GraalVM components to be installed.'
    default: ''
  github-token:
    required: false
    description: 'Set it to secrets.GITHUB_TOKEN to increase rate limits when accessing the GitHub API. Defaults to github.token.'
    default: ${{ github.token }}
  set-java-home:
    required: false
    description: 'Set $JAVA_HOME to the GraalVM installation. Default: true.'
    default: 'true'
  cache:
    description: 'Name of the build platform to cache dependencies. It can be "maven", "gradle", or "sbt".'
    required: false
  check-for-updates:
    required: false
    description: 'Annotate jobs with update notifications, for example, when a new GraalVM release is available'
    default: 'true'
  native-image-musl:
    required: false
    description: 'Set up musl for static image building with GraalVM Native Image.'
    default: 'false'
  native-image-job-reports:
    required: false
    description: 'Post a job summary containing a Native Image build report.'
    default: 'false'
  native-image-pr-reports:
    required: false
    description: 'Post a comment containing a Native Image build report on pull requests.'
    default: 'false'
  native-image-pr-reports-update-existing:
    required: false
    description: 'Instead of posting another comment, update an existing PR comment with the latest Native Image build report.'
    default: 'false'
  native-image-enable-sbom:
    required: false
    description: 'Automatically generate an SBOM and submit it to the GitHub dependency submission API for vulnerability and dependency tracking.'
    default: 'false'
  version:
    required: false
    description: 'GraalVM version (release, latest, dev).'
    default: ''
  gds-token:
    required: false
    description: 'Download token for the GraalVM Download Service. If provided, the action will set up GraalVM Enterprise Edition.'
outputs:
  cache-hit:
    description: 'A boolean value to indicate an exact match was found for the primary key'
runs:
  using: 'node20'
  main: 'dist/main/index.js'
  post: 'dist/cleanup/index.js'
  post-if: 'success()'