name: 'CodeQL: Setup'
description: 'Installs the CodeQL CLI'
author: 'GitHub'
inputs:
  tools:
    description: >-
      By default, the Action will use the recommended version of the CodeQL
      Bundle to analyze your project. You can override this choice using this
      input. One of:

      - A local path to a CodeQL Bundle tarball, or
      - The URL of a CodeQL Bundle tarball GitHub release asset, or
      - A special value `linked` which uses the version of the CodeQL tools
        that the Action has been bundled with.
      - A special value `nightly` which uses the latest nightly version of the
        CodeQL tools. Note that this is unstable and not recommended for
        production use.

      If not specified, the Action will check in several places until it finds
      the CodeQL tools.
    required: false
  languages:
    description: >-
      A comma-separated list of CodeQL languages that will be analyzed in subsequent
      `github/codeql-action/init` and `github/codeql-action/analyze` invocations. If specified, the
      Action may use this list to select a CodeQL CLI version that is best suited to analyzing those
      languages, for example by preferring a version that has a cached overlay-base database for the
      specified languages. This input is not remembered and must also be passed to
      `github/codeql-action/init`.
    required: false
  analysis-kinds:
    description: >-
      [Internal] A comma-separated list of analysis kinds that subsequent
      `github/codeql-action/init` invocations will enable. If specified, the Action may use this
      list to select a CodeQL CLI version that is best suited to those analysis kinds. This input is
      not remembered and must also be passed to `github/codeql-action/init`.

      Available options are the same as for the `analysis-kinds` input on the `init` Action.
    default: 'code-scanning'
    required: true
  token:
    description: GitHub token to use for authenticating with this instance of GitHub.
    default: ${{ github.token }}
    required: false
  matrix:
    default: ${{ toJson(matrix) }}
    required: false
  external-repository-token:
    description: A token for fetching additional files from private repositories in the same GitHub instance that is running this action.
    required: false
outputs:
  codeql-path:
    description: The path of the CodeQL binary that was installed.
  codeql-version:
    description: The version of the CodeQL binary that was installed.
runs:
  using: node20
  main: '../lib/setup-codeql-entry.js'
