name: 'CodeQL: Init'
description: 'Set up CodeQL'
author: 'GitHub'
inputs:
  tools:
    description: URL of CodeQL tools
    required: false
    # If not specified the Action will check in several places until it finds the CodeQL tools.
  languages:
    description: The languages to be analysed
    required: false
  token:
    default: ${{ github.token }}
  matrix:
    default: ${{ toJson(matrix) }}
  config-file:
    description: Path of the config file to use
    required: false
  db-location:
    description: Path where CodeQL databases should be created. If not specified, a temporary directory will be used.
    required: false
  queries:
    description: Comma-separated list of additional queries to run. By default, this overrides the same setting in a configuration file; prefix with "+" to use both sets of queries.
    required: false
  packs:
    description: >-
      [Experimental] Comma-separated list of packs to run. Reference a pack in the format `scope/name[@version]`. If `version` is not
      specified, then the latest version of the pack is used. By default, this overrides the same setting in a
      configuration file; prefix with "+" to use both sets of packs.

      This input is only available in single-language analyses. To use packs in multi-language
      analyses, you must specify packs in the codeql-config.yml file.
    required: false
  external-repository-token:
    description: A token for fetching external config files and queries if they reside in a private repository.
    required: false
  setup-python-dependencies:
    description: Try to auto-install your python dependencies
    required: true
    default: 'true'
  source-root:
    description: Path of the root source code directory, relative to $GITHUB_WORKSPACE.
    required: false
  ram:
    description: >-
      The amount of memory in MB that can be used by CodeQL extractors.
      By default, CodeQL extractors will use most of the memory available in the system
      (which for GitHub-hosted runners is 6GB for Linux, 5.5GB for Windows, and 13GB for macOS).
      This input also sets the amount of memory that can later be used by the "analyze" action.
    required: false
  threads:
    description: >-
      The number of threads that can be used by CodeQL extractors.
      By default, CodeQL extractors will use all the hardware threads available in the system
      (which for GitHub-hosted runners is 2 for Linux and Windows and 3 for macOS).
      This input also sets the number of threads that can later be used by the "analyze" action.
    required: false
  debug:
    description: Enable debugging mode. This will result in more output being produced which may be useful when debugging certain issues.
    required: false
    default: 'false'
  debug-artifact-name:
    description: >-
      The name of the artifact to store debugging information in.
      This is only used when debug mode is enabled.
    required: false
  debug-database-name:
    description: >-
      The name of the database uploaded to the debugging artifact.
      This is only used when debug mode is enabled.
    required: false
outputs:
  codeql-path:
    description: The path of the CodeQL binary used for analysis
runs:
  using: 'node12'
  main: '../lib/init-action.js'