diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-02-10 18:18:16 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-02-10 18:18:16 +0000 |
commit | e0277d5393d958865fdec470176ac5874edded06 (patch) | |
tree | f867094e393909ef822e354b1c72997ec5102f6f /.gitlab/ci/rules.gitlab-ci.yml | |
parent | 74d9798736a89f07e047698e5e32964829bf8859 (diff) | |
download | gitlab-ce-e0277d5393d958865fdec470176ac5874edded06.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to '.gitlab/ci/rules.gitlab-ci.yml')
-rw-r--r-- | .gitlab/ci/rules.gitlab-ci.yml | 513 |
1 files changed, 152 insertions, 361 deletions
diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index c9c83937434..512adfc282f 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -453,6 +453,106 @@ .feature-flag-development-config-patterns: &feature-flag-development-config-patterns - "{,ee/}config/feature_flags/{development,ops}/*.yml" +################## +# 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 + + +.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 + ################ # Shared rules # ################ @@ -516,7 +616,6 @@ rules: - <<: *if-default-refs changes: *code-backstage-patterns - when: on_success .dev-fixtures:rules:ee-only: rules: @@ -524,7 +623,6 @@ when: never - <<: *if-default-refs changes: *code-backstage-patterns - when: on_success ############## # Docs rules # @@ -540,7 +638,6 @@ rules: - <<: *if-default-refs changes: *docs-patterns - when: on_success .docs:rules:deprecations-and-removals: rules: @@ -550,14 +647,12 @@ ################## # GraphQL rules # ################## - .graphql:rules:graphql-verify: rules: - <<: *if-not-ee when: never - <<: *if-default-refs changes: *code-backstage-qa-patterns - when: on_success ################## # Frontend rules # @@ -589,18 +684,8 @@ .frontend:rules:compile-test-assets-as-if-jh: rules: - - <<: *if-not-ee - when: never - - <<: *if-jh - when: never - - <<: *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 + - !reference [".strict-ee-only-rules", rules] + - !reference [".as-if-jh-default-exclusion-rules", rules] - <<: *if-merge-request-labels-run-all-rspec allow_failure: true - changes: *code-backstage-qa-patterns @@ -616,10 +701,7 @@ .frontend:rules:default-frontend-jobs-as-if-foss: rules: - - <<: *if-not-ee - when: never - - <<: *if-jh - when: never + - !reference [".strict-ee-only-rules", rules] - <<: *if-security-merge-request changes: *code-backstage-patterns - <<: *if-merge-request-labels-as-if-foss @@ -631,18 +713,8 @@ .frontend:rules:default-frontend-jobs-as-if-jh: rules: - - <<: *if-not-ee - when: never - - <<: *if-jh - when: never - - <<: *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 + - !reference [".strict-ee-only-rules", rules] + - !reference [".as-if-jh-default-exclusion-rules", rules] - <<: *if-merge-request-labels-run-all-rspec allow_failure: true - <<: *if-merge-request @@ -670,12 +742,7 @@ .frontend:rules:jest:minimal: rules: - - <<: *if-merge-request-approved - when: never - - <<: *if-automated-merge-request - when: never - - <<: *if-security-merge-request - when: never + - !reference [".rails:rules:minimal-default-rules", rules] - <<: *if-merge-request-labels-run-all-jest when: never - <<: *if-default-refs @@ -689,10 +756,7 @@ .frontend:rules:eslint-as-if-foss: rules: - - <<: *if-not-ee - when: never - - <<: *if-jh - when: never + - !reference [".strict-ee-only-rules", rules] # We already have `static-analysis as-if-foss` which already runs `lint:eslint:all` if the `pipeline:run-as-if-foss` label is set. - <<: *if-merge-request-labels-as-if-foss when: never @@ -740,7 +804,6 @@ rules: - <<: *if-default-refs changes: *code-patterns - when: on_success ############### # Pages rules # @@ -756,14 +819,10 @@ rules: - <<: *if-default-refs changes: *code-qa-patterns - when: on_success .qa:rules:as-if-foss: rules: - - <<: *if-not-ee - when: never - - <<: *if-jh - when: never + - !reference [".strict-ee-only-rules", rules] - <<: *if-security-merge-request changes: *code-qa-patterns - <<: *if-merge-request-labels-as-if-foss @@ -835,20 +894,8 @@ .rails:rules:ee-and-foss-migration:minimal: rules: - - <<: *if-merge-request-approved - when: never - - <<: *if-automated-merge-request - when: never - - <<: *if-security-merge-request - when: never - - <<: *if-merge-request-labels-run-all-rspec - when: never - - <<: *if-merge-request - changes: *core-backend-patterns - when: never - - <<: *if-merge-request - changes: *ci-patterns - when: never + - !reference [".rails:rules:minimal-default-rules", rules] + - !reference [".rails:rules:unit-integration:minimal-default-rules", rules] - <<: *if-merge-request changes: *db-patterns when: never @@ -869,110 +916,37 @@ .rails:rules:ee-and-foss-unit: 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 + - !reference [".rails:rules:ee-and-foss-default-rules", rules] - changes: *backend-patterns .rails:rules:ee-and-foss-unit:minimal: rules: - - <<: *if-merge-request-approved - when: never - - <<: *if-automated-merge-request - when: never - - <<: *if-security-merge-request - when: never - - <<: *if-merge-request-labels-run-all-rspec - when: never - - <<: *if-merge-request - changes: *core-backend-patterns - when: never - - <<: *if-merge-request - changes: *ci-patterns - when: never + - !reference [".rails:rules:minimal-default-rules", rules] + - !reference [".rails:rules:unit-integration:minimal-default-rules", rules] - <<: *if-merge-request changes: *backend-patterns .rails:rules:ee-and-foss-integration: 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 + - !reference [".rails:rules:ee-and-foss-default-rules", rules] - changes: *backend-patterns .rails:rules:ee-and-foss-integration:minimal: rules: - - <<: *if-merge-request-approved - when: never - - <<: *if-automated-merge-request - when: never - - <<: *if-security-merge-request - when: never - - <<: *if-merge-request-labels-run-all-rspec - when: never - - <<: *if-merge-request - changes: *core-backend-patterns - when: never - - <<: *if-merge-request - changes: *ci-patterns - when: never + - !reference [".rails:rules:minimal-default-rules", rules] + - !reference [".rails:rules:unit-integration:minimal-default-rules", rules] - <<: *if-merge-request changes: *backend-patterns .rails:rules:ee-and-foss-system: 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 + - !reference [".rails:rules:system-default-rules", rules] - changes: *code-backstage-patterns .rails:rules:ee-and-foss-system:minimal: rules: - - <<: *if-merge-request-approved - when: never - - <<: *if-automated-merge-request - when: never - - <<: *if-security-merge-request - when: never - - <<: *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 + - !reference [".rails:rules:minimal-default-rules", rules] + - !reference [".rails:rules:system:minimal-default-rules", rules] .rails:rules:ee-and-foss-fast_spec_helper: rules: @@ -1011,20 +985,8 @@ rules: - <<: *if-not-ee when: never - - <<: *if-merge-request-approved - when: never - - <<: *if-automated-merge-request - when: never - - <<: *if-security-merge-request - when: never - - <<: *if-merge-request-labels-run-all-rspec - when: never - - <<: *if-merge-request - changes: *core-backend-patterns - when: never - - <<: *if-merge-request - changes: *ci-patterns - when: never + - !reference [".rails:rules:minimal-default-rules", rules] + - !reference [".rails:rules:unit-integration:minimal-default-rules", rules] - <<: *if-merge-request changes: *db-patterns when: never @@ -1033,37 +995,15 @@ rules: - <<: *if-not-ee when: never - - <<: *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 + - !reference [".rails:rules:ee-and-foss-default-rules", rules] - changes: *backend-patterns .rails:rules:ee-only-unit:minimal: rules: - <<: *if-not-ee when: never - - <<: *if-merge-request-approved - when: never - - <<: *if-automated-merge-request - when: never - - <<: *if-security-merge-request - when: never - - <<: *if-merge-request-labels-run-all-rspec - when: never - - <<: *if-merge-request - changes: *core-backend-patterns - when: never - - <<: *if-merge-request - changes: *ci-patterns - when: never + - !reference [".rails:rules:minimal-default-rules", rules] + - !reference [".rails:rules:unit-integration:minimal-default-rules", rules] - <<: *if-merge-request changes: *backend-patterns @@ -1071,37 +1011,15 @@ rules: - <<: *if-not-ee when: never - - <<: *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 + - !reference [".rails:rules:ee-and-foss-default-rules", rules] - changes: *backend-patterns .rails:rules:ee-only-integration:minimal: rules: - <<: *if-not-ee when: never - - <<: *if-merge-request-approved - when: never - - <<: *if-automated-merge-request - when: never - - <<: *if-security-merge-request - when: never - - <<: *if-merge-request-labels-run-all-rspec - when: never - - <<: *if-merge-request - changes: *core-backend-patterns - when: never - - <<: *if-merge-request - changes: *ci-patterns - when: never + - !reference [".rails:rules:minimal-default-rules", rules] + - !reference [".rails:rules:unit-integration:minimal-default-rules", rules] - <<: *if-merge-request changes: *backend-patterns @@ -1109,44 +1027,15 @@ rules: - <<: *if-not-ee when: never - - <<: *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 + - !reference [".rails:rules:system-default-rules", rules] - changes: *code-backstage-patterns .rails:rules:ee-only-system:minimal: rules: - <<: *if-not-ee when: never - - <<: *if-merge-request-approved - when: never - - <<: *if-automated-merge-request - when: never - - <<: *if-security-merge-request - when: never - - <<: *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 + - !reference [".rails:rules:minimal-default-rules", rules] + - !reference [".rails:rules:system:minimal-default-rules", rules] .rails:rules:as-if-foss-migration: rules: @@ -1172,18 +1061,8 @@ rules: - <<: *if-not-ee when: never - - <<: *if-merge-request-approved - when: never - - <<: *if-automated-merge-request - when: never - - <<: *if-security-merge-request - when: never - - <<: *if-merge-request - changes: *core-backend-patterns - when: never - - <<: *if-merge-request - changes: *ci-patterns - when: never + - !reference [".rails:rules:minimal-default-rules", rules] + - !reference [".rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules", rules] - <<: *if-merge-request-labels-as-if-foss changes: *db-patterns when: never @@ -1192,17 +1071,7 @@ rules: - <<: *if-not-ee when: never - - <<: *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 + - !reference [".rails:rules:ee-and-foss-default-rules", rules] - <<: *if-merge-request-labels-as-if-foss changes: *backend-patterns @@ -1210,18 +1079,8 @@ rules: - <<: *if-not-ee when: never - - <<: *if-merge-request-approved - when: never - - <<: *if-automated-merge-request - when: never - - <<: *if-security-merge-request - when: never - - <<: *if-merge-request - changes: *core-backend-patterns - when: never - - <<: *if-merge-request - changes: *ci-patterns - when: never + - !reference [".rails:rules:minimal-default-rules", rules] + - !reference [".rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules", rules] - <<: *if-merge-request-labels-as-if-foss changes: *backend-patterns @@ -1229,17 +1088,7 @@ rules: - <<: *if-not-ee when: never - - <<: *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 + - !reference [".rails:rules:ee-and-foss-default-rules", rules] - <<: *if-merge-request-labels-as-if-foss changes: *backend-patterns @@ -1247,18 +1096,8 @@ rules: - <<: *if-not-ee when: never - - <<: *if-merge-request-approved - when: never - - <<: *if-automated-merge-request - when: never - - <<: *if-security-merge-request - when: never - - <<: *if-merge-request - changes: *core-backend-patterns - when: never - - <<: *if-merge-request - changes: *ci-patterns - when: never + - !reference [".rails:rules:minimal-default-rules", rules] + - !reference [".rails:rules:as-if-foss-migration-unit-integration:minimal-default-rules", rules] - <<: *if-merge-request-labels-as-if-foss changes: *backend-patterns @@ -1266,19 +1105,7 @@ rules: - <<: *if-not-ee when: never - - <<: *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 + - !reference [".rails:rules:system-default-rules", rules] - <<: *if-merge-request-labels-as-if-foss changes: *code-backstage-patterns @@ -1286,12 +1113,7 @@ rules: - <<: *if-not-ee when: never - - <<: *if-merge-request-approved - when: never - - <<: *if-automated-merge-request - when: never - - <<: *if-security-merge-request - when: never + - !reference [".rails:rules:minimal-default-rules", rules] - <<: *if-merge-request changes: *core-backend-patterns when: never @@ -1306,18 +1128,8 @@ .rails:rules:as-if-jh-rspec: rules: - - <<: *if-not-ee - when: never - - <<: *if-jh - when: never - - <<: *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 + - !reference [".strict-ee-only-rules", rules] + - !reference [".as-if-jh-default-exclusion-rules", rules] - <<: *if-merge-request changes: *ci-patterns allow_failure: true @@ -1345,19 +1157,11 @@ .rails:rules:detect-previous-failed-tests: rules: - - <<: *if-security-merge-request - when: never - - <<: *if-merge-request-labels-run-all-rspec - - <<: *if-merge-request - changes: *code-backstage-patterns + - !reference [".rails:rules:previous-failed-tests-default-rules", rules] .rails:rules:rerun-previous-failed-tests: rules: - - <<: *if-security-merge-request - when: never - - <<: *if-merge-request-labels-run-all-rspec - - <<: *if-merge-request - changes: *code-backstage-patterns + - !reference [".rails:rules:previous-failed-tests-default-rules", rules] .rails:rules:rspec-foss-impact: rules: @@ -1418,19 +1222,21 @@ - <<: *if-merge-request changes: *backend-patterns -.rails:rules:default-branch-schedule-nightly--code-backstage: +.rails:rules:default-branch-schedule-nightly--code-backstage-default-rules: rules: - <<: *if-default-branch-schedule-nightly - <<: *if-merge-request changes: [".gitlab/ci/rails.gitlab-ci.yml"] +.rails:rules:default-branch-schedule-nightly--code-backstage: + rules: + - !reference [".rails:rules:default-branch-schedule-nightly--code-backstage-default-rules", rules] + .rails:rules:default-branch-schedule-nightly--code-backstage-ee-only: rules: - <<: *if-not-ee when: never - - <<: *if-default-branch-schedule-nightly - - <<: *if-merge-request - changes: [".gitlab/ci/rails.gitlab-ci.yml"] + - !reference [".rails:rules:default-branch-schedule-nightly--code-backstage-default-rules", rules] .rails:rules:rspec-feature-flags: rules: @@ -1737,7 +1543,6 @@ when: never - <<: *if-default-branch-or-tag changes: *code-backstage-qa-patterns - when: on_success .setup:rules:dont-interrupt-me: rules: @@ -1752,7 +1557,6 @@ rules: - <<: *if-default-refs changes: *code-backstage-patterns - when: on_success .setup:rules:no-ee-check: rules: @@ -1760,7 +1564,6 @@ when: never - <<: *if-default-refs changes: *code-backstage-patterns - when: on_success .setup:rules:no-jh-check: rules: @@ -1768,7 +1571,6 @@ when: never - <<: *if-default-refs changes: *code-backstage-patterns - when: on_success .setup:rules:verify-tests-yml: rules: @@ -1776,7 +1578,6 @@ when: never - <<: *if-default-refs changes: *code-backstage-patterns - when: on_success .setup:rules:generate-frontend-fixtures-mapping: rules: @@ -1790,18 +1591,8 @@ .setup:rules:add-jh-folder: rules: - - <<: *if-not-ee - when: never - - <<: *if-jh - when: never - - <<: *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 + - !reference [".strict-ee-only-rules", rules] + - !reference [".as-if-jh-default-exclusion-rules", rules] - <<: *if-merge-request-labels-run-all-rspec allow_failure: true - changes: *code-backstage-qa-patterns |