2020-02-18 10:08:51 -05:00
##############
# Conditions #
##############
.if-not-canonical-namespace : &if-not-canonical-namespace
if : '$CI_PROJECT_NAMESPACE !~ /^gitlab(-org)?($|\/)/'
2021-05-20 17:10:31 -04:00
.if-not-ee : &if-not-ee
if : '$CI_PROJECT_NAME !~ /^gitlab(-ee)?$/'
2020-02-18 10:08:51 -05:00
.if-not-foss : &if-not-foss
if : '$CI_PROJECT_NAME != "gitlab-foss" && $CI_PROJECT_NAME != "gitlab-ce" && $CI_PROJECT_NAME != "gitlabhq"'
2021-10-14 11:14:02 -04:00
.if-jh : &if-jh
2021-12-06 13:14:09 -05:00
if : '$CI_PROJECT_PATH =~ /^gitlab-(jh|cn)\/.*/'
2021-10-14 11:14:02 -04:00
2022-03-18 11:07:23 -04:00
.if-force-ci : &if-force-ci
if : '$FORCE_GITLAB_CI'
2020-02-18 10:08:51 -05:00
.if-default-refs : &if-default-refs
2021-03-30 11:11:08 -04:00
if : '$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH || $CI_COMMIT_REF_NAME =~ /^[\d-]+-stable(-ee)?$/ || $CI_COMMIT_REF_NAME =~ /^\d+-\d+-auto-deploy-\d+$/ || $CI_COMMIT_REF_NAME =~ /^security\// || $CI_MERGE_REQUEST_IID || $CI_COMMIT_TAG || $FORCE_GITLAB_CI'
2020-02-18 10:08:51 -05:00
2021-03-30 11:11:08 -04:00
.if-default-branch-refs : &if-default-branch-refs
if : '$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH'
2020-02-18 10:08:51 -05:00
2021-11-30 07:10:26 -05:00
.if-stable-branch-refs : &if-stable-branch-refs
if : '$CI_COMMIT_REF_NAME =~ /^[\d-]+-stable(-ee)?$/'
2021-03-30 11:11:08 -04:00
.if-default-branch-push : &if-default-branch-push
if : '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "push"'
2020-04-28 05:09:34 -04:00
2020-03-27 05:08:28 -04:00
.if-auto-deploy-branches : &if-auto-deploy-branches
if : '$CI_COMMIT_BRANCH =~ /^\d+-\d+-auto-deploy-\d+$/'
2021-03-30 11:11:08 -04:00
.if-default-branch-or-tag : &if-default-branch-or-tag
if : '$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH || $CI_COMMIT_TAG'
2020-02-18 10:08:51 -05:00
.if-merge-request : &if-merge-request
if : '$CI_MERGE_REQUEST_IID'
2021-07-26 05:09:00 -04:00
.if-merge-request-approved : &if-merge-request-approved
if : '$CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_APPROVED'
.if-merge-request-not-approved : &if-merge-request-not-approved
if : '$CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_APPROVED != "true"'
.if-automated-merge-request : &if-automated-merge-request
if : '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "release-tools/update-gitaly" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /stable-ee$/'
2021-11-22 19:12:54 -05:00
.if-merge-request-targeting-stable-branch : &if-merge-request-targeting-stable-branch
if : '$CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /^[\d-]+-stable(-ee)?$/'
2021-09-30 02:09:27 -04:00
.if-merge-request-labels-as-if-foss : &if-merge-request-labels-as-if-foss
2021-08-11 08:10:59 -04:00
if : '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-as-if-foss/'
2020-05-15 11:08:04 -04:00
2021-10-13 17:09:56 -04:00
.if-merge-request-labels-as-if-jh : &if-merge-request-labels-as-if-jh
if : '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-as-if-jh/'
2021-09-30 02:09:27 -04:00
.if-merge-request-labels-update-caches : &if-merge-request-labels-update-caches
2021-08-11 08:10:59 -04:00
if : '$CI_MERGE_REQUEST_LABELS =~ /pipeline:update-cache/'
2020-06-02 08:08:33 -04:00
2021-09-30 02:09:27 -04:00
.if-merge-request-labels-run-all-rspec : &if-merge-request-labels-run-all-rspec
2021-08-11 08:10:59 -04:00
if : '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-all-rspec/'
2020-07-13 05:09:29 -04:00
2021-09-30 02:09:27 -04:00
.if-merge-request-labels-run-all-jest : &if-merge-request-labels-run-all-jest
2021-09-08 05:09:10 -04:00
if : '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-all-jest/'
2022-03-17 23:07:42 -04:00
.if-merge-request-labels-run-single-db : &if-merge-request-labels-run-single-db
if : '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-single-db/'
2021-08-19 02:11:00 -04:00
2021-11-05 05:09:47 -04:00
.if-merge-request-labels-run-review-app : &if-merge-request-labels-run-review-app
if : '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-review-app/'
2021-12-01 19:17:32 -05:00
.if-merge-request-labels-skip-undercoverage : &if-merge-request-labels-skip-undercoverage
if : '$CI_MERGE_REQUEST_LABELS =~ /pipeline:skip-undercoverage/'
2022-06-08 14:09:19 -04:00
.if-merge-request-labels-community-contribution : &if-merge-request-labels-community-contribution
if : '$CI_MERGE_REQUEST_LABELS =~ /Community contribution/'
2022-04-07 11:09:57 -04:00
.if-merge-request-labels-jh-contribution : &if-merge-request-labels-jh-contribution
if : '$CI_MERGE_REQUEST_LABELS =~ /JiHu contribution/'
2022-05-10 17:09:04 -04:00
.if-merge-request-labels-group-global-search : &if-merge-request-labels-group-global-search
2022-04-28 08:09:06 -04:00
if : '$CI_MERGE_REQUEST_LABELS =~ /group::global search/'
2020-05-15 11:08:04 -04:00
.if-security-merge-request : &if-security-merge-request
if : '$CI_PROJECT_NAMESPACE == "gitlab-org/security" && $CI_MERGE_REQUEST_IID'
2022-02-17 07:12:30 -05:00
.if-fork-merge-request : &if-fork-merge-request
if : '$CI_PROJECT_NAMESPACE !~ /^gitlab(-org)?($|\/)/ && $CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_LABELS !~ /pipeline:run-all-rspec/'
2021-08-18 05:10:26 -04:00
.if-default-branch-schedule-2-hourly : &if-default-branch-schedule-2-hourly
if : '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule" && $FREQUENCY == "2-hourly"'
.if-default-branch-schedule-nightly : &if-default-branch-schedule-nightly
if : '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "schedule" && $FREQUENCY == "nightly"'
2020-11-19 01:09:07 -05:00
.if-security-schedule : &if-security-schedule
if : '$CI_PROJECT_NAMESPACE == "gitlab-org/security" && $CI_PIPELINE_SOURCE == "schedule"'
2020-02-18 10:08:51 -05:00
.if-dot-com-gitlab-org-schedule : &if-dot-com-gitlab-org-schedule
if : '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_PIPELINE_SOURCE == "schedule"'
2021-08-18 05:10:26 -04:00
.if-dot-com-ee-schedule : &if-dot-com-ee-schedule
if : '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab" && $CI_PIPELINE_SOURCE == "schedule"'
2021-10-18 02:12:21 -04:00
.if-dot-com-ee-schedule-child-pipeline : &if-dot-com-ee-schedule-child-pipeline
2021-10-18 05:12:29 -04:00
if : '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab" && $CI_PIPELINE_SOURCE == "parent_pipeline" && $FREQUENCY'
2021-10-18 02:12:21 -04:00
2021-08-18 05:10:26 -04:00
.if-dot-com-ee-2-hourly-schedule : &if-dot-com-ee-2-hourly-schedule
if : '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab" && $CI_PIPELINE_SOURCE == "schedule" && $FREQUENCY == "2-hourly"'
.if-dot-com-ee-nightly-schedule : &if-dot-com-ee-nightly-schedule
if : '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab" && $CI_PIPELINE_SOURCE == "schedule" && $FREQUENCY == "nightly"'
2021-10-18 02:12:21 -04:00
.if-dot-com-ee-nightly-schedule-child-pipeline : &if-dot-com-ee-nightly-schedule-child-pipeline
if : '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab" && $CI_PIPELINE_SOURCE == "parent_pipeline" && $FREQUENCY == "nightly"'
2021-03-30 11:11:08 -04:00
.if-dot-com-gitlab-org-default-branch : &if-dot-com-gitlab-org-default-branch
if : '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH'
2020-02-18 10:08:51 -05:00
.if-dot-com-gitlab-org-merge-request : &if-dot-com-gitlab-org-merge-request
if : '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_MERGE_REQUEST_IID'
2020-06-10 14:09:15 -04:00
.if-dot-com-gitlab-org-and-security-merge-request : &if-dot-com-gitlab-org-and-security-merge-request
if : '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/security$)/ && $CI_MERGE_REQUEST_IID'
2021-11-17 01:12:07 -05:00
.if-dot-com-gitlab-org-and-security-merge-request-manual-ff-package-and-qa : &if-dot-com-gitlab-org-and-security-merge-request-manual-ff-package-and-qa
if : '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/security$)/ && $CI_MERGE_REQUEST_IID && $QA_MANUAL_FF_PACKAGE_AND_QA'
2020-02-18 10:08:51 -05:00
.if-dot-com-gitlab-org-and-security-tag : &if-dot-com-gitlab-org-and-security-tag
if : '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/security$)/ && $CI_COMMIT_TAG'
2020-10-08 08:08:31 -04:00
# For Security merge requests, the gitlab-release-tools-bot triggers a new
# pipeline for the "Pipelines for merged results" feature. If the pipeline
# fails, we notify release managers.
.if-security-pipeline-merge-result : &if-security-pipeline-merge-result
if : '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $CI_PROJECT_NAMESPACE == "gitlab-org/security" && $GITLAB_USER_LOGIN == "gitlab-release-tools-bot"'
2020-02-18 10:08:51 -05:00
####################
# Changes patterns #
####################
2020-05-07 05:09:51 -04:00
.ci-patterns : &ci-patterns
2020-05-15 11:08:04 -04:00
- ".gitlab-ci.yml"
2020-05-07 05:09:51 -04:00
- ".gitlab/ci/**/*"
2022-02-11 13:18:58 -05:00
- "scripts/rspec_helpers.sh"
2020-05-07 05:09:51 -04:00
2020-06-18 14:08:58 -04:00
.ci-build-images-patterns : &ci-build-images-patterns
- ".gitlab-ci.yml"
- ".gitlab/ci/build-images.gitlab-ci.yml"
.ci-review-patterns : &ci-review-patterns
- ".gitlab-ci.yml"
- ".gitlab/ci/frontend.gitlab-ci.yml"
- ".gitlab/ci/build-images.gitlab-ci.yml"
- ".gitlab/ci/review.gitlab-ci.yml"
2021-10-14 11:14:02 -04:00
- ".gitlab/ci/review-apps/**/*"
2021-03-31 23:08:55 -04:00
- "scripts/review_apps/base-config.yaml"
2021-06-07 08:10:00 -04:00
- "scripts/review_apps/review-apps.sh"
2022-02-15 07:14:49 -05:00
- "scripts/trigger-build.rb"
2021-09-10 05:11:07 -04:00
- "{,ee/,jh/}{bin,config}/**/*.rb"
2020-06-18 14:08:58 -04:00
2022-03-02 10:16:07 -05:00
.ci-templates-patterns : &ci-templates-patterns
- "lib/gitlab/ci/templates/**/*.gitlab-ci.yml"
2020-06-18 14:08:58 -04:00
.ci-qa-patterns : &ci-qa-patterns
- ".gitlab-ci.yml"
- ".gitlab/ci/frontend.gitlab-ci.yml"
- ".gitlab/ci/build-images.gitlab-ci.yml"
- ".gitlab/ci/qa.gitlab-ci.yml"
2021-06-11 11:09:58 -04:00
.gitaly-patterns : &gitaly-patterns
- "GITALY_SERVER_VERSION"
2022-03-29 20:09:03 -04:00
- "lib/gitlab/setup_helper.rb"
2021-06-11 11:09:58 -04:00
2020-12-08 10:09:45 -05:00
.workhorse-patterns : &workhorse-patterns
- "GITLAB_WORKHORSE_VERSION"
- "workhorse/**/*"
2021-02-05 07:09:31 -05:00
- ".gitlab/ci/workhorse.gitlab-ci.yml"
2020-12-08 10:09:45 -05:00
2020-10-29 08:08:50 -04:00
.yaml-lint-patterns : &yaml-lint-patterns
2022-05-30 11:08:03 -04:00
- "*.yml"
- "**/*.yml"
2020-02-18 10:08:51 -05:00
.docs-patterns : &docs-patterns
- ".gitlab/route-map.yml"
- "doc/**/*"
2021-04-29 02:09:58 -04:00
- ".markdownlint.yml"
2021-02-01 13:09:17 -05:00
- "scripts/lint-doc.sh"
2022-05-23 23:08:48 -04:00
- ".gitlab/ci/docs.gitlab-ci.yml"
2020-02-18 10:08:51 -05:00
2022-01-11 13:16:38 -05:00
.docs-deprecations-and-removals-patterns : &docs-deprecations-and-removals-patterns
2021-12-03 22:13:26 -05:00
- "doc/update/deprecations.md"
2022-01-11 13:16:38 -05:00
- "doc/update/removals.md"
- "data/deprecations/**/*"
- "data/removals/**/*"
- "tooling/docs/**/*"
2021-11-12 01:10:23 -05:00
- "lib/tasks/gitlab/docs/compile_deprecations.rake"
2021-06-21 14:08:00 -04:00
.bundler-patterns : &bundler-patterns
- '{Gemfile.lock,*/Gemfile.lock,*/*/Gemfile.lock}'
.nodejs-patterns : &nodejs-patterns
- '{package.json,*/package.json,*/*/package.json}'
2021-11-09 10:12:42 -05:00
- '{yarn.lock,*/yarn.lock,*/*/yarn.lock}'
2021-06-21 14:08:00 -04:00
.python-patterns : &python-patterns
- '{requirements.txt,*/requirements.txt,*/*/requirements.txt}'
- '{requirements.pip,*/requirements.pip,*/*/requirements.pip}'
- '{Pipfile,*/Pipfile,*/*/Pipfile}'
- '{requires.txt,*/requires.txt,*/*/requires.txt}'
- '{setup.py,*/setup.py,*/*/setup.py}'
.dependency-patterns : &dependency-patterns
- '{Gemfile.lock,*/Gemfile.lock,*/*/Gemfile.lock}'
- '{composer.lock,*/composer.lock,*/*/composer.lock}'
- '{gems.locked,*/gems.locked,*/*/gems.locked}'
- '{go.sum,*/go.sum,*/*/go.sum}'
- '{npm-shrinkwrap.json,*/npm-shrinkwrap.json,*/*/npm-shrinkwrap.json}'
- '{package-lock.json,*/package-lock.json,*/*/package-lock.json}'
- '{yarn.lock,*/yarn.lock,*/*/yarn.lock}'
- '{packages.lock.json,*/packages.lock.json,*/*/packages.lock.json}'
- '{conan.lock,*/conan.lock,*/*/conan.lock}'
2020-03-19 20:09:29 -04:00
.frontend-dependency-patterns : &frontend-dependency-patterns
- "{package.json,yarn.lock}"
2021-01-29 07:09:29 -05:00
- "config/webpack.config.js"
- "config/helpers/*.js"
2020-03-19 20:09:29 -04:00
2021-04-19 02:09:21 -04:00
.frontend-build-patterns : &frontend-build-patterns
- "{package.json,yarn.lock}"
2021-07-06 23:08:47 -04:00
- ".browserslistrc"
2021-04-19 02:09:21 -04:00
- "babel.config.js"
- "config/webpack.config.js"
- "config/**/*.js"
- "vendor/assets/**/*"
2021-05-25 02:10:50 -04:00
- "{,ee/,jh/}app/assets/**/*"
2021-04-19 02:09:21 -04:00
2020-03-19 20:09:29 -04:00
.frontend-patterns : &frontend-patterns
- "{package.json,yarn.lock}"
2021-07-06 23:08:47 -04:00
- ".browserslistrc"
2020-05-20 14:08:00 -04:00
- "babel.config.js"
- "jest.config.{base,integration,unit}.js"
2020-03-19 20:09:29 -04:00
- ".csscomb.json"
- "Dockerfile.assets"
2020-05-20 14:08:00 -04:00
- "config/**/*.js"
2020-03-19 20:09:29 -04:00
- "vendor/assets/**/*"
2021-05-25 02:10:50 -04:00
- "{,ee/,jh/}{app/assets,app/helpers,app/presenters,app/views,locale,public,symbol}/**/*"
2020-03-19 20:09:29 -04:00
2022-01-18 07:16:49 -05:00
.controllers-patterns : &controllers-patterns
- "{,ee/,jh/}{app/controllers}/**/*"
2022-02-15 13:14:39 -05:00
.models-patterns : &models-patterns
- "{,ee/,jh/}{app/models}/**/*"
2022-04-26 11:10:32 -04:00
.lib-gitlab-patterns : &lib-gitlab-patterns
- "{,ee/,jh/}lib/{,ee/,jh/}gitlab/**/*"
2021-06-07 20:10:34 -04:00
.startup-css-patterns : &startup-css-patterns
- "{,ee/,jh/}app/assets/stylesheets/startup/**/*"
2021-10-29 08:14:45 -04:00
# Backend patterns + .ci-patterns
2020-06-18 08:09:25 -04:00
.backend-patterns : &backend-patterns
2021-09-02 08:11:03 -04:00
- "{,jh/}Gemfile{,.lock}"
2020-06-18 08:09:25 -04:00
- "Rakefile"
- "config.ru"
2020-06-26 05:08:59 -04:00
# List explicitly all the app/ dirs that are backend (i.e. all except app/assets).
2021-05-25 02:10:50 -04:00
- "{,ee/,jh/}{app/channels,app/controllers,app/finders,app/graphql,app/helpers,app/mailers,app/models,app/policies,app/presenters,app/serializers,app/services,app/uploaders,app/validators,app/views,app/workers}/**/*"
2022-05-10 17:09:04 -04:00
- "{,ee/,jh/}{bin,config,db,generator_templates,lib}/**/*"
2022-02-28 13:14:03 -05:00
- "{,ee/,jh/}spec/**/*"
2021-03-11 07:09:28 -05:00
# CI changes
2020-07-09 08:08:56 -04:00
- ".gitlab-ci.yml"
- ".gitlab/ci/**/*"
2020-09-16 11:09:32 -04:00
- "*_VERSION"
2022-02-11 13:18:58 -05:00
- "scripts/rspec_helpers.sh"
2022-03-23 02:07:44 -04:00
# Mapped patterns (see tests.yml)
- "data/whats_new/*.yml"
2020-06-18 08:09:25 -04:00
2022-05-10 17:09:04 -04:00
.search-backend-patterns : &search-backend-patterns
- "{,jh/}Gemfile.lock"
- "GITLAB_ELASTICSEARCH_INDEXER_VERSION"
# List explicitly all the app/ dirs that are backend (i.e. all except app/assets).
- "{,ee/,jh/}{app/channels,app/controllers,app/finders,app/graphql,app/helpers,app/mailers,app/models,app/policies,app/presenters,app/serializers,app/services,app/uploaders,app/validators,app/views,app/workers}/**/*"
- "{,ee/,jh/}{bin,config,db,generator_templates,lib}/**/*"
- "{,ee/,jh/}spec/**/*"
2021-10-29 08:14:45 -04:00
# DB patterns + .ci-patterns
2020-06-18 08:09:25 -04:00
.db-patterns : &db-patterns
2021-05-25 02:10:50 -04:00
- "{,ee/,jh/}{,spec/}{db,migrations}/**/*"
- "{,ee/,jh/}{,spec/}lib/{,ee/,jh/}gitlab/database/**/*"
- "{,ee/,jh/}{,spec/}lib/{,ee/,jh/}gitlab/database{,_spec}.rb"
- "{,ee/,jh/}{,spec/}lib/{,ee/,jh/}gitlab/background_migration/**/*"
- "{,ee/,jh/}{,spec/}lib/{,ee/,jh/}gitlab/background_migration{,_spec}.rb"
- "{,ee/,jh/}spec/support/helpers/database/**/*"
2021-08-19 02:11:00 -04:00
- "lib/gitlab/markdown_cache/active_record/**/*"
2020-10-29 08:08:50 -04:00
- "config/prometheus/common_metrics.yml" # Used by Gitlab::DatabaseImporters::CommonMetrics::Importer
2021-05-25 02:10:50 -04:00
- "{,ee/,jh/}app/models/project_statistics.rb" # Used to calculate sizes in migration specs
2022-03-29 20:09:03 -04:00
# Gitaly has interactions with background migrations: https://gitlab.com/gitlab-org/gitlab/-/issues/336538
- "GITALY_SERVER_VERSION"
- "lib/gitlab/setup_helper.rb"
2021-03-11 07:09:28 -05:00
# CI changes
- ".gitlab-ci.yml"
- ".gitlab/ci/**/*"
2020-06-18 08:09:25 -04:00
2021-01-13 07:10:27 -05:00
.db-library-patterns : &db-library-patterns
2021-05-25 02:10:50 -04:00
- "{,ee/,jh/}{,spec/}lib/{,ee/,jh/}gitlab/database/**/*"
- "{,ee/,jh/}{,spec/}lib/{,ee/,jh/}gitlab/database{,_spec}.rb"
- "{,ee/,jh/}spec/support/helpers/database/**/*"
2021-01-13 07:10:27 -05:00
2020-02-18 10:08:51 -05:00
.backstage-patterns : &backstage-patterns
- "Dangerfile"
- "danger/**/*"
2021-05-25 02:10:50 -04:00
- "{,ee/,jh/}fixtures/**/*"
- "{,ee/,jh/}rubocop/**/*"
2021-12-06 01:10:20 -05:00
- ".rubocop_todo/**/*.yml"
2021-05-25 02:10:50 -04:00
- "{,ee/,jh/}spec/**/*"
2020-11-27 07:09:14 -05:00
- "{,spec/}tooling/**/*"
2020-02-18 10:08:51 -05:00
2021-10-29 08:14:45 -04:00
.qa-patterns : &qa-patterns
- ".dockerignore"
- "qa/**/*"
2022-01-18 07:16:49 -05:00
# Code patterns + .ci-patterns
2020-02-18 10:08:51 -05:00
.code-patterns : &code-patterns
2020-03-19 20:09:29 -04:00
- "{package.json,yarn.lock}"
2021-07-15 11:09:41 -04:00
- ".browserslistrc"
2020-05-20 14:08:00 -04:00
- "babel.config.js"
- "jest.config.{base,integration,unit}.js"
2020-03-19 20:09:29 -04:00
- ".csscomb.json"
- "Dockerfile.assets"
- "vendor/assets/**/*"
2020-02-18 10:08:51 -05:00
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
2021-12-07 01:13:51 -05:00
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo}.yml"
2021-12-06 01:10:20 -05:00
- ".rubocop_todo/**/*.yml"
2020-02-18 10:08:51 -05:00
- "*_VERSION"
2021-09-02 08:11:03 -04:00
- "{,jh/}Gemfile{,.lock}"
2020-02-18 10:08:51 -05:00
- "Rakefile"
2020-08-25 11:10:17 -04:00
- "tests.yml"
2020-02-18 10:08:51 -05:00
- "config.ru"
2021-07-15 02:09:39 -04:00
- "{,ee/,jh/}{app,bin,config,db,generator_templates,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*"
2020-02-18 10:08:51 -05:00
- "doc/api/graphql/reference/*" # Files in this folder are auto-generated
2021-10-29 08:14:45 -04:00
# CI changes
- ".gitlab-ci.yml"
- ".gitlab/ci/**/*"
2022-03-23 02:07:44 -04:00
# Mapped patterns (see tests.yml)
- "data/whats_new/*.yml"
2020-02-18 10:08:51 -05:00
2021-10-29 08:14:45 -04:00
# .code-patterns + .backstage-patterns
2020-02-18 10:08:51 -05:00
.code-backstage-patterns : &code-backstage-patterns
2020-03-19 20:09:29 -04:00
- "{package.json,yarn.lock}"
2021-07-15 11:09:41 -04:00
- ".browserslistrc"
2020-05-20 14:08:00 -04:00
- "babel.config.js"
- "jest.config.{base,integration,unit}.js"
2020-03-19 20:09:29 -04:00
- ".csscomb.json"
- "Dockerfile.assets"
- "vendor/assets/**/*"
2020-02-18 10:08:51 -05:00
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
2021-12-07 01:13:51 -05:00
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo}.yml"
2021-12-06 01:10:20 -05:00
- ".rubocop_todo/**/*.yml"
2020-02-18 10:08:51 -05:00
- "*_VERSION"
2021-09-02 08:11:03 -04:00
- "{,jh/}Gemfile{,.lock}"
2020-02-18 10:08:51 -05:00
- "Rakefile"
2020-08-25 11:10:17 -04:00
- "tests.yml"
2020-02-18 10:08:51 -05:00
- "config.ru"
2021-07-15 02:09:39 -04:00
- "{,ee/,jh/}{app,bin,config,db,generator_templates,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*"
2020-02-18 10:08:51 -05:00
- "doc/api/graphql/reference/*" # Files in this folder are auto-generated
2021-10-29 08:14:45 -04:00
# CI changes
- ".gitlab-ci.yml"
- ".gitlab/ci/**/*"
2020-02-18 10:08:51 -05:00
# Backstage changes
- "Dangerfile"
- "danger/**/*"
2021-05-25 02:10:50 -04:00
- "{,ee/,jh/}fixtures/**/*"
- "{,ee/,jh/}rubocop/**/*"
- "{,ee/,jh/}spec/**/*"
2020-11-27 07:09:14 -05:00
- "{,spec/}tooling/**/*"
2022-03-23 02:07:44 -04:00
# Mapped patterns (see tests.yml)
- "data/whats_new/*.yml"
2020-02-18 10:08:51 -05:00
2021-10-29 08:14:45 -04:00
# .code-patterns + .qa-patterns
2020-02-18 10:08:51 -05:00
.code-qa-patterns : &code-qa-patterns
2020-03-19 20:09:29 -04:00
- "{package.json,yarn.lock}"
2021-07-15 11:09:41 -04:00
- ".browserslistrc"
2020-05-20 14:08:00 -04:00
- "babel.config.js"
- "jest.config.{base,integration,unit}.js"
2020-03-19 20:09:29 -04:00
- ".csscomb.json"
- "Dockerfile.assets"
- "vendor/assets/**/*"
2020-02-18 10:08:51 -05:00
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
2021-12-07 01:13:51 -05:00
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo}.yml"
2021-12-06 01:10:20 -05:00
- ".rubocop_todo/**/*.yml"
2020-02-18 10:08:51 -05:00
- "*_VERSION"
2021-09-02 08:11:03 -04:00
- "{,jh/}Gemfile{,.lock}"
2020-02-18 10:08:51 -05:00
- "Rakefile"
2020-08-25 11:10:17 -04:00
- "tests.yml"
2020-02-18 10:08:51 -05:00
- "config.ru"
2021-07-15 02:09:39 -04:00
- "{,ee/,jh/}{app,bin,config,db,generator_templates,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*"
2020-02-18 10:08:51 -05:00
- "doc/api/graphql/reference/*" # Files in this folder are auto-generated
2021-10-29 08:14:45 -04:00
# CI changes
- ".gitlab-ci.yml"
- ".gitlab/ci/**/*"
2020-02-18 10:08:51 -05:00
# QA changes
- ".dockerignore"
- "qa/**/*"
2022-03-23 02:07:44 -04:00
# Mapped patterns (see tests.yml)
- "data/whats_new/*.yml"
2020-02-18 10:08:51 -05:00
2021-10-29 08:14:45 -04:00
# .code-patterns + .backstage-patterns + .qa-patterns
2020-02-18 10:08:51 -05:00
.code-backstage-qa-patterns : &code-backstage-qa-patterns
2020-03-19 20:09:29 -04:00
- "{package.json,yarn.lock}"
2021-07-15 11:09:41 -04:00
- ".browserslistrc"
2020-05-20 14:08:00 -04:00
- "babel.config.js"
- "jest.config.{base,integration,unit}.js"
2020-03-19 20:09:29 -04:00
- ".csscomb.json"
- "Dockerfile.assets"
- "vendor/assets/**/*"
2021-10-29 08:14:45 -04:00
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
2021-12-07 01:13:51 -05:00
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo}.yml"
2021-12-06 01:10:20 -05:00
- ".rubocop_todo/**/*.yml"
2021-10-29 08:14:45 -04:00
- "*_VERSION"
- "{,jh/}Gemfile{,.lock}"
- "Rakefile"
- "tests.yml"
- "config.ru"
- "{,ee/,jh/}{app,bin,config,db,generator_templates,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*"
- "doc/api/graphql/reference/*" # Files in this folder are auto-generated
2021-03-11 07:09:28 -05:00
# CI changes
- ".gitlab-ci.yml"
2020-02-18 10:08:51 -05:00
- ".gitlab/ci/**/*"
2021-10-29 08:14:45 -04:00
# Backstage changes
- "Dangerfile"
- "danger/**/*"
- "{,ee/,jh/}fixtures/**/*"
- "{,ee/,jh/}rubocop/**/*"
- "{,ee/,jh/}spec/**/*"
- "{,spec/}tooling/**/*"
# QA changes
- ".dockerignore"
- "qa/**/*"
2022-03-23 02:07:44 -04:00
# Mapped patterns (see tests.yml)
- "data/whats_new/*.yml"
2021-10-29 08:14:45 -04:00
# .code-backstage-qa-patterns + .workhorse-patterns
.setup-test-env-patterns : &setup-test-env-patterns
- "{package.json,yarn.lock}"
- ".browserslistrc"
- "babel.config.js"
- "jest.config.{base,integration,unit}.js"
- ".csscomb.json"
- "Dockerfile.assets"
- "vendor/assets/**/*"
2020-02-18 10:08:51 -05:00
- ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}"
2021-12-07 01:13:51 -05:00
- ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo}.yml"
2021-12-06 01:10:20 -05:00
- ".rubocop_todo/**/*.yml"
2020-02-18 10:08:51 -05:00
- "*_VERSION"
2021-09-02 08:11:03 -04:00
- "{,jh/}Gemfile{,.lock}"
2020-02-18 10:08:51 -05:00
- "Rakefile"
2020-08-25 11:10:17 -04:00
- "tests.yml"
2020-02-18 10:08:51 -05:00
- "config.ru"
2021-07-15 02:09:39 -04:00
- "{,ee/,jh/}{app,bin,config,db,generator_templates,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*"
2020-02-18 10:08:51 -05:00
- "doc/api/graphql/reference/*" # Files in this folder are auto-generated
2021-03-04 13:09:08 -05:00
- "data/whats_new/*.yml"
2021-10-29 08:14:45 -04:00
# CI changes
- ".gitlab-ci.yml"
- ".gitlab/ci/**/*"
2020-02-18 10:08:51 -05:00
# Backstage changes
- "Dangerfile"
- "danger/**/*"
2021-05-25 02:10:50 -04:00
- "{,ee/,jh/}fixtures/**/*"
- "{,ee/,jh/}rubocop/**/*"
- "{,ee/,jh/}spec/**/*"
2020-11-27 07:09:14 -05:00
- "{,spec/}tooling/**/*"
2020-02-18 10:08:51 -05:00
# QA changes
- ".dockerignore"
- "qa/**/*"
2021-10-29 08:14:45 -04:00
# Workhorse changes
- "GITLAB_WORKHORSE_VERSION"
- "workhorse/**/*"
- ".gitlab/ci/workhorse.gitlab-ci.yml"
2022-03-02 10:16:07 -05:00
# CI Templates changes
- "scripts/lint_templates_bash.rb"
- "lib/gitlab/ci/templates/**/*.gitlab-ci.yml"
2020-02-18 10:08:51 -05:00
2021-10-29 08:14:45 -04:00
.danger-patterns : &danger-patterns
2021-07-15 08:09:01 -04:00
- "Dangerfile"
- "danger/**/*"
- "tooling/danger/**/*"
2021-10-04 14:12:46 -04:00
.core-backend-patterns : &core-backend-patterns
- "{,jh/}Gemfile{,.lock}"
- "{,ee/,jh/}config/**/*.rb"
2021-09-08 05:09:10 -04:00
.core-frontend-patterns : &core-frontend-patterns
- "{package.json,yarn.lock}"
- "babel.config.js"
- "jest.config.{base,integration,unit}.js"
- "config/helpers/**/*.js"
- "vendor/assets/javascripts/**/*"
2021-10-26 05:09:57 -04:00
.feature-flag-development-config-patterns : &feature-flag-development-config-patterns
2021-11-16 22:09:55 -05:00
- "{,ee/}config/feature_flags/{development,ops}/*.yml"
2021-10-18 20:10:29 -04:00
2022-02-10 13:18:16 -05:00
##################
# Conditions set #
##################
.strict-ee-only-rules :
rules :
- << : *if-not-ee
when : never
- << : *if-jh
when : never
.as-if-jh-default-exclusion-rules :
rules :
- << : *if-security-merge-request
when : never
- << : *if-merge-request-targeting-stable-branch
when : never
- << : *if-stable-branch-refs
when : never
- << : *if-merge-request-labels-as-if-jh
allow_failure : true
.rails:rules:minimal-default-rules :
rules :
- << : *if-merge-request-approved
when : never
- << : *if-automated-merge-request
when : never
- << : *if-security-merge-request
when : never
2022-04-28 08:09:06 -04:00
.rails:rules:run-search-tests :
rules :
2022-05-10 17:09:04 -04:00
- << : *if-merge-request-labels-group-global-search
changes : *search-backend-patterns
2022-02-10 13:18:16 -05:00
.rails:rules:ee-and-foss-default-rules :
rules :
- << : *if-merge-request-labels-run-all-rspec
- << : *if-merge-request
changes : *core-backend-patterns
- << : *if-merge-request
changes : *ci-patterns
- << : *if-automated-merge-request
changes : *backend-patterns
- << : *if-security-merge-request
changes : *backend-patterns
- << : *if-merge-request-not-approved
when : never
.rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules :
rules :
- << : *if-merge-request
changes : *core-backend-patterns
when : never
- << : *if-merge-request
changes : *ci-patterns
when : never
.rails:rules:unit-integration:minimal-default-rules :
rules :
- << : *if-merge-request-labels-run-all-rspec
when : never
- !reference [".rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules", rules]
.rails:rules:system-default-rules :
rules :
- << : *if-merge-request-labels-run-all-rspec
- << : *if-merge-request
changes : *core-backend-patterns
- << : *if-merge-request
changes : *workhorse-patterns
- << : *if-merge-request
changes : *ci-patterns
- << : *if-automated-merge-request
changes : *code-backstage-patterns
- << : *if-security-merge-request
changes : *code-backstage-patterns
- << : *if-merge-request-not-approved
when : never
.rails:rules:system:minimal-default-rules :
rules :
- << : *if-merge-request-labels-run-all-rspec
when : never
- << : *if-merge-request
changes : *core-backend-patterns
when : never
- << : *if-merge-request
changes : *workhorse-patterns
when : never
- << : *if-merge-request
changes : *ci-patterns
when : never
- << : *if-merge-request
changes : *code-backstage-patterns
.rails:rules:previous-failed-tests-default-rules :
rules :
- << : *if-security-merge-request
when : never
- << : *if-merge-request-labels-run-all-rspec
- << : *if-merge-request
changes : *code-backstage-patterns
2020-06-02 08:08:33 -04:00
################
# Shared rules #
################
.shared:rules:update-cache :
rules :
2021-03-30 11:11:08 -04:00
- << : *if-default-branch-schedule-2-hourly
2020-11-19 01:09:07 -05:00
- << : *if-security-schedule
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-update-caches
2020-06-02 08:08:33 -04:00
2021-06-11 11:09:58 -04:00
.shared:rules:update-gitaly-binaries-cache :
rules :
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-update-caches
2021-06-11 11:09:58 -04:00
- changes : *gitaly-patterns
2020-06-18 14:08:58 -04:00
######################
# Build images rules #
######################
.build-images:rules:build-qa-image :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-04-26 11:10:32 -04:00
- << : *if-merge-request-targeting-stable-branch
2021-11-05 05:09:47 -04:00
- << : *if-merge-request-labels-run-review-app
2020-06-18 14:08:58 -04:00
- << : *if-dot-com-gitlab-org-and-security-merge-request
changes : *ci-build-images-patterns
- << : *if-dot-com-gitlab-org-and-security-merge-request
changes : *code-qa-patterns
2021-06-11 08:09:49 -04:00
- << : *if-dot-com-gitlab-org-default-branch
changes : *code-qa-patterns
2020-06-18 14:08:58 -04:00
- << : *if-dot-com-gitlab-org-schedule
2022-03-18 11:07:23 -04:00
- << : *if-force-ci
2020-06-18 14:08:58 -04:00
.build-images:rules:build-assets-image :
rules :
- << : *if-not-canonical-namespace
when : never
2022-04-26 11:10:32 -04:00
- << : *if-merge-request-targeting-stable-branch
2021-11-05 05:09:47 -04:00
- << : *if-merge-request-labels-run-review-app
2021-03-25 14:09:07 -04:00
- << : *if-auto-deploy-branches
2020-06-18 14:08:58 -04:00
- changes : *ci-build-images-patterns
2020-06-19 02:08:36 -04:00
- changes : *code-qa-patterns
2020-06-18 14:08:58 -04:00
2022-03-02 10:16:07 -05:00
######################
# CI Templates Rules #
######################
.ci-templates:rules:shellcheck :
rules :
- changes : *ci-templates-patterns
- changes :
- scripts/lint_templates_bash.rb
2020-10-08 08:08:31 -04:00
##################
# Delivery rules #
##################
.delivery:rules:security-pipeline-merge-result-failure :
rules :
- << : *if-security-pipeline-merge-result
when : on_failure
2020-02-18 10:08:51 -05:00
######################
# Dev fixtures rules #
######################
.dev-fixtures:rules:ee-and-foss :
rules :
- << : *if-default-refs
changes : *code-backstage-patterns
.dev-fixtures:rules:ee-only :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2020-02-18 10:08:51 -05:00
- << : *if-default-refs
changes : *code-backstage-patterns
##############
# Docs rules #
##############
.docs:rules:review-docs :
rules :
- << : *if-dot-com-gitlab-org-merge-request
changes : *docs-patterns
when : manual
2020-05-07 05:09:51 -04:00
allow_failure : true
2020-02-18 10:08:51 -05:00
.docs:rules:docs-lint :
rules :
- << : *if-default-refs
changes : *docs-patterns
2022-01-11 13:16:38 -05:00
.docs:rules:deprecations-and-removals :
2021-11-12 01:10:23 -05:00
rules :
- << : *if-default-refs
2022-01-11 13:16:38 -05:00
changes : *docs-deprecations-and-removals-patterns
2021-11-12 01:10:23 -05:00
2021-01-07 16:10:18 -05:00
##################
# GraphQL rules #
##################
.graphql:rules:graphql-verify :
2020-02-18 10:08:51 -05:00
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2020-02-18 10:08:51 -05:00
- << : *if-default-refs
changes : *code-backstage-qa-patterns
##################
# Frontend rules #
##################
2020-06-02 08:08:33 -04:00
.frontend:rules:compile-production-assets :
2020-02-18 10:08:51 -05:00
rules :
- << : *if-not-canonical-namespace
when : never
2022-04-26 11:10:32 -04:00
- << : *if-merge-request-targeting-stable-branch
2021-11-05 05:09:47 -04:00
- << : *if-merge-request-labels-run-review-app
2021-03-25 14:09:07 -04:00
- << : *if-auto-deploy-branches
- changes : *code-qa-patterns
2022-02-08 13:16:03 -05:00
- changes : *workhorse-patterns
2020-02-18 10:08:51 -05:00
2020-06-02 08:08:33 -04:00
.frontend:rules:compile-test-assets :
2020-02-18 10:08:51 -05:00
rules :
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-rspec
2022-02-08 13:16:03 -05:00
- changes : *code-backstage-qa-patterns
- changes : *workhorse-patterns
2020-02-18 10:08:51 -05:00
2020-06-02 08:08:33 -04:00
.frontend:rules:compile-test-assets-as-if-foss :
2020-02-18 10:08:51 -05:00
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2021-10-13 17:09:56 -04:00
- << : *if-merge-request-labels-as-if-foss
- << : *if-merge-request-labels-run-all-rspec
2021-09-02 05:11:35 -04:00
- changes : *code-backstage-qa-patterns
2021-10-13 17:09:56 -04:00
- changes : *startup-css-patterns
2022-02-08 13:16:03 -05:00
- changes : *workhorse-patterns
2021-10-13 17:09:56 -04:00
.frontend:rules:compile-test-assets-as-if-jh :
rules :
2022-02-10 13:18:16 -05:00
- !reference [".strict-ee-only-rules", rules]
- !reference [".as-if-jh-default-exclusion-rules", rules]
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-rspec
2022-01-19 22:14:52 -05:00
allow_failure : true
2021-10-13 17:09:56 -04:00
- changes : *code-backstage-qa-patterns
2022-01-19 22:14:52 -05:00
allow_failure : true
2021-10-13 17:09:56 -04:00
- changes : *startup-css-patterns
2022-01-19 22:14:52 -05:00
allow_failure : true
2022-02-08 13:16:03 -05:00
- changes : *workhorse-patterns
2020-02-18 10:08:51 -05:00
.frontend:rules:default-frontend-jobs :
rules :
2021-10-26 23:12:59 -04:00
- << : *if-merge-request-labels-run-all-rspec
- changes : *code-backstage-patterns
2020-02-18 10:08:51 -05:00
2020-05-15 11:08:04 -04:00
.frontend:rules:default-frontend-jobs-as-if-foss :
2020-02-18 10:08:51 -05:00
rules :
2022-02-10 13:18:16 -05:00
- !reference [".strict-ee-only-rules", rules]
2020-05-15 11:08:04 -04:00
- << : *if-security-merge-request
changes : *code-backstage-patterns
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-as-if-foss
- << : *if-merge-request-labels-run-all-rspec
2021-06-07 20:10:34 -04:00
- << : *if-merge-request
changes : *startup-css-patterns
2020-05-15 11:08:04 -04:00
- << : *if-merge-request
changes : *ci-patterns
2020-02-18 10:08:51 -05:00
2021-10-13 17:09:56 -04:00
.frontend:rules:default-frontend-jobs-as-if-jh :
rules :
2022-02-10 13:18:16 -05:00
- !reference [".strict-ee-only-rules", rules]
- !reference [".as-if-jh-default-exclusion-rules", rules]
2021-10-13 17:09:56 -04:00
- << : *if-merge-request-labels-run-all-rspec
2022-01-19 22:14:52 -05:00
allow_failure : true
2021-10-13 17:09:56 -04:00
- << : *if-merge-request
changes : *startup-css-patterns
2022-01-19 22:14:52 -05:00
allow_failure : true
2021-10-13 17:09:56 -04:00
- << : *if-merge-request
changes : *ci-patterns
2022-01-19 22:14:52 -05:00
allow_failure : true
2021-10-13 17:09:56 -04:00
2021-09-08 05:09:10 -04:00
.frontend:rules:jest :
rules :
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
when : never
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-jest
2021-09-08 05:09:10 -04:00
- << : *if-default-refs
changes : *core-frontend-patterns
- << : *if-merge-request
changes : *ci-patterns
- << : *if-automated-merge-request
changes : *code-backstage-patterns
2021-12-07 13:10:32 -05:00
- << : *if-security-merge-request
changes : *code-backstage-patterns
2021-09-08 05:09:10 -04:00
- << : *if-merge-request-not-approved
when : never
- << : *if-default-refs
changes : *code-backstage-patterns
.frontend:rules:jest:minimal :
rules :
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
changes : *code-backstage-patterns
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:minimal-default-rules", rules]
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-jest
2021-09-08 05:09:10 -04:00
when : never
2022-02-17 07:12:30 -05:00
- changes : *core-frontend-patterns
2021-09-08 05:09:10 -04:00
when : never
- << : *if-merge-request
changes : *ci-patterns
when : never
- << : *if-merge-request
changes : *code-backstage-patterns
2020-07-09 05:09:27 -04:00
.frontend:rules:eslint-as-if-foss :
rules :
2022-02-10 13:18:16 -05:00
- !reference [".strict-ee-only-rules", rules]
2021-10-13 17:09:56 -04:00
# We already have `static-analysis as-if-foss` which already runs `lint:eslint:all` if the `pipeline:run-as-if-foss` label is set.
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-as-if-foss
2021-05-20 17:10:31 -04:00
when : never
2020-07-09 05:09:27 -04:00
- << : *if-merge-request
changes : *frontend-patterns
2021-03-30 11:11:08 -04:00
.frontend:rules:ee-mr-and-default-branch-only :
2020-04-24 14:09:46 -04:00
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2020-04-24 14:09:46 -04:00
- << : *if-merge-request
changes : *code-backstage-patterns
2020-11-23 13:09:14 -05:00
when : always
2021-03-30 11:11:08 -04:00
- << : *if-default-branch-refs
2020-04-24 14:09:46 -04:00
changes : *code-backstage-patterns
2020-02-18 10:08:51 -05:00
.frontend:rules:qa-frontend-node :
rules :
2021-03-30 11:11:08 -04:00
- << : *if-default-branch-refs
2020-04-06 08:10:44 -04:00
changes : *frontend-dependency-patterns
2020-03-12 11:09:39 -04:00
- << : *if-merge-request
changes : *frontend-dependency-patterns
2020-02-18 10:08:51 -05:00
2020-05-07 05:09:51 -04:00
.frontend:rules:qa-frontend-node-latest :
rules :
2021-03-30 11:11:08 -04:00
- << : *if-default-branch-refs
2020-05-07 05:09:51 -04:00
changes : *frontend-dependency-patterns
allow_failure : true
- << : *if-merge-request
changes : *frontend-dependency-patterns
allow_failure : true
2020-05-20 14:08:00 -04:00
.frontend:rules:bundle-size-review :
rules :
2021-03-03 07:11:16 -05:00
- << : *if-not-canonical-namespace
when : never
2021-03-30 11:11:08 -04:00
- if : '$DANGER_GITLAB_API_TOKEN && $CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
2021-04-19 02:09:21 -04:00
changes : *frontend-build-patterns
2020-05-20 14:08:00 -04:00
allow_failure : true
2020-02-18 10:08:51 -05:00
################
# Memory rules #
################
.memory:rules :
rules :
- << : *if-default-refs
changes : *code-patterns
###############
# Pages rules #
###############
.pages:rules :
rules :
2021-07-21 08:09:35 -04:00
- << : *if-dot-com-ee-2-hourly-schedule
2020-02-18 10:08:51 -05:00
############
# QA rules #
############
2022-04-12 14:10:14 -04:00
.qa:rules:internal :
rules :
- << : *if-default-refs
changes : *qa-patterns
2020-02-18 10:08:51 -05:00
.qa:rules:ee-and-foss :
rules :
- << : *if-default-refs
changes : *code-qa-patterns
2020-05-15 11:08:04 -04:00
.qa:rules:as-if-foss :
2020-02-18 10:08:51 -05:00
rules :
2022-02-10 13:18:16 -05:00
- !reference [".strict-ee-only-rules", rules]
2020-05-15 11:08:04 -04:00
- << : *if-security-merge-request
changes : *code-qa-patterns
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-as-if-foss
- << : *if-merge-request-labels-run-all-rspec
2020-05-15 11:08:04 -04:00
- << : *if-merge-request
changes : *ci-patterns
2020-02-18 10:08:51 -05:00
2022-04-12 14:10:14 -04:00
.qa:rules:internal-as-if-foss :
rules :
- !reference [".strict-ee-only-rules", rules]
- << : *if-default-refs
changes : *qa-patterns
2020-02-18 10:08:51 -05:00
.qa:rules:package-and-qa :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-04-26 11:10:32 -04:00
- << : *if-merge-request-targeting-stable-branch
allow_failure : true
2022-04-19 14:09:14 -04:00
- << : *if-dot-com-gitlab-org-and-security-merge-request
changes : *nodejs-patterns
allow_failure : true
2020-06-10 14:09:15 -04:00
- << : *if-dot-com-gitlab-org-and-security-merge-request
2020-06-18 14:08:58 -04:00
changes : *ci-qa-patterns
2020-05-07 05:09:51 -04:00
allow_failure : true
2020-06-10 14:09:15 -04:00
- << : *if-dot-com-gitlab-org-and-security-merge-request
2020-02-18 10:08:51 -05:00
changes : *qa-patterns
2020-05-07 05:09:51 -04:00
allow_failure : true
2020-06-10 14:09:15 -04:00
- << : *if-dot-com-gitlab-org-and-security-merge-request
2020-02-18 10:08:51 -05:00
changes : *code-patterns
when : manual
2020-05-07 05:09:51 -04:00
allow_failure : true
2020-02-18 10:08:51 -05:00
- << : *if-dot-com-gitlab-org-schedule
2020-05-07 05:09:51 -04:00
allow_failure : true
2022-03-18 11:07:23 -04:00
- << : *if-force-ci
when : manual
allow_failure : true
2020-02-18 10:08:51 -05:00
2021-10-18 20:10:29 -04:00
.qa:rules:package-and-qa:feature-flags :
rules :
- << : *if-not-ee
when : never
2021-11-17 01:12:07 -05:00
- << : *if-dot-com-gitlab-org-and-security-merge-request-manual-ff-package-and-qa
2021-10-26 05:09:57 -04:00
changes : *feature-flag-development-config-patterns
2021-10-21 08:10:30 -04:00
when : manual
2021-10-18 20:10:29 -04:00
allow_failure : true
2021-11-17 01:12:07 -05:00
- << : *if-dot-com-gitlab-org-and-security-merge-request
changes : *feature-flag-development-config-patterns
allow_failure : true
2021-10-18 20:10:29 -04:00
2020-02-18 10:08:51 -05:00
###############
# Rails rules #
###############
2022-02-24 16:15:17 -05:00
.rails:rules:build-components :
rules :
- << : *if-dot-com-ee-schedule
- << : *if-dot-com-gitlab-org-default-branch
changes :
- "workhorse/**/*"
- << : *if-dot-com-gitlab-org-merge-request
when : manual
allow_failure : true
2021-10-29 08:14:45 -04:00
.rails:rules:setup-test-env :
rules :
- changes : *setup-test-env-patterns
- << : *if-merge-request-labels-run-all-rspec
2022-03-17 23:07:42 -04:00
.rails:rules:single-db :
2021-08-19 02:11:00 -04:00
rules :
2022-03-17 23:07:42 -04:00
- << : *if-merge-request-labels-run-single-db
- << : *if-merge-request
changes : *db-patterns
2021-10-27 05:12:12 -04:00
- << : *if-default-branch-schedule-nightly
2021-08-19 02:11:00 -04:00
2022-05-11 20:09:17 -04:00
.rails:rules:praefect-with-db :
rules :
- if : '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-praefect-with-db/'
allow_failure : true
2020-06-18 08:09:25 -04:00
.rails:rules:ee-and-foss-migration :
2020-02-18 10:08:51 -05:00
rules :
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
when : never
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-rspec
2021-10-04 14:12:46 -04:00
- << : *if-merge-request
changes : *core-backend-patterns
2021-08-02 17:09:44 -04:00
- << : *if-merge-request
changes : *ci-patterns
2022-02-17 07:12:30 -05:00
# When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well.
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840.
2021-08-25 08:11:32 -04:00
- << : *if-merge-request
changes : *db-patterns
2021-07-26 05:09:00 -04:00
- << : *if-automated-merge-request
changes : *db-patterns
2021-12-07 13:10:32 -05:00
- << : *if-security-merge-request
changes : *db-patterns
2021-07-26 05:09:00 -04:00
- << : *if-merge-request-not-approved
when : never
- changes : *db-patterns
2020-06-18 08:09:25 -04:00
2020-12-14 07:09:44 -05:00
.rails:rules:ee-and-foss-migration:minimal :
rules :
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
changes : *db-patterns
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:minimal-default-rules", rules]
- !reference [".rails:rules:unit-integration:minimal-default-rules", rules]
2022-02-17 07:12:30 -05:00
# When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well.
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840.
2020-12-14 07:09:44 -05:00
- << : *if-merge-request
changes : *db-patterns
2021-08-25 08:11:32 -04:00
when : never
2020-12-14 07:09:44 -05:00
2021-01-05 07:10:36 -05:00
.rails:rules:ee-and-foss-mr-with-migration :
rules :
- << : *if-merge-request
changes : *db-patterns
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-rspec
2021-01-05 07:10:36 -05:00
2021-01-27 13:09:08 -05:00
.rails:rules:db:gitlabcom-database-testing :
rules :
- if : '$GITLABCOM_DATABASE_TESTING_TRIGGER_TOKEN == null'
when : never
- << : *if-merge-request
changes : *db-patterns
2021-04-14 11:09:04 -04:00
when : manual
2021-01-27 13:09:08 -05:00
2020-06-18 08:09:25 -04:00
.rails:rules:ee-and-foss-unit :
rules :
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
when : never
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:ee-and-foss-default-rules", rules]
2021-07-26 05:09:00 -04:00
- changes : *backend-patterns
2020-06-18 08:09:25 -04:00
2020-12-14 07:09:44 -05:00
.rails:rules:ee-and-foss-unit:minimal :
rules :
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
changes : *backend-patterns
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:minimal-default-rules", rules]
- !reference [".rails:rules:unit-integration:minimal-default-rules", rules]
2020-12-14 07:09:44 -05:00
- << : *if-merge-request
changes : *backend-patterns
2020-06-18 08:09:25 -04:00
.rails:rules:ee-and-foss-integration :
rules :
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
when : never
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:ee-and-foss-default-rules", rules]
2021-07-26 05:09:00 -04:00
- changes : *backend-patterns
2020-06-18 08:09:25 -04:00
2020-12-14 07:09:44 -05:00
.rails:rules:ee-and-foss-integration:minimal :
rules :
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
changes : *backend-patterns
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:minimal-default-rules", rules]
- !reference [".rails:rules:unit-integration:minimal-default-rules", rules]
2020-12-14 07:09:44 -05:00
- << : *if-merge-request
changes : *backend-patterns
2020-06-18 08:09:25 -04:00
.rails:rules:ee-and-foss-system :
rules :
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
when : never
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:system-default-rules", rules]
2021-07-26 05:09:00 -04:00
- changes : *code-backstage-patterns
2020-06-18 08:09:25 -04:00
2020-12-14 07:09:44 -05:00
.rails:rules:ee-and-foss-system:minimal :
rules :
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
changes : *code-backstage-patterns
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:minimal-default-rules", rules]
- !reference [".rails:rules:system:minimal-default-rules", rules]
2020-12-14 07:09:44 -05:00
2020-06-18 08:09:25 -04:00
.rails:rules:ee-and-foss-fast_spec_helper :
rules :
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-rspec
2021-10-04 14:12:46 -04:00
- << : *if-merge-request
changes : *core-backend-patterns
2021-08-02 17:09:44 -04:00
- << : *if-merge-request
changes : *ci-patterns
2021-07-26 05:09:00 -04:00
- changes : [ "config/**/*" ]
2020-02-18 10:08:51 -05:00
2021-03-08 13:09:12 -05:00
.rails:rules:code-backstage-qa :
2020-02-18 10:08:51 -05:00
rules :
2021-03-08 13:09:12 -05:00
- changes : *code-backstage-qa-patterns
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-rspec
2020-02-18 10:08:51 -05:00
2020-06-18 08:09:25 -04:00
.rails:rules:ee-only-migration :
2020-02-18 10:08:51 -05:00
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-rspec
2021-10-04 14:12:46 -04:00
- << : *if-merge-request
changes : *core-backend-patterns
2021-08-02 17:09:44 -04:00
- << : *if-merge-request
changes : *ci-patterns
2022-02-17 07:12:30 -05:00
# When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well.
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840.
2021-08-25 08:11:32 -04:00
- << : *if-merge-request
changes : *db-patterns
2021-07-26 05:09:00 -04:00
- << : *if-automated-merge-request
changes : *db-patterns
2021-12-07 13:10:32 -05:00
- << : *if-security-merge-request
changes : *db-patterns
2021-07-26 05:09:00 -04:00
- << : *if-merge-request-not-approved
when : never
- changes : *db-patterns
2020-06-18 08:09:25 -04:00
2020-12-14 07:09:44 -05:00
.rails:rules:ee-only-migration:minimal :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:minimal-default-rules", rules]
- !reference [".rails:rules:unit-integration:minimal-default-rules", rules]
2022-02-17 07:12:30 -05:00
# When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well.
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840.
2020-12-14 07:09:44 -05:00
- << : *if-merge-request
changes : *db-patterns
2021-08-25 08:11:32 -04:00
when : never
2020-12-14 07:09:44 -05:00
2020-06-18 08:09:25 -04:00
.rails:rules:ee-only-unit :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
when : never
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:ee-and-foss-default-rules", rules]
2021-07-26 05:09:00 -04:00
- changes : *backend-patterns
2020-06-18 08:09:25 -04:00
2020-12-14 07:09:44 -05:00
.rails:rules:ee-only-unit:minimal :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
changes : *backend-patterns
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:minimal-default-rules", rules]
- !reference [".rails:rules:unit-integration:minimal-default-rules", rules]
2020-12-14 07:09:44 -05:00
- << : *if-merge-request
changes : *backend-patterns
2020-06-18 08:09:25 -04:00
.rails:rules:ee-only-integration :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
when : never
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:ee-and-foss-default-rules", rules]
2021-07-26 05:09:00 -04:00
- changes : *backend-patterns
2020-06-18 08:09:25 -04:00
2020-12-14 07:09:44 -05:00
.rails:rules:ee-only-integration:minimal :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
changes : *backend-patterns
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:minimal-default-rules", rules]
- !reference [".rails:rules:unit-integration:minimal-default-rules", rules]
2020-12-14 07:09:44 -05:00
- << : *if-merge-request
changes : *backend-patterns
2020-06-18 08:09:25 -04:00
.rails:rules:ee-only-system :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
when : never
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:system-default-rules", rules]
2021-07-26 05:09:00 -04:00
- changes : *code-backstage-patterns
2020-06-18 08:09:25 -04:00
2020-12-14 07:09:44 -05:00
.rails:rules:ee-only-system:minimal :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
changes : *code-backstage-patterns
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:minimal-default-rules", rules]
- !reference [".rails:rules:system:minimal-default-rules", rules]
2020-12-14 07:09:44 -05:00
2020-06-18 08:09:25 -04:00
.rails:rules:as-if-foss-migration :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-rspec
2021-10-04 14:12:46 -04:00
- << : *if-merge-request
changes : *core-backend-patterns
2021-08-02 17:09:44 -04:00
- << : *if-merge-request
changes : *ci-patterns
2022-02-17 07:12:30 -05:00
# When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well.
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840.
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-as-if-foss
2020-09-11 17:08:44 -04:00
changes : *db-patterns
2021-08-25 08:11:32 -04:00
- << : *if-automated-merge-request
changes : *db-patterns
2021-12-07 13:10:32 -05:00
- << : *if-security-merge-request
changes : *db-patterns
2021-08-25 08:11:32 -04:00
- << : *if-merge-request-not-approved
when : never
2020-06-18 08:09:25 -04:00
2020-12-14 07:09:44 -05:00
.rails:rules:as-if-foss-migration:minimal :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:minimal-default-rules", rules]
- !reference [".rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules", rules]
2022-02-17 07:12:30 -05:00
# When DB schema changes, many migrations spec may be affected. However, the test mapping from Crystalball does not map db change to a specific migration spec well.
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/68840.
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-as-if-foss
2020-12-14 07:09:44 -05:00
changes : *db-patterns
2021-08-25 08:11:32 -04:00
when : never
2020-12-14 07:09:44 -05:00
2020-06-18 08:09:25 -04:00
.rails:rules:as-if-foss-unit :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
when : never
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:ee-and-foss-default-rules", rules]
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-as-if-foss
2020-09-11 17:08:44 -04:00
changes : *backend-patterns
2020-06-18 08:09:25 -04:00
2020-12-14 07:09:44 -05:00
.rails:rules:as-if-foss-unit:minimal :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
when : never
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:minimal-default-rules", rules]
- !reference [".rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules", rules]
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-as-if-foss
2020-12-14 07:09:44 -05:00
changes : *backend-patterns
2020-06-18 08:09:25 -04:00
.rails:rules:as-if-foss-integration :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
when : never
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:ee-and-foss-default-rules", rules]
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-as-if-foss
2020-09-11 17:08:44 -04:00
changes : *backend-patterns
2020-02-18 10:08:51 -05:00
2020-12-14 07:09:44 -05:00
.rails:rules:as-if-foss-integration:minimal :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
when : never
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:minimal-default-rules", rules]
- !reference [".rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules", rules]
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-as-if-foss
2020-12-14 07:09:44 -05:00
changes : *backend-patterns
2020-06-18 08:09:25 -04:00
.rails:rules:as-if-foss-system :
2020-05-15 11:08:04 -04:00
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
when : never
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:system-default-rules", rules]
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-as-if-foss
2020-09-11 17:08:44 -04:00
changes : *code-backstage-patterns
2020-05-15 11:08:04 -04:00
2020-12-14 07:09:44 -05:00
.rails:rules:as-if-foss-system:minimal :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-02-17 07:12:30 -05:00
- << : *if-fork-merge-request
when : never
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:minimal-default-rules", rules]
2021-10-04 14:12:46 -04:00
- << : *if-merge-request
changes : *core-backend-patterns
when : never
2022-01-20 13:14:18 -05:00
- << : *if-merge-request
changes : *workhorse-patterns
when : never
2020-12-14 07:09:44 -05:00
- << : *if-merge-request
changes : *ci-patterns
when : never
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-as-if-foss
2020-12-14 07:09:44 -05:00
changes : *code-backstage-patterns
2021-10-29 02:09:33 -04:00
.rails:rules:as-if-jh-rspec :
rules :
2022-02-10 13:18:16 -05:00
- !reference [".strict-ee-only-rules", rules]
- !reference [".as-if-jh-default-exclusion-rules", rules]
2021-10-29 02:09:33 -04:00
- << : *if-merge-request
changes : *ci-patterns
allow_failure : true
2021-01-13 07:10:27 -05:00
.rails:rules:ee-and-foss-db-library-code :
rules :
2021-05-20 17:10:31 -04:00
- changes : *db-library-patterns
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-rspec
2021-01-13 07:10:27 -05:00
2021-03-30 11:11:08 -04:00
.rails:rules:ee-mr-and-default-branch-only :
2020-04-24 14:09:46 -04:00
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-rspec
2020-04-24 14:09:46 -04:00
- << : *if-merge-request
changes : *code-backstage-patterns
2021-03-30 11:11:08 -04:00
- << : *if-default-branch-refs
2020-04-24 14:09:46 -04:00
changes : *code-backstage-patterns
2020-09-01 08:11:01 -04:00
.rails:rules:detect-tests :
rules :
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-rspec
2022-02-08 13:16:03 -05:00
- changes : *code-backstage-qa-patterns
- changes : *workhorse-patterns
2020-09-01 08:11:01 -04:00
2021-10-25 11:12:11 -04:00
.rails:rules:detect-previous-failed-tests :
rules :
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:previous-failed-tests-default-rules", rules]
2021-10-25 11:12:11 -04:00
.rails:rules:rerun-previous-failed-tests :
rules :
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:previous-failed-tests-default-rules", rules]
2021-10-25 11:12:11 -04:00
2020-09-01 08:11:01 -04:00
.rails:rules:rspec-foss-impact :
2020-06-02 05:08:01 -04:00
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-as-if-foss
2020-06-16 08:09:00 -04:00
when : never
2020-06-02 05:08:01 -04:00
- << : *if-security-merge-request
changes : *code-backstage-patterns
- << : *if-dot-com-gitlab-org-merge-request
changes : *code-backstage-patterns
2020-09-14 11:09:28 -04:00
.rails:rules:rspec fail-fast :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2020-09-14 11:09:28 -04:00
- << : *if-security-merge-request
changes : *code-backstage-patterns
- << : *if-dot-com-gitlab-org-merge-request
changes : *code-backstage-patterns
.rails:rules:fail-pipeline-early :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2020-09-14 11:09:28 -04:00
- << : *if-security-merge-request
changes : *code-backstage-patterns
when : on_failure
- << : *if-dot-com-gitlab-org-merge-request
changes : *code-backstage-patterns
when : on_failure
2020-12-29 19:10:29 -05:00
.rails:rules:deprecations :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2021-03-30 11:11:08 -04:00
- << : *if-default-branch-schedule-nightly
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-rspec
2020-12-29 19:10:29 -05:00
2020-06-30 05:08:37 -04:00
.rails:rules:rspec-coverage :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2020-09-10 14:08:54 -04:00
- << : *if-merge-request
changes : *code-backstage-patterns
2020-11-23 13:09:14 -05:00
when : always
2021-03-30 11:11:08 -04:00
- << : *if-default-branch-schedule-2-hourly
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-rspec
2020-11-23 13:09:14 -05:00
when : always
2020-10-14 14:08:47 -04:00
2021-12-01 19:17:32 -05:00
.rails:rules:rspec-undercoverage :
rules :
- << : *if-not-ee
when : never
- << : *if-merge-request-labels-skip-undercoverage
2021-12-03 10:10:36 -05:00
when : never
2021-12-01 19:17:32 -05:00
- << : *if-merge-request-labels-run-all-rspec
- << : *if-merge-request
changes : *backend-patterns
2022-02-10 13:18:16 -05:00
.rails:rules:default-branch-schedule-nightly--code-backstage-default-rules :
2020-07-09 08:08:56 -04:00
rules :
2021-03-30 11:11:08 -04:00
- << : *if-default-branch-schedule-nightly
2020-07-09 08:08:56 -04:00
- << : *if-merge-request
changes : [ ".gitlab/ci/rails.gitlab-ci.yml" ]
2022-02-10 13:18:16 -05:00
.rails:rules:default-branch-schedule-nightly--code-backstage :
rules :
- !reference [".rails:rules:default-branch-schedule-nightly--code-backstage-default-rules", rules]
2021-05-10 08:10:26 -04:00
.rails:rules:default-branch-schedule-nightly--code-backstage-ee-only :
2020-07-09 08:08:56 -04:00
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2022-02-10 13:18:16 -05:00
- !reference [".rails:rules:default-branch-schedule-nightly--code-backstage-default-rules", rules]
2020-07-09 08:08:56 -04:00
2021-06-17 05:09:53 -04:00
.rails:rules:rspec-feature-flags :
rules :
- << : *if-not-ee
when : never
- changes : *code-backstage-patterns
2022-01-25 13:11:55 -05:00
.rails:rules:flaky-tests-report :
2021-11-08 10:13:35 -05:00
rules :
- << : *if-not-ee
when : never
2022-01-25 13:11:55 -05:00
- if : '$SKIP_FLAKY_TESTS_AUTOMATICALLY == "true" || $RETRY_FAILED_TESTS_IN_NEW_PROCESS == "true"'
2021-11-08 10:13:35 -05:00
changes : *code-backstage-patterns
2022-01-25 13:11:55 -05:00
when : always
- if : '$SKIP_FLAKY_TESTS_AUTOMATICALLY == "true" || $RETRY_FAILED_TESTS_IN_NEW_PROCESS == "true"'
changes : *ci-patterns
when : always
2021-11-08 10:13:35 -05:00
2021-04-28 08:10:09 -04:00
#########################
# Static analysis rules #
#########################
.static-analysis:rules:ee-and-foss :
rules :
- changes : *code-backstage-qa-patterns
2022-04-18 17:08:27 -04:00
.static-analysis:rules:ee-and-foss-qa :
rules :
- changes : *qa-patterns
2021-11-01 05:13:14 -04:00
.static-analysis:rules:ee :
rules :
- << : *if-not-ee
when : never
- changes : *code-backstage-qa-patterns
2021-04-28 08:10:09 -04:00
.static-analysis:rules:as-if-foss :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-as-if-foss
2021-04-28 08:10:09 -04:00
changes : *code-backstage-qa-patterns
- << : *if-security-merge-request
changes : *code-backstage-qa-patterns
- << : *if-merge-request
changes : *ci-patterns
2021-04-09 20:09:11 -04:00
#######################
# Vendored gems rules #
#######################
.vendor:rules:mail-smtp_pool :
rules :
- << : *if-merge-request
changes : [ "vendor/gems/mail-smtp_pool/**/*" ]
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-rspec
2021-04-09 20:09:11 -04:00
2020-02-18 10:08:51 -05:00
##################
# Releases rules #
##################
.releases:rules:canonical-dot-com-gitlab-stable-branch-only :
rules :
2020-11-03 10:09:05 -05:00
- if : '$CI_COMMIT_MESSAGE =~ /\[merge-train skip\]/'
when : never
2020-02-20 07:08:51 -05:00
- if : '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab" && $CI_COMMIT_REF_NAME =~ /^[\d-]+-stable-ee$/'
2020-02-18 10:08:51 -05:00
.releases:rules:canonical-dot-com-security-gitlab-stable-branch-only :
rules :
2020-11-03 10:09:05 -05:00
- if : '$CI_COMMIT_MESSAGE =~ /\[merge-train skip\]/'
when : never
2020-02-20 07:08:51 -05:00
- if : '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/security/gitlab" && $CI_COMMIT_REF_NAME =~ /^[\d-]+-stable-ee$/'
2020-02-18 10:08:51 -05:00
#################
# Reports rules #
#################
.reports:rules:code_quality :
rules :
- if : '$CODE_QUALITY_DISABLED'
when : never
- << : *if-default-refs
changes : *code-backstage-patterns
2021-10-07 14:11:28 -04:00
.reports:rules:brakeman-sast :
2020-02-18 10:08:51 -05:00
rules :
2021-10-07 14:11:28 -04:00
- if : $SAST_DISABLED
2020-02-18 10:08:51 -05:00
when : never
2021-10-07 14:11:28 -04:00
- if : $SAST_EXCLUDED_ANALYZERS =~ /brakeman/
when : never
- changes :
- '**/*.rb'
- '**/Gemfile'
.reports:rules:gosec-sast :
rules :
- if : $SAST_DISABLED
when : never
- if : $SAST_EXCLUDED_ANALYZERS =~ /gosec/
when : never
- changes :
- '**/*.go'
.reports:rules:semgrep-sast :
rules :
- if : $SAST_DISABLED
when : never
- if : $SAST_EXCLUDED_ANALYZERS =~ /semgrep/
when : never
- changes :
- '**/*.py'
- '**/*.js'
- '**/*.jsx'
- '**/*.ts'
- '**/*.tsx'
- '**/*.c'
- '**/*.go'
2021-05-17 14:10:42 -04:00
.reports:rules:secret_detection :
rules :
- if : '$SECRET_DETECTION_DISABLED'
when : never
2022-05-16 20:08:52 -04:00
# Scan each commit on master to feed the Vulnerability Reports with detected secrets
- << : *if-default-branch-refs
2021-05-17 14:10:42 -04:00
- changes : *code-backstage-qa-patterns
2020-02-18 10:08:51 -05:00
2021-06-21 14:08:00 -04:00
.reports:rules:gemnasium-dependency_scanning :
2020-02-18 10:08:51 -05:00
rules :
2022-05-11 11:07:26 -04:00
- if : '$DEPENDENCY_SCANNING_DISABLED || $GITLAB_FEATURES !~ /\bdependency_scanning\b/ || $DS_EXCLUDED_ANALYZERS =~ /gemnasium([^-]|$)/'
2020-02-18 10:08:51 -05:00
when : never
2022-05-16 20:08:52 -04:00
# Run Dependency Scanning on master until https://gitlab.com/gitlab-org/gitlab/-/issues/361657 is resolved
- << : *if-default-branch-refs
2021-10-07 14:11:28 -04:00
- changes : *dependency-patterns
2021-06-21 14:08:00 -04:00
.reports:rules:gemnasium-python-dependency_scanning :
rules :
2022-05-11 11:07:26 -04:00
- if : '$DEPENDENCY_SCANNING_DISABLED || $GITLAB_FEATURES !~ /\bdependency_scanning\b/ || $DS_EXCLUDED_ANALYZERS =~ /gemnasium-python/'
2021-06-21 14:08:00 -04:00
when : never
2022-05-16 20:08:52 -04:00
# Run Dependency Scanning on master until https://gitlab.com/gitlab-org/gitlab/-/issues/361657 is resolved
- << : *if-default-branch-refs
2021-10-07 14:11:28 -04:00
- changes : *python-patterns
2020-02-18 10:08:51 -05:00
2021-11-09 10:12:42 -05:00
.reports:rules:yarn-audit-dependency_scanning :
rules :
- if : '$DEPENDENCY_SCANNING_DISABLED || $GITLAB_FEATURES !~ /\bdependency_scanning\b/'
when : never
2022-05-16 20:08:52 -04:00
# Run Dependency Scanning on master until https://gitlab.com/gitlab-org/gitlab/-/issues/361657 is resolved
- << : *if-default-branch-refs
2021-11-09 10:12:42 -05:00
- changes : *nodejs-patterns
2021-04-20 14:09:37 -04:00
.reports:rules:schedule-dast :
2020-02-18 10:08:51 -05:00
rules :
- if : '$DAST_DISABLED || $GITLAB_FEATURES !~ /\bdast\b/'
when : never
2021-10-18 02:12:21 -04:00
- << : *if-dot-com-ee-nightly-schedule-child-pipeline
2020-02-18 10:08:51 -05:00
2021-07-06 17:07:50 -04:00
.reports:rules:package_hunter-yarn :
2021-04-20 14:09:37 -04:00
rules :
2021-06-21 08:07:45 -04:00
- if : "$PACKAGE_HUNTER_USER == null || $PACKAGE_HUNTER_USER == ''"
when : never
2021-04-20 14:09:37 -04:00
- << : *if-default-branch-schedule-2-hourly
- << : *if-merge-request
changes : [ "yarn.lock" ]
2021-07-06 17:07:50 -04:00
.reports:rules:package_hunter-bundler :
rules :
- if : "$PACKAGE_HUNTER_USER == null || $PACKAGE_HUNTER_USER == ''"
when : never
- << : *if-default-branch-schedule-2-hourly
- << : *if-merge-request
changes : [ "Gemfile.lock" ]
2020-10-08 20:08:41 -04:00
.reports:rules:license_scanning :
rules :
2021-10-07 14:11:28 -04:00
- if : '$LICENSE_MANAGEMENT_DISABLED || $GITLAB_FEATURES !~ /\blicense_scanning\b/'
2020-10-08 20:08:41 -04:00
when : never
2021-10-07 14:11:28 -04:00
- changes : *code-backstage-qa-patterns
2020-10-08 20:08:41 -04:00
2020-02-18 10:08:51 -05:00
################
# Review rules #
################
2021-11-17 22:14:17 -05:00
.review:rules:start-review-app-pipeline :
2020-02-18 10:08:51 -05:00
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2021-11-05 05:09:47 -04:00
- << : *if-merge-request-labels-run-review-app
2020-05-07 05:09:51 -04:00
- << : *if-dot-com-gitlab-org-merge-request
2020-06-18 14:08:58 -04:00
changes : *ci-review-patterns
2020-05-07 05:09:51 -04:00
- << : *if-dot-com-gitlab-org-merge-request
changes : *frontend-patterns
2022-01-18 07:16:49 -05:00
- << : *if-dot-com-gitlab-org-merge-request
changes : *controllers-patterns
2022-02-15 13:14:39 -05:00
- << : *if-dot-com-gitlab-org-merge-request
changes : *models-patterns
2022-04-26 11:10:32 -04:00
- << : *if-dot-com-gitlab-org-merge-request
changes : *lib-gitlab-patterns
2022-01-18 07:16:49 -05:00
- << : *if-dot-com-gitlab-org-merge-request
changes : *qa-patterns
2020-05-07 05:09:51 -04:00
- << : *if-dot-com-gitlab-org-merge-request
2021-03-22 05:09:15 -04:00
changes : *code-patterns
2020-05-07 05:09:51 -04:00
when : manual
allow_failure : true
2021-12-13 16:14:32 -05:00
- << : *if-dot-com-gitlab-org-schedule
variables :
KNAPSACK_GENERATE_REPORT : "true"
2020-02-18 10:08:51 -05:00
2021-10-14 11:14:02 -04:00
.review:rules:review-build-cng :
rules :
2021-11-17 22:14:17 -05:00
- when : always
2021-10-14 11:14:02 -04:00
2020-08-27 11:10:21 -04:00
.review:rules:review-deploy :
rules :
2021-11-17 22:14:17 -05:00
- when : on_success
2020-08-27 11:10:21 -04:00
.review:rules:review-performance :
2020-03-19 20:09:29 -04:00
rules :
2020-10-29 08:08:50 -04:00
- if : '$DAST_RUN == "true"' # Skip this job when DAST is run
2020-08-24 14:10:19 -04:00
when : never
2021-11-17 22:14:17 -05:00
- << : *if-merge-request-labels-run-review-app # we explicitely don't allow the job to fail in that case
- << : *if-dot-com-gitlab-org-merge-request # we explicitely don't allow the job to fail in that case
2020-06-18 14:08:58 -04:00
changes : *ci-review-patterns
2021-11-17 22:14:17 -05:00
- when : on_success
2020-05-07 05:09:51 -04:00
allow_failure : true
2020-03-19 20:09:29 -04:00
2021-07-09 08:08:17 -04:00
.review:rules:review-delete-deployment :
2020-02-18 10:08:51 -05:00
rules :
2021-11-17 22:14:17 -05:00
- when : on_success
2020-02-18 10:08:51 -05:00
2020-05-07 05:09:51 -04:00
.review:rules:review-qa-smoke :
2020-03-19 20:09:29 -04:00
rules :
2021-11-17 22:14:17 -05:00
- when : on_success
2020-03-19 20:09:29 -04:00
2021-12-22 10:14:10 -05:00
# If the needed job isn't allowed to fail, we need to use `when: always` in
# order to keep the job always running after it.
#
# If the needed job is allowed to fail, we need to use both
# `when: on_success` and `when: on_failure` in order to keep
# the job always running after it.
# Not that if the needed job has `when: on_success` we can use `when: always`
# for the depending job.
#
# See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76756
2021-11-12 07:10:27 -05:00
.review:rules:review-qa-reliable :
rules :
- when : on_success
2021-12-20 13:13:27 -05:00
2021-12-22 10:14:10 -05:00
# Since `review-qa-reliable` isn't allowed to fail, we need to use `when: always`for `review-qa-reliable-report`.
2022-04-14 14:08:29 -04:00
.review:rules:review-qa-blocking-report :
2021-12-20 13:13:27 -05:00
rules :
- when : always
2021-11-12 07:10:27 -05:00
2021-03-22 05:09:15 -04:00
.review:rules:review-qa-all :
2020-02-18 10:08:51 -05:00
rules :
- << : *if-dot-com-gitlab-org-merge-request
2021-03-22 05:09:15 -04:00
changes : *code-patterns
2020-02-18 10:08:51 -05:00
when : manual
2022-01-04 13:14:20 -05:00
allow_failure : true # manual jobs needs to be allowed to fail, otherwise they block the pipeline
2021-11-17 22:14:17 -05:00
- when : on_success
2021-08-18 05:10:26 -04:00
allow_failure : true
2020-02-18 10:08:51 -05:00
2021-12-22 10:14:10 -05:00
# Since `review-qa-all` is allowed to fail (and potentially manual), we need to use `when: on_success` and `when: on_failure` for `review-qa-all-report`.
2021-06-01 08:09:36 -04:00
.review:rules:review-qa-all-report :
rules :
2021-11-17 22:14:17 -05:00
- when : on_success
- when : on_failure
2021-06-01 08:09:36 -04:00
2020-02-18 10:08:51 -05:00
.review:rules:review-cleanup :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2021-10-21 02:12:30 -04:00
- << : *if-dot-com-gitlab-org-schedule
2020-05-07 05:09:51 -04:00
allow_failure : true
2020-02-18 10:08:51 -05:00
2020-09-01 14:10:48 -04:00
.review:rules:review-stop :
rules :
2021-11-17 22:14:17 -05:00
- when : manual
2020-09-01 14:10:48 -04:00
allow_failure : true
2020-02-18 10:08:51 -05:00
.review:rules:danger :
rules :
2021-11-17 22:14:17 -05:00
- << : *if-merge-request
2020-02-18 10:08:51 -05:00
2021-07-15 08:09:01 -04:00
.review:rules:danger-local :
rules :
2021-11-17 22:14:17 -05:00
- << : *if-merge-request
2021-10-29 08:14:45 -04:00
changes : *danger-patterns
2021-07-15 08:09:01 -04:00
2022-05-24 11:08:28 -04:00
.review:rules:reviewers-recommender :
rules :
- << : *if-not-canonical-namespace
when : never
2022-06-08 14:09:19 -04:00
- << : *if-merge-request-labels-community-contribution
when : never
2022-05-24 11:08:28 -04:00
- << : *if-merge-request
2020-02-18 10:08:51 -05:00
###############
# Setup rules #
###############
.setup:rules:cache-gems :
rules :
- << : *if-not-canonical-namespace
when : never
2021-03-30 11:11:08 -04:00
- << : *if-default-branch-or-tag
2020-02-18 10:08:51 -05:00
changes : *code-backstage-qa-patterns
2020-03-27 05:08:28 -04:00
.setup:rules:dont-interrupt-me :
rules :
2021-03-30 11:11:08 -04:00
- << : *if-default-branch-or-tag
2020-05-07 05:09:51 -04:00
allow_failure : true
2020-03-27 05:08:28 -04:00
- << : *if-auto-deploy-branches
2020-05-07 05:09:51 -04:00
allow_failure : true
2020-03-27 05:08:28 -04:00
- when : manual
2020-05-07 05:09:51 -04:00
allow_failure : true
2020-03-27 05:08:28 -04:00
2020-02-18 10:08:51 -05:00
.setup:rules:gitlab_git_test :
rules :
- << : *if-default-refs
changes : *code-backstage-patterns
2021-11-15 22:13:10 -05:00
.setup:rules:no-ee-check :
2020-02-18 10:08:51 -05:00
rules :
- << : *if-not-foss
when : never
- << : *if-default-refs
changes : *code-backstage-patterns
2021-11-15 22:13:10 -05:00
.setup:rules:no-jh-check :
rules :
- << : *if-jh
when : never
- << : *if-default-refs
changes : *code-backstage-patterns
2020-08-25 11:10:17 -04:00
.setup:rules:verify-tests-yml :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2020-08-25 11:10:17 -04:00
- << : *if-default-refs
changes : *code-backstage-patterns
2022-04-07 11:09:57 -04:00
.setup:rules:jh-contribution :
rules :
- << : *if-jh
when : never
- << : *if-merge-request-labels-jh-contribution
2021-11-24 19:10:49 -05:00
.setup:rules:generate-frontend-fixtures-mapping :
rules :
- << : *if-not-ee
when : never
- << : *if-dot-com-ee-2-hourly-schedule
- changes :
- ".gitlab/ci/setup.gitlab-ci.yml"
- ".gitlab/ci/test-metadata.gitlab-ci.yml"
- "scripts/rspec_helpers.sh"
2021-10-13 17:09:56 -04:00
.setup:rules:add-jh-folder :
rules :
2022-02-10 13:18:16 -05:00
- !reference [".strict-ee-only-rules", rules]
- !reference [".as-if-jh-default-exclusion-rules", rules]
2021-10-13 17:09:56 -04:00
- << : *if-merge-request-labels-run-all-rspec
2022-01-19 22:14:52 -05:00
allow_failure : true
2021-10-13 17:09:56 -04:00
- changes : *code-backstage-qa-patterns
2022-01-19 22:14:52 -05:00
allow_failure : true
2021-10-13 17:09:56 -04:00
- changes : *startup-css-patterns
2022-01-19 22:14:52 -05:00
allow_failure : true
2022-02-08 13:16:03 -05:00
- changes : *workhorse-patterns
allow_failure : true
2021-10-13 17:09:56 -04:00
2020-02-18 10:08:51 -05:00
#######################
# Test metadata rules #
#######################
.test-metadata:rules:retrieve-tests-metadata :
rules :
2021-03-08 13:09:12 -05:00
- changes : *code-backstage-patterns
2022-02-08 13:16:03 -05:00
- changes : *workhorse-patterns
2021-09-30 02:09:27 -04:00
- << : *if-merge-request-labels-run-all-rspec
2020-02-18 10:08:51 -05:00
.test-metadata:rules:update-tests-metadata :
rules :
2021-05-20 17:10:31 -04:00
- << : *if-not-ee
when : never
2021-07-21 08:09:35 -04:00
- << : *if-dot-com-ee-2-hourly-schedule
2021-05-20 17:10:31 -04:00
- changes :
2020-04-21 17:09:38 -04:00
- ".gitlab/ci/test-metadata.gitlab-ci.yml"
- "scripts/rspec_helpers.sh"
2020-02-18 10:08:51 -05:00
2020-12-08 10:09:45 -05:00
###################
# workhorse rules #
###################
.workhorse:rules:workhorse :
rules :
2022-02-08 13:16:03 -05:00
- changes : *workhorse-patterns
2020-12-08 10:09:45 -05:00
2020-10-29 08:08:50 -04:00
###################
# yaml-lint rules #
###################
.yaml-lint:rules :
2020-02-18 10:08:51 -05:00
rules :
- << : *if-default-refs
2020-10-29 08:08:50 -04:00
changes : *yaml-lint-patterns