################
# GitLabCI template for Drupal projects.
#
# This template is designed to give any Contrib maintainer everything they need to test, without requiring modification.
# It is also designed to keep up to date with Core Development automatically through the use of include files that can be centrally maintained.
# As long as you include the project, ref and three files below, any future updates added by the Drupal Association will be used in your
# pipelines automatically. However, you can modify this template if you have additional needs for your project.
# The full documentation is on https://project.pages.drupalcode.org/gitlab_templates/
################

# For information on alternative values for 'ref' see https://project.pages.drupalcode.org/gitlab_templates/info/templates-version/
# To test a Drupal 7 project, change the first include filename from .main.yml to .main-d7.yml
include:
  - project: $_GITLAB_TEMPLATES_REPO
    ref: $_GITLAB_TEMPLATES_REF
    file:
      - '/includes/include.drupalci.main.yml'
      - '/includes/include.drupalci.variables.yml'
      - '/includes/include.drupalci.workflows.yml'

################
# Pipeline configuration variables are defined with default values and descriptions in the file
# https://git.drupalcode.org/project/gitlab_templates/-/blob/main/includes/include.drupalci.variables.yml
# Uncomment the lines below if you want to override any of the variables. The following is just an example.
################
# variables:
#   SKIP_ESLINT: '1'
#   OPT_IN_TEST_NEXT_MAJOR: '1'
#   _CURL_TEMPLATES_REF: 'main'

################
# Admin Toolbar: Pipeline configuration variables and custom jobs, mostly:
#  - Broaden test coverage to all supported core versions and max PHP.
#  - Require jobs to pass: PHPCS and Stylelint.
################

variables:
  ################
  # Opt in variables: Broaden test coverage.
  ################
  OPT_IN_TEST_PREVIOUS_MAJOR: 1
  OPT_IN_TEST_PREVIOUS_MINOR: 1
  OPT_IN_TEST_NEXT_MINOR: 1
  OPT_IN_TEST_NEXT_MAJOR: 1
  OPT_IN_TEST_MAX_PHP: 1
  # Speed up the execution of the Tests.
  _PHPUNIT_CONCURRENT: 1
  # # Convenient for debugging: Enable in issue forks for testing.
  # _SHOW_ENVIRONMENT_VARIABLES: 1

#
# Composer overrides and configuration.
#   - Require 'project_browser' to test integration with 'admin_toolbar_tools'.
#
composer:
  after_script:
    - composer require drupal/project_browser
composer (max PHP version):
  after_script:
    - composer require drupal/project_browser
composer (previous minor):
  after_script:
    - composer require drupal/project_browser
composer (next minor):
  after_script:
    - composer require drupal/project_browser
composer (previous major):
  after_script:
    - composer require drupal/project_browser
# composer (next major):
#   after_script:
#     - composer require drupal/project_browser

# #
# # CSPELL overrides and configuration.
# #
# cspell:
#   # Require spellcheck to pass.
#   allow_failure: false

# #
# # ESLINT overrides and configuration.
# #
# eslint:
#   # Require eslint to pass.
#   allow_failure: false

#
# PHPCS overrides and configuration.
#
phpcs:
  # Require phpcs to pass.
  allow_failure: false

# #
# # PHPSTAN overrides and configuration.
# #
# phpstan:
#   # Require phpstan to pass.
#   allow_failure: false

# #
# # PHPUNIT overrides and configuration.
# #
# phpunit:
#   # Require phpunit to pass.
#   allow_failure: false

#
# STYLELINT overrides and configuration.
#
stylelint:
  # Require stylelint to pass.
  allow_failure: false
