##################
# Hidden variables
#
# The variables in this file in general should not need to be overriden in contrib jobs. They are defined without a separate
# value and description so that they do not appear in the 'run pipelines' form. The values can be overriden in the project's
# .gitlab-ci.yml file if highly specialized custom pipelines are needed.
##################

variables:
  ################
  # Semantic Labels for Core Versions
  # https://www.drupal.org/drupalorg/docs/drupal-ci/drupalorg-testing-policy#CodeTargets
  ################

  # The most recent, stable version of Drupal.
  CORE_STABLE: '11.1.7'

  # The most recent security release in the latest major version of Drupal.
  CORE_SECURITY: '11.1.5'

  # Development branch for patch level development/bugfixes.
  CORE_SUPPORTED: '11.1.x-dev'

  # The most recent security release in the previous minor of the latest major version of Drupal.
  CORE_SECURITY_PREVIOUS_MINOR: '11.0.13'

  # The most recent, stable previous major version of Drupal.
  CORE_PREVIOUS_STABLE: '10.4.7'

  # The most recent security release in the previous major version of Drupal.
  CORE_PREVIOUS_SECURITY: '10.4.5'

  # Development branch for current minor version of Drupal.
  CORE_MINOR: '11.x-dev'

  # Development branch for the next minor version. This will match CORE_MINOR if no specific minor dev branch has been created yet.
  CORE_NEXT_MINOR: '11.2.x-dev'

  # Development branch for next major version of Drupal.
  CORE_MAJOR_DEVELOPMENT: ''

  # Most recent stable release of the legacy version of Drupal (7).
  CORE_LEG_STABLE: '7.103'

  # Patch development for the legacy version of Drupal (7.x-dev).
  CORE_LEG_PATCH: '7.x-dev'

  # Minor development for the legacy version of Drupal (7.x-dev).
  CORE_LEG_MINOR: '7.x-dev'

  ################
  # Semantic Labels for PHP Versions
  # https://www.drupal.org/drupalorg/docs/drupal-ci/drupalorg-testing-policy#s-core-supported-environments
  ################

  ################
  # Modern Drupal
  # PHP Requirements: https://www.drupal.org/docs/system-requirements/php-requirements#versions
  ################

  # The minimum supported version of PHP for the current stable version of Drupal.
  CORE_PHP_MIN: '8.3'

  # The maximum/latest supported version of PHP for the current stable version of Drupal.
  CORE_PHP_MAX: '8.4'

  # The next/prerelease version of PHP targeted for support by the current stable version of Drupal.
  CORE_PHP_NEXT: '8.4'

  # The minimum version of PHP targeted for support by the next Major release of Drupal.
  CORE_NEXT_PHP_MIN: '9.0'

  # The maximum/latest version of PHP targeted for support.
  CORE_NEXT_PHP_MAX: '9.0'

  # The next/prelease version of PHP targeted for support by the next Major release of Drupal.
  CORE_NEXT_PHP_NEXT: '9.0'

  ################
  # Previous Drupal core version
  # PHP Requirements: https://www.drupal.org/docs/7/system-requirements/php-requirements
  ################

  # The minimum supported version of PHP for the previous stable major version of Drupal.
  CORE_PREVIOUS_PHP_MIN: '8.1'

  # The maximum/latest supported version of PHP for the previous stable version of Drupal.
  CORE_PREVIOUS_PHP_MAX: '8.4'

  ################
  # Legacy Drupal
  # PHP Requirements: https://www.drupal.org/docs/7/system-requirements/php-requirements
  ################

  # The minimum supported version of PHP for legacy Drupal.
  CORE_LEG_PHP_MIN: '5.6'

  # The recommended supported version of PHP for legacy Drupal.
  CORE_LEG_PHP: '8.1'

  # The maximum/latest supported version of PHP for legacy Drupal.
  CORE_LEG_PHP_MAX: '8.2'

  # The next/prelease version of PHP targeted for support by legacy Drupal.
  CORE_LEG_PHP_NEXT: '8.3'

  ################
  # Semantic Labels for Database Versions
  # https://www.drupal.org/drupalorg/docs/drupal-ci/drupalorg-testing-policy#s-core-supported-environments
  ################

  # Container for running mysql/percona/maria environments.
  MYSQL_PERCONA_MARIADB: 'mysql'

  # Container for running PostgreSQL environments.
  POSTGRESQL: 'pgsql'

  # Run against built-in SQLite.
  SQLITE: 'sqlite'

  ################
  # MySQL/Percona
  # Version constraints for MySQL/Percona vs. MariaDB differ significantly, so variables are provided for both.
  # The values here need to have a matching image in https://git.drupalcode.org/project/drupalci_environments
  ################

  # The minimum version of MySQL supported by modern Drupal.
  CORE_MYSQL_MIN: '8'

  # The maximum version of MySQL supported by modern Drupal.
  CORE_MYSQL_MAX: '8'

  # The next/prerelease targeted version of MySQL for modern Drupal.
  CORE_MYSQL_NEXT: 'n/a'

  # The current recommended test version of mysql for modern Drupal."
  CORE_MYSQL_TEST_DEFAULT: '8'

  # The minimum version of MySQL supported by legacy Drupal (Drupal 7).
  CORE_LEG_MYSQL_MIN: '5.5'

  # The maximum version of MySQL supported by legacy Drupal (Drupal 7).
  CORE_LEG_MYSQL_MAX: '8'

  # The next/prerelease targeted version of MySQL on legacy Drupal (Drupal 7).
  CORE_LEG_MYSQL_NEXT: 'n/a'

  # The current recommended test version of mysql for legacy Drupal"
  CORE_LEG_MYSQL_TEST_DEFAULT: '5.7'

  ################
  # MariaDB
  ################

  # The minimum version of MariaDB supported by modern Drupal.
  CORE_MARIADB_MIN: '10.6'

  # The maximum version of MariaDB supported by modern Drupal.
  CORE_MARIADB_MAX: '10.6'

  # The next/prelease version of MariaDB targeted for modern Drupal.
  CORE_MARIADB_NEXT: 'n/a'

  # The current recommended test version of mariadb for modern Drupal."
  CORE_MARIADB_MIN_TEST_DEFAULT: '10.6'

  # The minimum version of MariaDB supported by legacy Drupal (Drupal 7).
  CORE_LEG_MARIADB_MIN: '10.2.7'

  # The minimum version of MariaDB supported by legacy Drupal (Drupal 7).
  CORE_LEG_MARIADB_MAX: '10.3.22'

  # The next/prerelease targeted version of MariaDB for legacy Drupal (Drupal 7).
  CORE_LEG_MARIADB_NEXT: 'n/a'

  # The current recommended test version of mariadb for legacy Drupal."
  CORE_LEG_MARIADB_MIN_TEST_DEFAULT: '10.3.22'

  ################
  # PostgreSQL/pgSQL
  ################

  # The minimum version of PostgreSQL supported by modern Drupal.
  CORE_PGSQL_MIN: '16'

  # The maximum version of PostgreSQL supported by modern Drupal.
  CORE_PGSQL_MAX: '16'

  # The next/prelease version of PostgreSQL targeted for modern Drupal.
  CORE_PGSQL_NEXT: 'n/a'

  # The minimum version of PostgreSQL supported by legacy Drupal (Drupal 7).
  CORE_LEG_PGSQL_MIN: '9.1'

  # The maximum version of PostgreSQL supported by legacy Drupal (Drupal 7).
  CORE_LEG_PGSQL_MAX: '14.1'

  # The next/prerelease targeted version of PostgreSQL on legacy Drupal (Drupal 7).
  CORE_LEG_PGSQL_NEXT: 'n/a'

  ################
  # SQLite
  ################

  # The miminum supported version of SQLite on modern Drupal.
  CORE_SQLITE_MIN: '3'

  # The maximum supported version of SQLite on modern Drupal.
  CORE_SQLITE_MAX: '3'

  # The next/prerelease targeted version of SQLite for modern Drupal.
  CORE_SQLITE_NEXT: 'n/a'

  # The miminum supported version of SQLite on legacy Drupal (Drupal 7).
  CORE_LEG_SQLITE_MIN: '3'

  # The maximum supported version of SQLite on legacy Drupal (Drupal 7).
  CORE_LEG_SQLITE_MAX: '3'

  # The next/prerelease targeted version of SQLite for legacy Drupal (Drupal 7).
  CORE_LEG_SQLITE_NEXT: 'n/a'

  ################
  # Composer Requirements
  # https://www.drupal.org/docs/system-requirements/composer-requirements
  ################

  # The minimum supported version of Composer on modern Drupal.
  CORE_COMPOSER_MIN: '2.3.6'

  # The next/prerelease targeted version of Composer for modern Drupal.
  CORE_COMPOSER_MIN_NEXT: '2.3.6'

  # Major version constraint for Composer for use with modern Drupal.
  COMPOSER_PLUGIN_CONSTRAINT: '^2'

  # Additional options that are appended to the `composer` job call."
  COMPOSER_EXTRA: ''

  # Allow composer calls to be run from the root user."
  COMPOSER_ALLOW_SUPERUSER: '1'

  ################
  # Semantic Labels for Core Composer Constraints
  # https://www.drupal.org/drupalorg/docs/drupal-ci/drupalorg-testing-policy#CodeTargets
  ################

  # Constrain Composer requirements to current minimum supported major branch.
  CONSTRAINT_CORE_MAJOR: '^11'

  # Constrain Composer requirements to the next major branch.
  CONSTRAINT_CORE_MAJOR_NEXT: '^11'

  # Constrain Composer requirements to legacy major branch (Drupal 7).
  CONSTRAINT_CORE_LEGACY: '^7'

  ################
  # Pipeline configuration variables
  ################

  # The variant to use for Drupal 10+ within the definition of the image $_CONFIG_DOCKERHUB_ROOT/php-{PHP_VERSION}-{PHP_IMAGE_VARIANT}:{PHP_IMAGE_TAG}.
  # 'ubuntu-apache' is the default, and 'apache' is the other possible value.
  _TARGET_PHP_IMAGE_VARIANT: 'ubuntu-apache'

  # The variant to use for Drupal 7 within the definition of the image $_CONFIG_DOCKERHUB_ROOT/php-{PHP_VERSION}-{PHP_IMAGE_VARIANT}:{PHP_IMAGE_TAG}.
  _TARGET_D7_PHP_IMAGE_VARIANT: 'apache'

  # The tag to use within the resulting image. Defaults to 'production' images.
  _TARGET_PHP_IMAGE_TAG: 'production'

  ################
  # Other
  ################

  # The ID of GitLab Templates project in the GitLab instance.
  GITLAB_TEMPLATES_PROJECT_ID: '96292'

  # The URL of the Drupal.org GitLab instance to use when fetching resources.
  # For most integrations, this is the same as CI_SERVER_URL, but if the templates
  # are used on another GitLab instance, then the value will be different.
  DRUPALORG_CI_SERVER_URL: 'https://git.drupalcode.org'

  # Used to improve the readability of log output. Starts with blank and newline. Use printf not echo.
  DIVIDER: " \n*****************************************************************************************************************************"

  # The list of file types in Drupal that contain PHP.
  DRUPAL_PHP_FILE_TYPES: 'php,module,install,inc,profile,theme,engine'

  ################
  # Deprecated
  #
  # If a variable is used in the 'rules: if:' condition of the 'deprecation warning' job it must remain defined in this file.
  # The default values here should be "", even if the original default was not "".
  ################

  # Deprecated in version 1.1.0. This variable is no longer needed. The composer step will run when it is needed by other jobs
  # See https://git.drupalcode.org/project/gitlab_templates/-/blob/main/CHANGELOG.md#110---2024-01-30
  SKIP_COMPOSER: ''

  # Deprecated in version 1.3.6. Use _LENIENT_ALLOW_LIST instead (with a leading underscore)
  # See https://git.drupalcode.org/project/gitlab_templates/-/blob/main/CHANGELOG.md#136---2024-04-10
  LENIENT_ALLOW_LIST: ''

  # Deprecated in version 1.3.6. Use _COMPOSER_PATCHES_FILE instead (with a leading underscore)
  # See https://git.drupalcode.org/project/gitlab_templates/-/blob/main/CHANGELOG.md#136---2024-04-10
  COMPOSER_PATCHES_FILE: ''

  # Deprecated in version 1.5.10. Use DRUPAL_CORE instead.
  # See https://git.drupalcode.org/project/gitlab_templates/-/blob/main/CHANGELOG.md#1510---2024-10-04
  _TARGET_CORE: ''