diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-20 14:34:42 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-20 14:34:42 +0000 |
commit | 9f46488805e86b1bc341ea1620b866016c2ce5ed (patch) | |
tree | f9748c7e287041e37d6da49e0a29c9511dc34768 /.gitlab/ci/rules.gitlab-ci.yml | |
parent | dfc92d081ea0332d69c8aca2f0e745cb48ae5e6d (diff) | |
download | gitlab-ce-9f46488805e86b1bc341ea1620b866016c2ce5ed.tar.gz |
Add latest changes from gitlab-org/gitlab@13-0-stable-ee
Diffstat (limited to '.gitlab/ci/rules.gitlab-ci.yml')
-rw-r--r-- | .gitlab/ci/rules.gitlab-ci.yml | 204 |
1 files changed, 139 insertions, 65 deletions
diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index 79ae7823853..383aca0043b 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -16,6 +16,15 @@ .if-master-refs: &if-master-refs if: '$CI_COMMIT_REF_NAME == "master"' +.if-master-push: &if-master-push + if: '$CI_COMMIT_BRANCH == "master" && $CI_PIPELINE_SOURCE == "push"' + +.if-master-schedule-2-hourly: &if-master-schedule-2-hourly + if: '$CI_COMMIT_BRANCH == "master" && $CI_PIPELINE_SOURCE == "schedule" && $FREQUENCY == "2-hourly"' + +.if-master-schedule-nightly: &if-master-schedule-nightly + if: '$CI_COMMIT_BRANCH == "master" && $CI_PIPELINE_SOURCE == "schedule" && $FREQUENCY == "nightly"' + .if-auto-deploy-branches: &if-auto-deploy-branches if: '$CI_COMMIT_BRANCH =~ /^\d+-\d+-auto-deploy-\d+$/' @@ -25,8 +34,11 @@ .if-merge-request: &if-merge-request if: '$CI_MERGE_REQUEST_IID' -.if-nightly-master-schedule: &if-nightly-master-schedule - if: '$NIGHTLY && $CI_COMMIT_REF_NAME == "master" && $CI_PIPELINE_SOURCE == "schedule"' +.if-merge-request-title-as-if-foss: &if-merge-request-title-as-if-foss + if: '$CI_MERGE_REQUEST_TITLE =~ /RUN AS-IF-FOSS/' + +.if-security-merge-request: &if-security-merge-request + if: '$CI_PROJECT_NAMESPACE == "gitlab-org/security" && $CI_MERGE_REQUEST_IID' .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"' @@ -37,9 +49,6 @@ .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' -.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' - .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' @@ -52,6 +61,10 @@ #################### # Changes patterns # #################### +.ci-patterns: &ci-patterns + - ".gitlab-ci.yml" + - ".gitlab/ci/**/*" + .yaml-patterns: &yaml-patterns - "**/*.yml" @@ -77,7 +90,6 @@ - "{,ee/}fixtures/**/*" - "{,ee/}rubocop/**/*" - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file .code-patterns: &code-patterns - "{package.json,yarn.lock}" @@ -120,7 +132,6 @@ - "{,ee/}fixtures/**/*" - "{,ee/}rubocop/**/*" - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file .code-qa-patterns: &code-qa-patterns - "{package.json,yarn.lock}" @@ -162,7 +173,6 @@ - "{,ee/}fixtures/**/*" - "{,ee/}rubocop/**/*" - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file # QA changes - ".dockerignore" - "qa/**/*" @@ -173,7 +183,7 @@ .cache-repo:rules: rules: - <<: *if-cache-credentials-schedule - when: on_success + allow_failure: true ############# # CNG rules # @@ -182,6 +192,7 @@ rules: - <<: *if-dot-com-gitlab-org-and-security-tag when: manual + allow_failure: true ###################### # Dev fixtures rules # @@ -208,6 +219,7 @@ - <<: *if-dot-com-gitlab-org-merge-request changes: *docs-patterns when: manual + allow_failure: true .docs:rules:docs-lint: rules: @@ -226,6 +238,7 @@ ################## # Frontend rules # ################## +# This job only runs on `master` since it pushes to the cache. .frontend:rules:gitlab-assets-compile-pull-push-cache: rules: - <<: *if-not-canonical-namespace @@ -248,13 +261,14 @@ changes: *code-backstage-qa-patterns when: on_success +# This job only runs on `master` since it pushes to the cache. .frontend:rules:compile-assets-pull-push-cache-as-if-foss: rules: - <<: *if-not-ee when: never - - <<: *if-master-refs + - <<: *if-master-push changes: *code-backstage-qa-patterns - when: on_success + - <<: *if-master-schedule-2-hourly .frontend:rules:compile-assets-pull-cache: rules: @@ -266,9 +280,14 @@ rules: - <<: *if-not-ee when: never - - <<: *if-default-refs + - <<: *if-master-push changes: *code-backstage-qa-patterns - when: on_success + - <<: *if-master-schedule-2-hourly + - <<: *if-security-merge-request + changes: *code-backstage-qa-patterns + - <<: *if-merge-request-title-as-if-foss + - <<: *if-merge-request + changes: *ci-patterns .frontend:rules:default-frontend-jobs: rules: @@ -276,13 +295,27 @@ changes: *code-backstage-patterns when: on_success -.frontend:rules:default-frontend-jobs-no-foss: +.frontend:rules:default-frontend-jobs-as-if-foss: rules: - <<: *if-not-ee when: never - - <<: *if-default-refs + - <<: *if-master-push + changes: *code-backstage-patterns + - <<: *if-master-schedule-2-hourly + - <<: *if-security-merge-request + changes: *code-backstage-patterns + - <<: *if-merge-request-title-as-if-foss + - <<: *if-merge-request + changes: *ci-patterns + +.frontend:rules:ee-mr-and-master-only: + rules: + - <<: *if-not-ee + when: never + - <<: *if-merge-request + changes: *code-backstage-patterns + - <<: *if-master-refs changes: *code-backstage-patterns - when: on_success .frontend:rules:qa-frontend-node: rules: @@ -293,6 +326,15 @@ changes: *frontend-dependency-patterns when: on_success +.frontend:rules:qa-frontend-node-latest: + rules: + - <<: *if-master-refs + changes: *frontend-dependency-patterns + allow_failure: true + - <<: *if-merge-request + changes: *frontend-dependency-patterns + allow_failure: true + ################ # Memory rules # ################ @@ -322,24 +364,33 @@ changes: *code-qa-patterns when: on_success -.qa:rules:ee-only: +.qa:rules:as-if-foss: rules: - <<: *if-not-ee when: never - - <<: *if-default-refs + - <<: *if-master-push changes: *code-qa-patterns - when: on_success + - <<: *if-master-schedule-2-hourly + - <<: *if-security-merge-request + changes: *code-qa-patterns + - <<: *if-merge-request-title-as-if-foss + - <<: *if-merge-request + changes: *ci-patterns .qa:rules:package-and-qa: rules: - <<: *if-dot-com-gitlab-org-merge-request + changes: *ci-patterns + allow_failure: true + - <<: *if-dot-com-gitlab-org-merge-request changes: *qa-patterns - when: on_success + allow_failure: true - <<: *if-dot-com-gitlab-org-merge-request changes: *code-patterns when: manual + allow_failure: true - <<: *if-dot-com-gitlab-org-schedule - when: on_success + allow_failure: true ############### # Rails rules # @@ -348,50 +399,45 @@ rules: - <<: *if-default-refs changes: *code-backstage-patterns - when: on_success .rails:rules:default-refs-code-backstage-qa: rules: - <<: *if-default-refs changes: *code-backstage-qa-patterns - when: on_success - -.rails:rules:master-refs-code-backstage: - rules: - - <<: *if-master-refs - changes: *code-backstage-patterns - when: on_success - - changes: [".gitlab/ci/rails.gitlab-ci.yml"] -.rails:rules:nightly-master-refs-code-backstage: +.rails:rules:ee-only: rules: - - <<: *if-nightly-master-schedule + - <<: *if-not-ee + when: never + - <<: *if-default-refs changes: *code-backstage-patterns - when: on_success - - changes: [".gitlab/ci/rails.gitlab-ci.yml"] -.rails:rules:nightly-master-refs-code-backstage-ee-only: +.rails:rules:as-if-foss: rules: - <<: *if-not-ee when: never - - <<: *if-nightly-master-schedule + - <<: *if-master-push changes: *code-backstage-patterns - when: on_success - - changes: [".gitlab/ci/rails.gitlab-ci.yml"] + - <<: *if-master-schedule-2-hourly + - <<: *if-security-merge-request + changes: *code-backstage-patterns + - <<: *if-merge-request-title-as-if-foss + - <<: *if-merge-request + changes: *ci-patterns -.rails:rules:ee-only: +.rails:rules:ee-mr-and-master-only: rules: - <<: *if-not-ee when: never - - <<: *if-default-refs + - <<: *if-merge-request + changes: *code-backstage-patterns + - <<: *if-master-refs changes: *code-backstage-patterns - when: on_success .rails:rules:downtime_check: rules: - <<: *if-merge-request changes: *code-backstage-patterns - when: on_success ################## # Releases rules # @@ -414,6 +460,7 @@ # - <<: *if-master-refs # To be done in a later iteration: https://gitlab.com/gitlab-org/gitlab/issues/31160#note_278188255 - <<: *if-default-refs changes: *code-backstage-patterns + allow_failure: true .reports:rules:sast: rules: @@ -422,6 +469,7 @@ # - <<: *if-master-refs # To be done in a later iteration: https://gitlab.com/gitlab-org/gitlab/issues/31160#note_278188255 - <<: *if-default-refs changes: *code-backstage-qa-patterns + allow_failure: true .reports:rules:dependency_scanning: rules: @@ -430,6 +478,7 @@ # - <<: *if-master-refs # To be done in a later iteration: https://gitlab.com/gitlab-org/gitlab/issues/31160#note_278188255 - <<: *if-default-refs changes: *code-backstage-qa-patterns + allow_failure: true .reports:rules:dast: rules: @@ -437,10 +486,11 @@ when: never - <<: *if-dot-com-gitlab-org-merge-request changes: *frontend-patterns - when: on_success + allow_failure: true - <<: *if-dot-com-gitlab-org-merge-request changes: *code-qa-patterns when: manual + allow_failure: true .reports:schedule-dast: rules: @@ -451,67 +501,86 @@ ################ # Review rules # ################ -.review:rules:mr-and-schedule-auto: +.review:rules:build-qa-image: rules: + - <<: *if-not-ee + when: never - <<: *if-dot-com-gitlab-org-merge-request changes: *code-qa-patterns - when: on_success - <<: *if-dot-com-gitlab-org-schedule - when: on_success + +.review:rules:review-build-cng: + rules: + - <<: *if-dot-com-gitlab-org-merge-request + changes: *ci-patterns + - <<: *if-dot-com-gitlab-org-merge-request + changes: *frontend-patterns + - <<: *if-dot-com-gitlab-org-merge-request + changes: *code-qa-patterns + when: manual + allow_failure: true + - <<: *if-dot-com-gitlab-org-schedule .review:rules:mr-and-schedule-auto-if-frontend-manual-otherwise: rules: + - <<: *if-not-ee + when: never + - <<: *if-dot-com-gitlab-org-merge-request + changes: *ci-patterns - <<: *if-dot-com-gitlab-org-merge-request changes: *frontend-patterns - when: on_success + allow_failure: true - <<: *if-dot-com-gitlab-org-merge-request changes: *code-qa-patterns when: manual allow_failure: true - <<: *if-dot-com-gitlab-org-schedule - when: on_success + allow_failure: true -.review:rules:mr-only-auto: +.review:rules:review-stop-failed-deployment: rules: + - <<: *if-not-ee + when: never - <<: *if-dot-com-gitlab-org-merge-request changes: *code-qa-patterns - when: on_success -.review:rules:mr-only-auto-if-frontend-manual-otherwise: +.review:rules:review-qa-smoke: rules: + - <<: *if-not-ee + when: never + - <<: *if-dot-com-gitlab-org-merge-request + changes: *ci-patterns - <<: *if-dot-com-gitlab-org-merge-request changes: *frontend-patterns - when: on_success + allow_failure: true - <<: *if-dot-com-gitlab-org-merge-request changes: *code-qa-patterns when: manual + allow_failure: true .review:rules:mr-only-manual: rules: + - <<: *if-not-ee + when: never - <<: *if-dot-com-gitlab-org-merge-request changes: *code-qa-patterns when: manual + allow_failure: true .review:rules:review-cleanup: rules: + - <<: *if-not-ee + when: never - <<: *if-dot-com-gitlab-org-merge-request changes: *code-qa-patterns when: manual + allow_failure: true - <<: *if-dot-com-gitlab-org-schedule - when: on_success - -.review:rules:review-gcp-cleanup: - rules: - - <<: *if-dot-com-gitlab-org-merge-request - changes: *code-qa-patterns - when: manual - - <<: *if-dot-com-gitlab-org-schedule - when: on_success + allow_failure: true .review:rules:danger: rules: - if: '$DANGER_GITLAB_API_TOKEN && $CI_MERGE_REQUEST_IID' - when: on_success ############### # Setup rules # @@ -527,10 +596,11 @@ .setup:rules:dont-interrupt-me: rules: - <<: *if-master-or-tag - when: on_success + allow_failure: true - <<: *if-auto-deploy-branches - when: on_success + allow_failure: true - when: manual + allow_failure: true .setup:rules:gitlab_git_test: rules: @@ -557,9 +627,13 @@ .test-metadata:rules:update-tests-metadata: rules: + - <<: *if-not-ee + when: never + - changes: + - ".gitlab/ci/test-metadata.gitlab-ci.yml" + - "scripts/rspec_helpers.sh" - <<: *if-dot-com-ee-schedule changes: *code-backstage-patterns - when: on_success ############## # YAML rules # |