diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-07-20 12:26:25 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-07-20 12:26:25 +0000 |
commit | a09983ae35713f5a2bbb100981116d31ce99826e (patch) | |
tree | 2ee2af7bd104d57086db360a7e6d8c9d5d43667a /.gitlab/ci/rules.gitlab-ci.yml | |
parent | 18c5ab32b738c0b6ecb4d0df3994000482f34bd8 (diff) | |
download | gitlab-ce-a09983ae35713f5a2bbb100981116d31ce99826e.tar.gz |
Add latest changes from gitlab-org/gitlab@13-2-stable-ee
Diffstat (limited to '.gitlab/ci/rules.gitlab-ci.yml')
-rw-r--r-- | .gitlab/ci/rules.gitlab-ci.yml | 199 |
1 files changed, 172 insertions, 27 deletions
diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index fbbb0391ec5..f508bfa1465 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -11,7 +11,7 @@ if: '$CI_PROJECT_NAME != "gitlab-foss" && $CI_PROJECT_NAME != "gitlab-ce" && $CI_PROJECT_NAME != "gitlabhq"' .if-default-refs: &if-default-refs - if: '$CI_COMMIT_REF_NAME == "master" || $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' + if: '$CI_COMMIT_REF_NAME == "master" || $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' .if-master-refs: &if-master-refs if: '$CI_COMMIT_REF_NAME == "master"' @@ -40,6 +40,9 @@ .if-merge-request-title-update-caches: &if-merge-request-title-update-caches if: '$CI_MERGE_REQUEST_TITLE =~ /UPDATE CACHE/' +.if-merge-request-title-run-all-rspec: &if-merge-request-title-run-all-rspec + if: '$CI_MERGE_REQUEST_TITLE =~ /RUN ALL RSPEC/' + .if-security-merge-request: &if-security-merge-request if: '$CI_PROJECT_NAMESPACE == "gitlab-org/security" && $CI_MERGE_REQUEST_IID' @@ -71,6 +74,22 @@ - ".gitlab-ci.yml" - ".gitlab/ci/**/*" +.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" + +.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" + .yaml-patterns: &yaml-patterns - "**/*.yml" @@ -92,6 +111,21 @@ - "vendor/assets/**/*" - "{,ee/}{app/assets,app/helpers,app/presenters,app/views,locale,public,symbol}/**/*" +.backend-patterns: &backend-patterns + - "Gemfile{,.lock}" + - "Rakefile" + - "config.ru" + # List explicitly all the app/ dirs that are backend (i.e. all except app/assets). + - "{,ee/}{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/}{bin,cable,config,db,lib}/**/*" + - "{,ee/}spec/**/*.rb" + - ".gitlab-ci.yml" + - ".gitlab/ci/**/*" + +.db-patterns: &db-patterns + - "{,ee/}{,spec/}{db,migrations}/**/*" + - "{,ee/}{,spec/}lib/{,ee/}gitlab/background_migration/**/*" + .backstage-patterns: &backstage-patterns - "Dangerfile" - "danger/**/*" @@ -197,6 +231,26 @@ - <<: *if-master-schedule-2-hourly - <<: *if-merge-request-title-update-caches +###################### +# Build images rules # +###################### +.build-images:rules:build-qa-image: + rules: + - <<: *if-not-ee + when: never + - <<: *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 + - <<: *if-dot-com-gitlab-org-schedule + +.build-images:rules:build-assets-image: + rules: + - <<: *if-not-canonical-namespace + when: never + - changes: *ci-build-images-patterns + - changes: *code-qa-patterns + #################### # Cache repo rules # #################### @@ -263,7 +317,7 @@ - <<: *if-not-canonical-namespace when: never - <<: *if-default-refs - changes: *code-backstage-qa-patterns + changes: *code-qa-patterns .frontend:rules:compile-test-assets: rules: @@ -273,11 +327,8 @@ rules: - <<: *if-not-ee when: never - - <<: *if-security-merge-request + - <<: *if-merge-request # Always run for MRs since `compile-test-assets as-if-foss` is either needed by `rspec foss-impact` or the `rspec * as-if-foss` jobs. changes: *code-backstage-qa-patterns - - <<: *if-merge-request-title-as-if-foss - - <<: *if-merge-request - changes: *ci-patterns .frontend:rules:default-frontend-jobs: rules: @@ -294,6 +345,15 @@ - <<: *if-merge-request changes: *ci-patterns +.frontend:rules:eslint-as-if-foss: + rules: + - <<: *if-not-ee + when: never + - <<: *if-merge-request-title-as-if-foss + when: never + - <<: *if-merge-request + changes: *frontend-patterns + .frontend:rules:ee-mr-and-master-only: rules: - <<: *if-not-ee @@ -341,9 +401,7 @@ rules: - <<: *if-not-ee when: never - - <<: *if-dot-com-gitlab-org-master - changes: *code-backstage-qa-patterns - when: on_success + - <<: *if-master-schedule-2-hourly ############ # QA rules # @@ -367,7 +425,7 @@ .qa:rules:package-and-qa: rules: - <<: *if-dot-com-gitlab-org-and-security-merge-request - changes: *ci-patterns + changes: *ci-qa-patterns allow_failure: true - <<: *if-dot-com-gitlab-org-and-security-merge-request changes: *qa-patterns @@ -382,24 +440,95 @@ ############### # Rails rules # ############### -.rails:rules:ee-and-foss: +.rails:rules:ee-and-foss-migration: rules: - - <<: *if-default-refs - changes: *code-backstage-patterns + - changes: *db-patterns + - <<: *if-merge-request-title-run-all-rspec + +.rails:rules:ee-and-foss-unit: + rules: + - changes: *backend-patterns + - <<: *if-merge-request-title-run-all-rspec + +.rails:rules:ee-and-foss-integration: + rules: + - changes: *backend-patterns + - <<: *if-merge-request-title-run-all-rspec + +.rails:rules:ee-and-foss-system: + rules: + - changes: *code-backstage-patterns + - <<: *if-merge-request-title-run-all-rspec + +.rails:rules:ee-and-foss-fast_spec_helper: + rules: + - changes: ["config/**/*"] + - <<: *if-merge-request-title-run-all-rspec .rails:rules:default-refs-code-backstage-qa: rules: - <<: *if-default-refs changes: *code-backstage-qa-patterns -.rails:rules:ee-only: +.rails:rules:ee-only-migration: rules: - <<: *if-not-ee when: never - - <<: *if-default-refs - changes: *code-backstage-patterns + - changes: *db-patterns + - <<: *if-merge-request-title-run-all-rspec -.rails:rules:as-if-foss: +.rails:rules:ee-only-unit: + rules: + - <<: *if-not-ee + when: never + - changes: *backend-patterns + - <<: *if-merge-request-title-run-all-rspec + +.rails:rules:ee-only-integration: + rules: + - <<: *if-not-ee + when: never + - changes: *backend-patterns + - <<: *if-merge-request-title-run-all-rspec + +.rails:rules:ee-only-system: + rules: + - <<: *if-not-ee + when: never + - changes: *code-backstage-patterns + - <<: *if-merge-request-title-run-all-rspec + +.rails:rules:as-if-foss-migration: + rules: + - <<: *if-not-ee + when: never + - <<: *if-security-merge-request + changes: *db-patterns + - <<: *if-merge-request-title-as-if-foss + - <<: *if-merge-request + changes: *ci-patterns + +.rails:rules:as-if-foss-unit: + rules: + - <<: *if-not-ee + when: never + - <<: *if-security-merge-request + changes: *backend-patterns + - <<: *if-merge-request-title-as-if-foss + - <<: *if-merge-request + changes: *ci-patterns + +.rails:rules:as-if-foss-integration: + rules: + - <<: *if-not-ee + when: never + - <<: *if-security-merge-request + changes: *backend-patterns + - <<: *if-merge-request-title-as-if-foss + - <<: *if-merge-request + changes: *ci-patterns + +.rails:rules:as-if-foss-system: rules: - <<: *if-not-ee when: never @@ -413,6 +542,7 @@ rules: - <<: *if-not-ee when: never + - <<: *if-merge-request-title-run-all-rspec - <<: *if-merge-request changes: *code-backstage-patterns - <<: *if-master-refs @@ -434,6 +564,27 @@ - <<: *if-merge-request changes: *code-backstage-patterns +.rails:rules:rspec-coverage: + rules: + - <<: *if-not-ee + when: never + - <<: *if-master-schedule-2-hourly + - <<: *if-merge-request-title-run-all-rspec + +.rails:rules:master-schedule-nightly--code-backstage: + rules: + - <<: *if-master-schedule-nightly + - <<: *if-merge-request + changes: [".gitlab/ci/rails.gitlab-ci.yml"] + +.rails:rules:master-schedule-nightly--code-backstage-ee-only: + rules: + - <<: *if-not-ee + when: never + - <<: *if-master-schedule-nightly + - <<: *if-merge-request + changes: [".gitlab/ci/rails.gitlab-ci.yml"] + ################## # Releases rules # ################## @@ -496,18 +647,12 @@ ################ # Review rules # ################ -.review:rules:build-qa-image: +.review:rules:review-build-cng: rules: - <<: *if-not-ee when: never - - <<: *if-dot-com-gitlab-org-and-security-merge-request - changes: *code-qa-patterns - - <<: *if-dot-com-gitlab-org-schedule - -.review:rules:review-build-cng: - rules: - <<: *if-dot-com-gitlab-org-merge-request - changes: *ci-patterns + changes: *ci-review-patterns - <<: *if-dot-com-gitlab-org-merge-request changes: *frontend-patterns - <<: *if-dot-com-gitlab-org-merge-request @@ -521,7 +666,7 @@ - <<: *if-not-ee when: never - <<: *if-dot-com-gitlab-org-merge-request - changes: *ci-patterns + changes: *ci-review-patterns - <<: *if-dot-com-gitlab-org-merge-request changes: *frontend-patterns allow_failure: true @@ -544,7 +689,7 @@ - <<: *if-not-ee when: never - <<: *if-dot-com-gitlab-org-merge-request - changes: *ci-patterns + changes: *ci-review-patterns - <<: *if-dot-com-gitlab-org-merge-request changes: *frontend-patterns allow_failure: true |