diff options
Diffstat (limited to '.gitlab/ci/rules.gitlab-ci.yml')
-rw-r--r-- | .gitlab/ci/rules.gitlab-ci.yml | 64 |
1 files changed, 44 insertions, 20 deletions
diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml index 1eafd024f5e..e76b0f2d07f 100644 --- a/.gitlab/ci/rules.gitlab-ci.yml +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -11,25 +11,25 @@ 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 || $FORCE_GITLAB_CI' + if: '$CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_REF_NAME == "main" || $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"' + if: '$CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_REF_NAME == "main"' .if-master-push: &if-master-push - if: '$CI_COMMIT_BRANCH == "master" && $CI_PIPELINE_SOURCE == "push"' + if: '($CI_COMMIT_BRANCH == "master" || $CI_COMMIT_REF_NAME == "main") && $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: '($CI_COMMIT_BRANCH == "master" || $CI_COMMIT_REF_NAME == "main") && $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: '($CI_COMMIT_BRANCH == "master" || $CI_COMMIT_REF_NAME == "main") && $CI_PIPELINE_SOURCE == "schedule" && $FREQUENCY == "nightly"' .if-auto-deploy-branches: &if-auto-deploy-branches if: '$CI_COMMIT_BRANCH =~ /^\d+-\d+-auto-deploy-\d+$/' .if-master-or-tag: &if-master-or-tag - if: '$CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_TAG' + if: '$CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_REF_NAME == "main" || $CI_COMMIT_TAG' .if-merge-request: &if-merge-request if: '$CI_MERGE_REQUEST_IID' @@ -53,7 +53,7 @@ if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_PIPELINE_SOURCE == "schedule"' .if-dot-com-gitlab-org-master: &if-dot-com-gitlab-org-master - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_COMMIT_REF_NAME == "master"' + if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && ($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_REF_NAME == "main")' .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' @@ -149,6 +149,7 @@ - "{,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" + # CI changes - ".gitlab-ci.yml" - ".gitlab/ci/**/*" - "*_VERSION" @@ -162,6 +163,9 @@ - "{,ee/}spec/support/helpers/database/**/*" - "config/prometheus/common_metrics.yml" # Used by Gitlab::DatabaseImporters::CommonMetrics::Importer - "{,ee/}app/models/project_statistics.rb" # Used to calculate sizes in migration specs + # CI changes + - ".gitlab-ci.yml" + - ".gitlab/ci/**/*" .db-library-patterns: &db-library-patterns - "{,ee/}{,spec/}lib/{,ee/}gitlab/database/**/*" @@ -183,9 +187,11 @@ - ".csscomb.json" - "Dockerfile.assets" - "vendor/assets/**/*" + # CI changes + - ".gitlab-ci.yml" - ".gitlab/ci/**/*" - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo,scss-lint}.yml" + - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo}.yml" - "*_VERSION" - "Gemfile{,.lock}" - "Rakefile" @@ -193,6 +199,7 @@ - "config.ru" - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - "doc/api/graphql/reference/*" # Files in this folder are auto-generated + - "data/whats_new/*.yml" .qa-patterns: &qa-patterns - ".dockerignore" @@ -205,9 +212,11 @@ - ".csscomb.json" - "Dockerfile.assets" - "vendor/assets/**/*" + # CI changes + - ".gitlab-ci.yml" - ".gitlab/ci/**/*" - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo,scss-lint}.yml" + - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo}.yml" - "*_VERSION" - "Gemfile{,.lock}" - "Rakefile" @@ -215,6 +224,7 @@ - "config.ru" - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - "doc/api/graphql/reference/*" # Files in this folder are auto-generated + - "data/whats_new/*.yml" # Backstage changes - "Dangerfile" - "danger/**/*" @@ -230,9 +240,11 @@ - ".csscomb.json" - "Dockerfile.assets" - "vendor/assets/**/*" + # CI changes + - ".gitlab-ci.yml" - ".gitlab/ci/**/*" - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo,scss-lint}.yml" + - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo}.yml" - "*_VERSION" - "Gemfile{,.lock}" - "Rakefile" @@ -240,6 +252,7 @@ - "config.ru" - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - "doc/api/graphql/reference/*" # Files in this folder are auto-generated + - "data/whats_new/*.yml" # QA changes - ".dockerignore" - "qa/**/*" @@ -251,9 +264,11 @@ - ".csscomb.json" - "Dockerfile.assets" - "vendor/assets/**/*" + # CI changes + - ".gitlab-ci.yml" - ".gitlab/ci/**/*" - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo,scss-lint}.yml" + - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,rubocop_manual_todo}.yml" - "*_VERSION" - "Gemfile{,.lock}" - "Rakefile" @@ -261,6 +276,7 @@ - "config.ru" - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - "doc/api/graphql/reference/*" # Files in this folder are auto-generated + - "data/whats_new/*.yml" # Backstage changes - "Dangerfile" - "danger/**/*" @@ -405,6 +421,7 @@ - <<: *if-security-merge-request changes: *code-backstage-patterns - <<: *if-merge-request-title-as-if-foss + - <<: *if-merge-request-title-run-all-rspec - <<: *if-merge-request changes: *ci-patterns @@ -445,7 +462,9 @@ .frontend:rules:bundle-size-review: rules: - - if: '$DANGER_GITLAB_API_TOKEN && $CI_MERGE_REQUEST_IID && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"' + - <<: *if-not-canonical-namespace + when: never + - if: '$DANGER_GITLAB_API_TOKEN && $CI_MERGE_REQUEST_IID && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main")' changes: *frontend-patterns allow_failure: true @@ -483,6 +502,7 @@ - <<: *if-security-merge-request changes: *code-qa-patterns - <<: *if-merge-request-title-as-if-foss + - <<: *if-merge-request-title-run-all-rspec - <<: *if-merge-request changes: *ci-patterns @@ -602,10 +622,9 @@ - <<: *if-merge-request changes: ["config/**/*"] -.rails:rules:default-refs-code-backstage-qa: +.rails:rules:code-backstage-qa: rules: - - <<: *if-default-refs - changes: *code-backstage-qa-patterns + - changes: *code-backstage-qa-patterns - <<: *if-merge-request-title-run-all-rspec .rails:rules:ee-only-migration: @@ -700,6 +719,7 @@ changes: *db-patterns - <<: *if-merge-request-title-as-if-foss changes: *db-patterns + - <<: *if-merge-request-title-run-all-rspec - <<: *if-merge-request changes: *ci-patterns @@ -716,6 +736,7 @@ changes: *db-patterns - <<: *if-merge-request-title-as-if-foss changes: *db-patterns + - <<: *if-merge-request-title-run-all-rspec .rails:rules:as-if-foss-unit: rules: @@ -725,6 +746,7 @@ changes: *backend-patterns - <<: *if-merge-request-title-as-if-foss changes: *backend-patterns + - <<: *if-merge-request-title-run-all-rspec - <<: *if-merge-request changes: *ci-patterns @@ -741,6 +763,7 @@ changes: *backend-patterns - <<: *if-merge-request-title-as-if-foss changes: *backend-patterns + - <<: *if-merge-request-title-run-all-rspec .rails:rules:as-if-foss-integration: rules: @@ -750,6 +773,7 @@ changes: *backend-patterns - <<: *if-merge-request-title-as-if-foss changes: *backend-patterns + - <<: *if-merge-request-title-run-all-rspec - <<: *if-merge-request changes: *ci-patterns @@ -766,6 +790,7 @@ changes: *backend-patterns - <<: *if-merge-request-title-as-if-foss changes: *backend-patterns + - <<: *if-merge-request-title-run-all-rspec .rails:rules:as-if-foss-system: rules: @@ -775,6 +800,7 @@ changes: *code-backstage-patterns - <<: *if-merge-request-title-as-if-foss changes: *code-backstage-patterns + - <<: *if-merge-request-title-run-all-rspec - <<: *if-merge-request changes: *ci-patterns @@ -791,6 +817,7 @@ changes: *code-backstage-patterns - <<: *if-merge-request-title-as-if-foss changes: *code-backstage-patterns + - <<: *if-merge-request-title-run-all-rspec .rails:rules:ee-and-foss-db-library-code: rules: @@ -809,8 +836,7 @@ .rails:rules:detect-tests: rules: - - <<: *if-default-refs - changes: *code-backstage-patterns + - changes: *code-backstage-patterns - <<: *if-merge-request-title-run-all-rspec .rails:rules:rspec-foss-impact: @@ -1123,8 +1149,7 @@ ####################### .test-metadata:rules:retrieve-tests-metadata: rules: - - <<: *if-default-refs - changes: *code-backstage-patterns + - changes: *code-backstage-patterns when: on_success - <<: *if-merge-request-title-run-all-rspec @@ -1136,7 +1161,6 @@ - ".gitlab/ci/test-metadata.gitlab-ci.yml" - "scripts/rspec_helpers.sh" - <<: *if-dot-com-ee-schedule - changes: *code-backstage-patterns ################### # workhorse rules # |