diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-18 18:08:51 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-18 18:08:51 +0300 |
commit | 163a7046ac76eb4109184e82ce0af911633e6626 (patch) | |
tree | 9f22bb438db435d518e8f5520b309c6319ae0bd8 /.gitlab/ci | |
parent | 0637ba1e6e9024f35b2cbf561d9002ec17350bb3 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to '.gitlab/ci')
-rw-r--r-- | .gitlab/ci/cache-repo.gitlab-ci.yml | 8 | ||||
-rw-r--r-- | .gitlab/ci/cng.gitlab-ci.yml | 8 | ||||
-rw-r--r-- | .gitlab/ci/dev-fixtures.gitlab-ci.yml | 45 | ||||
-rw-r--r-- | .gitlab/ci/docs.gitlab-ci.yml | 61 | ||||
-rw-r--r-- | .gitlab/ci/frontend.gitlab-ci.yml | 162 | ||||
-rw-r--r-- | .gitlab/ci/global.gitlab-ci.yml | 176 | ||||
-rw-r--r-- | .gitlab/ci/memory.gitlab-ci.yml | 25 | ||||
-rw-r--r-- | .gitlab/ci/pages.gitlab-ci.yml | 35 | ||||
-rw-r--r-- | .gitlab/ci/qa.gitlab-ci.yml | 87 | ||||
-rw-r--r-- | .gitlab/ci/rails.gitlab-ci.yml | 106 | ||||
-rw-r--r-- | .gitlab/ci/releases.gitlab-ci.yml | 8 | ||||
-rw-r--r-- | .gitlab/ci/reports.gitlab-ci.yml | 123 | ||||
-rw-r--r-- | .gitlab/ci/review.gitlab-ci.yml | 60 | ||||
-rw-r--r-- | .gitlab/ci/rules.gitlab-ci.yml | 500 | ||||
-rw-r--r-- | .gitlab/ci/setup.gitlab-ci.yml | 87 | ||||
-rw-r--r-- | .gitlab/ci/test-metadata.gitlab-ci.yml | 53 | ||||
-rw-r--r-- | .gitlab/ci/yaml.gitlab-ci.yml | 5 |
17 files changed, 546 insertions, 1003 deletions
diff --git a/.gitlab/ci/cache-repo.gitlab-ci.yml b/.gitlab/ci/cache-repo.gitlab-ci.yml index 670341eab65..ecbed0ed6c8 100644 --- a/.gitlab/ci/cache-repo.gitlab-ci.yml +++ b/.gitlab/ci/cache-repo.gitlab-ci.yml @@ -1,7 +1,3 @@ -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-cache-credentials-schedule: &if-cache-credentials-schedule - if: '$CI_REPO_CACHE_CREDENTIALS && $CI_PIPELINE_SOURCE == "schedule"' - # Builds a cached .tar.gz of the master branch with full history and # uploads it to Google Cloud Storage. This archive is downloaded by a # script defined by a CI/CD variable named CI_PRE_CLONE_SCRIPT. This has @@ -22,6 +18,7 @@ # runner, or network egress charges will apply: # https://cloud.google.com/storage/pricing cache-repo: + extends: .cache-repo:rules image: gcr.io/google.com/cloudsdktool/cloud-sdk:alpine stage: sync allow_failure: true @@ -38,6 +35,3 @@ cache-repo: - tar cf $TAR_FILENAME . - gzip $TAR_FILENAME - gsutil cp $TAR_FILENAME.gz gs://gitlab-ci-git-repo-cache/project-$CI_PROJECT_ID/gitlab-master.tar.gz - rules: - - <<: *if-cache-credentials-schedule - when: on_success diff --git a/.gitlab/ci/cng.gitlab-ci.yml b/.gitlab/ci/cng.gitlab-ci.yml index fa22c22a8ab..2450e346569 100644 --- a/.gitlab/ci/cng.gitlab-ci.yml +++ b/.gitlab/ci/cng.gitlab-ci.yml @@ -1,8 +1,5 @@ -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-canonical-dot-com-gitlab-org-groups-tag: &if-canonical-dot-com-gitlab-org-groups-tag - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/)/ && $CI_COMMIT_TAG' - cloud-native-image: + extends: .cng:rules image: ruby:2.6-alpine dependencies: [] stage: post-test @@ -12,6 +9,3 @@ cloud-native-image: script: - install_gitlab_gem - CNG_PROJECT_PATH="gitlab-org/build/CNG" BUILD_TRIGGER_TOKEN=$CI_JOB_TOKEN ./scripts/trigger-build cng - rules: - - <<: *if-canonical-dot-com-gitlab-org-groups-tag - when: manual diff --git a/.gitlab/ci/dev-fixtures.gitlab-ci.yml b/.gitlab/ci/dev-fixtures.gitlab-ci.yml index a0b5100992b..e08f7e969cb 100644 --- a/.gitlab/ci/dev-fixtures.gitlab-ci.yml +++ b/.gitlab/ci/dev-fixtures.gitlab-ci.yml @@ -1,48 +1,3 @@ -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-not-ee: &if-not-ee - if: '$CI_PROJECT_NAME !~ /^gitlab(-ee)?$/' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.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' - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-backstage-patterns: &code-backstage-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # Backstage changes - - "Dangerfile" - - "danger/**/*" - - "{,ee/}fixtures/**/*" - - "{,ee/}rubocop/**/*" - - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file - -.dev-fixtures:rules:ee-and-foss: - rules: - - <<: *if-default-refs - changes: *code-backstage-patterns - when: on_success - -.dev-fixtures:rules:ee-only: - rules: - - <<: *if-not-ee - when: never - - <<: *if-default-refs - changes: *code-backstage-patterns - when: on_success - .run-dev-fixtures: extends: - .default-tags diff --git a/.gitlab/ci/docs.gitlab-ci.yml b/.gitlab/ci/docs.gitlab-ci.yml index b6680461da4..59f1773da2e 100644 --- a/.gitlab/ci/docs.gitlab-ci.yml +++ b/.gitlab/ci/docs.gitlab-ci.yml @@ -1,55 +1,8 @@ -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-canonical-dot-com-gitlab-org-groups-merge-request: &if-canonical-dot-com-gitlab-org-groups-merge-request - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/)/ && $CI_MERGE_REQUEST_IID' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-not-ee: &if-not-ee - if: '$CI_PROJECT_NAME !~ /^gitlab(-ee)?$/' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.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' - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-docs-patterns: &code-docs-patterns - - ".gitlab/route-map.yml" - - "doc/**/*" - - ".markdownlint.json" - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-backstage-qa-patterns: &code-backstage-qa-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # Backstage changes - - "Dangerfile" - - "danger/**/*" - - "{,ee/}fixtures/**/*" - - "{,ee/}rubocop/**/*" - - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file - # QA changes - - ".dockerignore" - - "qa/**/*" - .review-docs: extends: - .default-tags - .default-retry - rules: - - <<: *if-canonical-dot-com-gitlab-org-groups-merge-request - changes: *code-docs-patterns - when: manual + - .docs:rules:review-docs allow_failure: true image: ruby:2.6-alpine stage: review @@ -90,10 +43,7 @@ docs lint: extends: - .default-tags - .default-retry - rules: - - <<: *if-default-refs - changes: *code-docs-patterns - when: on_success + - .docs:rules:docs-lint image: "registry.gitlab.com/gitlab-org/gitlab-docs:docs-lint" stage: test dependencies: [] @@ -117,13 +67,8 @@ graphql-reference-verify: - .default-retry - .default-cache - .default-before_script + - .docs:rules:graphql-reference-verify - .use-pg9 - rules: - - <<: *if-not-ee - when: never - - <<: *if-default-refs - changes: *code-backstage-qa-patterns - when: on_success stage: test needs: ["setup-test-env"] script: diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml index 26e0b4fdf08..3a72c941b89 100644 --- a/.gitlab/ci/frontend.gitlab-ci.yml +++ b/.gitlab/ci/frontend.gitlab-ci.yml @@ -1,68 +1,3 @@ -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-not-canonical-namespace: &if-not-canonical-namespace - if: '$CI_PROJECT_NAMESPACE !~ /^gitlab(-org)?($|\/)/' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-not-ee: &if-not-ee - if: '$CI_PROJECT_NAME !~ /^gitlab(-ee)?$/' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-master-refs: &if-master-refs - if: '$CI_COMMIT_REF_NAME == "master"' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.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' - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-backstage-patterns: &code-backstage-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # Backstage changes - - "Dangerfile" - - "danger/**/*" - - "{,ee/}fixtures/**/*" - - "{,ee/}rubocop/**/*" - - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-backstage-qa-patterns: &code-backstage-qa-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # Backstage changes - - "Dangerfile" - - "danger/**/*" - - "{,ee/}fixtures/**/*" - - "{,ee/}rubocop/**/*" - - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file - # QA changes - - ".dockerignore" - - "qa/**/*" - .assets-compile-cache: cache: paths: @@ -113,24 +48,16 @@ - docker gitlab:assets:compile pull-push-cache: - extends: .gitlab:assets:compile-metadata - rules: - - <<: *if-not-canonical-namespace - when: never - - <<: *if-master-refs - changes: *code-backstage-qa-patterns - when: on_success + extends: + - .gitlab:assets:compile-metadata + - .frontend:rules:gitlab-assets-compile-pull-push-cache cache: policy: pull-push gitlab:assets:compile pull-cache: - extends: .gitlab:assets:compile-metadata - rules: - - <<: *if-not-canonical-namespace - when: never - - <<: *if-default-refs - changes: *code-backstage-qa-patterns - when: on_success + extends: + - .gitlab:assets:compile-metadata + - .frontend:rules:gitlab-assets-compile-pull-cache cache: policy: pull @@ -160,47 +87,33 @@ gitlab:assets:compile pull-cache: - public/assets compile-assets pull-push-cache: - extends: .compile-assets-metadata - rules: - - <<: *if-master-refs - changes: *code-backstage-qa-patterns - when: on_success + extends: + - .compile-assets-metadata + - .frontend:rules:compile-assets-pull-push-cache cache: policy: pull-push -compile-assets pull-push-cache foss: +compile-assets pull-push-cache as-if-foss: extends: - .compile-assets-metadata + - .frontend:rules:compile-assets-pull-push-cache-as-if-foss - .as-if-foss - rules: - - <<: *if-not-ee - when: never - - <<: *if-master-refs - changes: *code-backstage-qa-patterns - when: on_success cache: policy: pull-push key: "assets-compile:v9:foss" compile-assets pull-cache: - extends: .compile-assets-metadata - rules: - - <<: *if-default-refs - changes: *code-backstage-qa-patterns - when: on_success + extends: + - .compile-assets-metadata + - .frontend:rules:compile-assets-pull-cache cache: policy: pull -compile-assets pull-cache foss: +compile-assets pull-cache as-if-foss: extends: - .compile-assets-metadata + - .frontend:rules:compile-assets-pull-cache-as-if-foss - .as-if-foss - rules: - - <<: *if-not-ee - when: never - - <<: *if-default-refs - changes: *code-backstage-qa-patterns - when: on_success cache: policy: pull key: "assets-compile:v9:foss" @@ -228,11 +141,9 @@ compile-assets pull-cache foss: - bundle exec rake karma karma: - extends: .karma-base - rules: - - <<: *if-default-refs - changes: *code-backstage-patterns - when: on_success + extends: + - .karma-base + - .frontend:rules:default-frontend-jobs coverage: '/^Statements *: (\d+\.\d+%)/' artifacts: name: coverage-javascript @@ -245,16 +156,11 @@ karma: reports: junit: junit_karma.xml -karma-foss: +karma-as-if-foss: extends: - .karma-base + - .frontend:rules:default-frontend-jobs-as-if-foss - .as-if-foss - rules: - - <<: *if-not-ee - when: never - - <<: *if-default-refs - changes: *code-backstage-patterns - when: on_success .jest-base: extends: .frontend-job-base @@ -271,11 +177,9 @@ karma-foss: policy: pull-push jest: - extends: .jest-base - rules: - - <<: *if-default-refs - changes: *code-backstage-patterns - when: on_success + extends: + - .jest-base + - .frontend:rules:default-frontend-jobs artifacts: name: coverage-frontend expire_in: 31d @@ -287,16 +191,11 @@ jest: reports: junit: junit_jest.xml -jest-foss: +jest-as-if-foss: extends: - .jest-base + - .frontend:rules:default-frontend-jobs-as-if-foss - .as-if-foss - rules: - - <<: *if-not-ee - when: never - - <<: *if-default-refs - changes: *code-backstage-patterns - when: on_success cache: policy: pull @@ -305,10 +204,8 @@ jest-foss: - .default-tags - .default-retry - .default-cache + - .frontend:rules:qa-frontend-node stage: test - rules: - - <<: *if-master-refs - when: on_success dependencies: [] cache: key: "$CI_JOB_NAME" @@ -339,11 +236,8 @@ webpack-dev-server: - .default-tags - .default-retry - .default-cache + - .frontend:rules:default-frontend-jobs stage: test - rules: - - <<: *if-default-refs - changes: *code-backstage-patterns - when: on_success needs: ["setup-test-env", "compile-assets pull-cache"] variables: WEBPACK_MEMORY_TEST: "true" diff --git a/.gitlab/ci/global.gitlab-ci.yml b/.gitlab/ci/global.gitlab-ci.yml index babdfb2ed75..ffdc115cff7 100644 --- a/.gitlab/ci/global.gitlab-ci.yml +++ b/.gitlab/ci/global.gitlab-ci.yml @@ -33,171 +33,6 @@ - vendor/gitaly-ruby policy: pull -.default-only: - only: - refs: - - master - - /^[\d-]+-stable(-ee)?$/ - - /^\d+-\d+-auto-deploy-\d+$/ - - /^security\// - - merge_requests - - tags - -.only:variables-canonical-dot-com: - only: - variables: - - $CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE =~ /^gitlab-org($|\/)/ # Matches the gitlab-org group or its subgroups - -.only:variables_refs-canonical-dot-com-schedules: - extends: .only:variables-canonical-dot-com - only: - refs: - - schedules - -.except:refs-deploy: - except: - refs: - - /^\d+-\d+-auto-deploy-\d+$/ - -.except:refs-master-tags-stable-deploy: - except: - refs: - - master - - tags - - /^[\d-]+-stable(-ee)?$/ - - /^\d+-\d+-auto-deploy-\d+$/ - -.only:kubernetes: - only: - kubernetes: active - -.only-review: - extends: - - .only:variables-canonical-dot-com - - .only:kubernetes - - .except:refs-master-tags-stable-deploy - -.only-review-schedules: - extends: - - .only:variables_refs-canonical-dot-com-schedules - - .only:kubernetes - - .except:refs-deploy - -.code-patterns: &code-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - -.backstage-patterns: &backstage-patterns - - "Dangerfile" - - "danger/**/*" - - "{,ee/}fixtures/**/*" - - "{,ee/}rubocop/**/*" - - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file - -.qa-patterns: &qa-patterns - - ".dockerignore" - - "qa/**/*" - -.docs-patterns: &docs-patterns - - ".gitlab/route-map.yml" - - "doc/**/*" - - ".markdownlint.json" - -.only:changes-code: - only: - changes: *code-patterns - -.only:changes-qa: - only: - changes: *qa-patterns - -.only:changes-docs: - only: - changes: *docs-patterns - -.only:changes-code-backstage: - only: - changes: - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # Backstage changes - - "Dangerfile" - - "danger/**/*" - - "{,ee/}fixtures/**/*" - - "{,ee/}rubocop/**/*" - - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file - -.only:changes-code-qa: - only: - changes: - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # QA changes - - ".dockerignore" - - "qa/**/*" - -.only:changes-code-backstage-qa: - only: - changes: - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # Backstage changes - - "Dangerfile" - - "danger/**/*" - - "{,ee/}fixtures/**/*" - - "{,ee/}rubocop/**/*" - - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file - # QA changes - - ".dockerignore" - - "qa/**/*" - .use-pg9: services: - name: postgres:9.6.17 @@ -234,17 +69,6 @@ variables: POSTGRES_HOST_AUTH_METHOD: trust -.only-ee: - only: - variables: - - $CI_PROJECT_NAME == "gitlab" - - $CI_PROJECT_NAME == "gitlab-ee" # Support former project name for forks/mirrors - .as-if-foss: variables: FOSS_ONLY: '1' - -.only-ee-as-if-foss: - extends: - - .only-ee - - .as-if-foss diff --git a/.gitlab/ci/memory.gitlab-ci.yml b/.gitlab/ci/memory.gitlab-ci.yml index e0b430354d0..a8e2d90a4ee 100644 --- a/.gitlab/ci/memory.gitlab-ci.yml +++ b/.gitlab/ci/memory.gitlab-ci.yml @@ -1,33 +1,10 @@ -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.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' - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-patterns: &code-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - .only-code-memory-job-base: extends: - .default-tags - .default-retry - .default-cache - .default-before_script - rules: - - <<: *if-default-refs - changes: *code-patterns - when: on_success + - .memory:rules memory-static: extends: .only-code-memory-job-base diff --git a/.gitlab/ci/pages.gitlab-ci.yml b/.gitlab/ci/pages.gitlab-ci.yml index 6c52afb068f..993ed21e39d 100644 --- a/.gitlab/ci/pages.gitlab-ci.yml +++ b/.gitlab/ci/pages.gitlab-ci.yml @@ -1,42 +1,9 @@ -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-canonical-dot-com-gitlab-org-group-master-refs: &if-canonical-dot-com-gitlab-org-group-master-refs - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_COMMIT_REF_NAME == "master"' - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-backstage-qa-patterns: &code-backstage-qa-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # Backstage changes - - "Dangerfile" - - "danger/**/*" - - "{,ee/}fixtures/**/*" - - "{,ee/}rubocop/**/*" - - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file - # QA changes - - ".dockerignore" - - "qa/**/*" - pages: extends: - .default-tags - .default-retry - .default-cache - rules: - - <<: *if-canonical-dot-com-gitlab-org-group-master-refs - changes: *code-backstage-qa-patterns - when: on_success + - .pages:rules stage: pages dependencies: ["coverage", "karma", "gitlab:assets:compile pull-cache"] script: diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml index deb966fdbaf..0e9d7abb3ac 100644 --- a/.gitlab/ci/qa.gitlab-ci.yml +++ b/.gitlab/ci/qa.gitlab-ci.yml @@ -1,73 +1,3 @@ -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-canonical-dot-com-gitlab-org-group-schedule: &if-canonical-dot-com-gitlab-org-group-schedule - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_PIPELINE_SOURCE == "schedule"' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-canonical-gitlab-merge-request: &if-canonical-gitlab-merge-request - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_MERGE_REQUEST_IID' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-not-ee: &if-not-ee - if: '$CI_PROJECT_NAME !~ /^gitlab(-ee)?$/' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.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' - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-patterns: &code-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.qa-patterns: &qa-patterns - - ".dockerignore" - - "qa/**/*" - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-qa-patterns: &code-qa-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # QA changes - - ".dockerignore" - - "qa/**/*" - -.qa:rules:ee-and-foss: - rules: - - <<: *if-default-refs - changes: *code-qa-patterns - when: on_success - -.qa:rules:ee-only: - rules: - - <<: *if-not-ee - when: never - - <<: *if-default-refs - changes: *code-qa-patterns - when: on_success - .qa-job-base: extends: - .default-tags @@ -91,7 +21,7 @@ qa:internal: script: - bundle exec rspec -qa:internal-foss: +qa:internal-as-if-foss: extends: - .qa-job-base - .qa:rules:ee-only @@ -106,7 +36,7 @@ qa:selectors: script: - bundle exec bin/qa Test::Sanity::Selectors -qa:selectors-foss: +qa:selectors-as-if-foss: extends: - qa:selectors - .qa:rules:ee-only @@ -123,15 +53,8 @@ qa:selectors-foss: - ./scripts/trigger-build omnibus package-and-qa: - extends: .package-and-qa-base - rules: - - <<: *if-canonical-gitlab-merge-request - changes: *qa-patterns - when: on_success - - <<: *if-canonical-gitlab-merge-request - changes: *code-patterns - when: manual - - <<: *if-canonical-dot-com-gitlab-org-group-schedule - when: on_success + extends: + - .package-and-qa-base + - .qa:rules:package-and-qa needs: ["build-qa-image", "gitlab:assets:compile pull-cache"] allow_failure: true diff --git a/.gitlab/ci/rails.gitlab-ci.yml b/.gitlab/ci/rails.gitlab-ci.yml index 066a9515980..58c4ef0e02a 100644 --- a/.gitlab/ci/rails.gitlab-ci.yml +++ b/.gitlab/ci/rails.gitlab-ci.yml @@ -1,102 +1,3 @@ -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-not-ee: &if-not-ee - if: '$CI_PROJECT_NAME !~ /^gitlab(-ee)?$/' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-master-refs: &if-master-refs - if: '$CI_COMMIT_REF_NAME == "master"' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.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' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-merge-request: &if-merge-request - if: '$CI_MERGE_REQUEST_IID' - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-backstage-patterns: &code-backstage-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # Backstage changes - - "Dangerfile" - - "danger/**/*" - - "{,ee/}fixtures/**/*" - - "{,ee/}rubocop/**/*" - - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-backstage-qa-patterns: &code-backstage-qa-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # Backstage changes - - "Dangerfile" - - "danger/**/*" - - "{,ee/}fixtures/**/*" - - "{,ee/}rubocop/**/*" - - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file - # QA changes - - ".dockerignore" - - "qa/**/*" - -.rails:rules:ee-and-foss: - 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 - -.rails:rules:master-refs-code-backstage-ee-only: - rules: - - <<: *if-not-ee - when: never - - <<: *if-master-refs - changes: *code-backstage-patterns - when: on_success - -.rails:rules:ee-only: - rules: - - <<: *if-not-ee - when: never - - <<: *if-default-refs - changes: *code-backstage-patterns - when: on_success - .rails:needs:setup-and-assets: needs: - job: setup-test-env @@ -153,11 +54,8 @@ downtime_check: extends: - .rails-job-base - .rails:needs:setup-and-assets + - .rails:rules:downtime_check stage: test - rules: - - <<: *if-merge-request - changes: *code-backstage-patterns - when: on_success variables: SETUP_DB: "false" script: @@ -407,7 +305,7 @@ rspec-ee system pg10: artifacts: true - job: retrieve-tests-metadata artifacts: true - - job: compile-assets pull-cache foss + - job: compile-assets pull-cache as-if-foss artifacts: true .rspec-ee-base-pg9: diff --git a/.gitlab/ci/releases.gitlab-ci.yml b/.gitlab/ci/releases.gitlab-ci.yml index 0f6753aa274..b3f961afe62 100644 --- a/.gitlab/ci/releases.gitlab-ci.yml +++ b/.gitlab/ci/releases.gitlab-ci.yml @@ -1,11 +1,3 @@ -.releases:rules:canonical-dot-com-gitlab-stable-branch-only: - rules: - - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAME == "gitlab-org/gitlab" && $CI_COMMIT_REF_NAME =~ /^[\d-]+-stable-ee$/' - -.releases:rules:canonical-dot-com-security-gitlab-stable-branch-only: - rules: - - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAME == "gitlab-org/security/gitlab" && $CI_COMMIT_REF_NAME =~ /^[\d-]+-stable-ee$/' - # Syncs any changes pushed to a stable branch to the corresponding # gitlab-foss/CE stable branch. We run this prior to any tests so that random # failures don't prevent a sync. diff --git a/.gitlab/ci/reports.gitlab-ci.yml b/.gitlab/ci/reports.gitlab-ci.yml index 797ec4f5860..e7ee47fbe0a 100644 --- a/.gitlab/ci/reports.gitlab-ci.yml +++ b/.gitlab/ci/reports.gitlab-ci.yml @@ -1,118 +1,3 @@ -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-canonical-gitlab-merge-request: &if-canonical-gitlab-merge-request - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_MERGE_REQUEST_IID' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-canonical-dot-com-gitlab-org-group-schedule: &if-canonical-dot-com-gitlab-org-group-schedule - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_PIPELINE_SOURCE == "schedule"' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-master-refs: &if-master-refs - if: '$CI_COMMIT_REF_NAME == "master"' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.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' - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-backstage-patterns: &code-backstage-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # Backstage changes - - "Dangerfile" - - "danger/**/*" - - "{,ee/}fixtures/**/*" - - "{,ee/}rubocop/**/*" - - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-qa-patterns: &code-qa-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # QA changes - - ".dockerignore" - - "qa/**/*" - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-backstage-qa-patterns: &code-backstage-qa-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # Backstage changes - - "Dangerfile" - - "danger/**/*" - - "{,ee/}fixtures/**/*" - - "{,ee/}rubocop/**/*" - - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file - # QA changes - - ".dockerignore" - - "qa/**/*" - -.reports:rules:code_quality: - rules: - - if: '$CODE_QUALITY_DISABLED' - when: never - # - <<: *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 - -.reports:rules:sast: - rules: - - if: '$SAST_DISABLED || $GITLAB_FEATURES !~ /\bsast\b/' - when: never - # - <<: *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 - -.reports:rules:dependency_scanning: - rules: - - if: '$DEPENDENCY_SCANNING_DISABLED || $GITLAB_FEATURES !~ /\bdependency_scanning\b/' - when: never - # - <<: *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 - -.reports:rules:dast: - rules: - - if: '$DAST_DISABLED || $GITLAB_FEATURES !~ /\bdast\b/' - when: never - - <<: *if-canonical-gitlab-merge-request - changes: *code-qa-patterns - # include: # - template: Jobs/Code-Quality.gitlab-ci.yml # - template: Security/SAST.gitlab-ci.yml @@ -299,10 +184,8 @@ dast: # To be done in a later iteration: https://gitlab.com/gitlab-org/gitlab/issues/31160#note_278188255 # schedule:dast: -# extends: dast -# rules: -# - if: '$DAST_DISABLED || $GITLAB_FEATURES !~ /\bdast\b/' -# when: never -# - <<: *if-canonical-dot-com-gitlab-org-group-schedule +# extends: +# - dast +# - .reports:schedule-dast # variables: # DAST_FULL_SCAN_ENABLED: "true" diff --git a/.gitlab/ci/review.gitlab-ci.yml b/.gitlab/ci/review.gitlab-ci.yml index c15c7c2ab5d..e23708337a4 100644 --- a/.gitlab/ci/review.gitlab-ci.yml +++ b/.gitlab/ci/review.gitlab-ci.yml @@ -1,63 +1,3 @@ -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-canonical-dot-com-gitlab-org-group-schedule: &if-canonical-dot-com-gitlab-org-group-schedule - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_PIPELINE_SOURCE == "schedule"' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-canonical-gitlab-merge-request: &if-canonical-gitlab-merge-request - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAMESPACE == "gitlab-org" && $CI_MERGE_REQUEST_IID' - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-qa-patterns: &code-qa-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # QA changes - - ".dockerignore" - - "qa/**/*" - -.review:rules:mr-and-schedule: - rules: - - <<: *if-canonical-gitlab-merge-request - changes: *code-qa-patterns - when: on_success - - <<: *if-canonical-dot-com-gitlab-org-group-schedule - when: on_success - -.review:rules:mr-only-auto: - rules: - - <<: *if-canonical-gitlab-merge-request - changes: *code-qa-patterns - when: on_success - -.review:rules:mr-only-manual: - rules: - - <<: *if-canonical-gitlab-merge-request - changes: *code-qa-patterns - when: manual - -.review:rules:review-cleanup: - rules: - - <<: *if-canonical-gitlab-merge-request - changes: *code-qa-patterns - when: manual - - <<: *if-canonical-dot-com-gitlab-org-group-schedule - when: on_success - -.review:rules:danger: - rules: - - if: '$DANGER_GITLAB_API_TOKEN && $CI_MERGE_REQUEST_IID' - when: on_success - .review-docker: extends: - .default-tags diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml new file mode 100644 index 00000000000..a4285f47b6c --- /dev/null +++ b/.gitlab/ci/rules.gitlab-ci.yml @@ -0,0 +1,500 @@ +############## +# Conditions # +############## +.if-not-canonical-namespace: &if-not-canonical-namespace + if: '$CI_PROJECT_NAMESPACE !~ /^gitlab(-org)?($|\/)/' + +.if-not-ee: &if-not-ee + if: '$CI_PROJECT_NAME !~ /^gitlab(-ee)?$/' + +.if-not-foss: &if-not-foss + 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-master-refs: &if-master-refs + if: '$CI_COMMIT_REF_NAME == "master"' + +.if-master-or-tag: &if-master-or-tag + if: '$CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_TAG' + +.if-merge-request: &if-merge-request + if: '$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"' + +.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-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' + +.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"' + +.if-cache-credentials-schedule: &if-cache-credentials-schedule + if: '$CI_REPO_CACHE_CREDENTIALS && $CI_PIPELINE_SOURCE == "schedule"' + +#################### +# Changes patterns # +#################### +.yaml-patterns: &yaml-patterns + - "**/*.yml" + +.docs-patterns: &docs-patterns + - ".gitlab/route-map.yml" + - "doc/**/*" + - ".markdownlint.json" + +.backstage-patterns: &backstage-patterns + - "Dangerfile" + - "danger/**/*" + - "{,ee/}fixtures/**/*" + - "{,ee/}rubocop/**/*" + - "{,ee/}spec/**/*" + - "doc/README.md" # Some RSpec test rely on this file + +.code-patterns: &code-patterns + - ".gitlab/ci/**/*" + - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" + - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" + - ".csscomb.json" + - "Dockerfile.assets" + - "*_VERSION" + - "Gemfile{,.lock}" + - "Rakefile" + - "{babel.config,jest.config}.js" + - "config.ru" + - "{package.json,yarn.lock}" + - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" + - "doc/api/graphql/reference/*" # Files in this folder are auto-generated + +.qa-patterns: &qa-patterns + - ".dockerignore" + - "qa/**/*" + +.code-backstage-patterns: &code-backstage-patterns + - ".gitlab/ci/**/*" + - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" + - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" + - ".csscomb.json" + - "Dockerfile.assets" + - "*_VERSION" + - "Gemfile{,.lock}" + - "Rakefile" + - "{babel.config,jest.config}.js" + - "config.ru" + - "{package.json,yarn.lock}" + - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" + - "doc/api/graphql/reference/*" # Files in this folder are auto-generated + # Backstage changes + - "Dangerfile" + - "danger/**/*" + - "{,ee/}fixtures/**/*" + - "{,ee/}rubocop/**/*" + - "{,ee/}spec/**/*" + - "doc/README.md" # Some RSpec test rely on this file + +.code-qa-patterns: &code-qa-patterns + - ".gitlab/ci/**/*" + - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" + - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" + - ".csscomb.json" + - "Dockerfile.assets" + - "*_VERSION" + - "Gemfile{,.lock}" + - "Rakefile" + - "{babel.config,jest.config}.js" + - "config.ru" + - "{package.json,yarn.lock}" + - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" + - "doc/api/graphql/reference/*" # Files in this folder are auto-generated + # QA changes + - ".dockerignore" + - "qa/**/*" + +.code-backstage-qa-patterns: &code-backstage-qa-patterns + - ".gitlab/ci/**/*" + - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" + - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" + - ".csscomb.json" + - "Dockerfile.assets" + - "*_VERSION" + - "Gemfile{,.lock}" + - "Rakefile" + - "{babel.config,jest.config}.js" + - "config.ru" + - "{package.json,yarn.lock}" + - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" + - "doc/api/graphql/reference/*" # Files in this folder are auto-generated + # Backstage changes + - "Dangerfile" + - "danger/**/*" + - "{,ee/}fixtures/**/*" + - "{,ee/}rubocop/**/*" + - "{,ee/}spec/**/*" + - "doc/README.md" # Some RSpec test rely on this file + # QA changes + - ".dockerignore" + - "qa/**/*" + +#################### +# Cache repo rules # +#################### +.cache-repo:rules: + rules: + - <<: *if-cache-credentials-schedule + when: on_success + +############# +# CNG rules # +############# +.cng:rules: + rules: + - <<: *if-dot-com-gitlab-org-and-security-tag + when: manual + +###################### +# Dev fixtures rules # +###################### +.dev-fixtures:rules:ee-and-foss: + rules: + - <<: *if-default-refs + changes: *code-backstage-patterns + when: on_success + +.dev-fixtures:rules:ee-only: + rules: + - <<: *if-not-ee + when: never + - <<: *if-default-refs + changes: *code-backstage-patterns + when: on_success + +############## +# Docs rules # +############## +.docs:rules:review-docs: + rules: + - <<: *if-dot-com-gitlab-org-merge-request + changes: *docs-patterns + when: manual + +.docs:rules:docs-lint: + rules: + - <<: *if-default-refs + changes: *docs-patterns + when: on_success + +.docs:rules:graphql-reference-verify: + rules: + - <<: *if-not-ee + when: never + - <<: *if-default-refs + changes: *code-backstage-qa-patterns + when: on_success + +################## +# Frontend rules # +################## +.frontend:rules:gitlab-assets-compile-pull-push-cache: + rules: + - <<: *if-not-canonical-namespace + when: never + - <<: *if-master-refs + changes: *code-backstage-qa-patterns + when: on_success + +.frontend:rules:gitlab-assets-compile-pull-cache: + rules: + - <<: *if-not-canonical-namespace + when: never + - <<: *if-default-refs + changes: *code-backstage-qa-patterns + when: on_success + +.frontend:rules:compile-assets-pull-push-cache: + rules: + - <<: *if-master-refs + changes: *code-backstage-qa-patterns + when: on_success + +.frontend:rules:compile-assets-pull-push-cache-as-if-foss: + rules: + - <<: *if-not-ee + when: never + - <<: *if-master-refs + changes: *code-backstage-qa-patterns + when: on_success + +.frontend:rules:compile-assets-pull-cache: + rules: + - <<: *if-default-refs + changes: *code-backstage-qa-patterns + when: on_success + +.frontend:rules:compile-assets-pull-cache-as-if-foss: + rules: + - <<: *if-not-ee + when: never + - <<: *if-default-refs + changes: *code-backstage-qa-patterns + when: on_success + +.frontend:rules:default-frontend-jobs: + rules: + - <<: *if-default-refs + changes: *code-backstage-patterns + when: on_success + +.frontend:rules:default-frontend-jobs-as-if-foss: + rules: + - <<: *if-not-ee + when: never + - <<: *if-default-refs + changes: *code-backstage-patterns + when: on_success + +.frontend:rules:qa-frontend-node: + rules: + - <<: *if-master-refs + when: on_success + +################ +# Memory rules # +################ +.memory:rules: + rules: + - <<: *if-default-refs + changes: *code-patterns + when: on_success + +############### +# Pages rules # +############### +.pages:rules: + rules: + - <<: *if-dot-com-gitlab-org-master + changes: *code-backstage-qa-patterns + when: on_success + +############ +# QA rules # +############ +.qa:rules:ee-and-foss: + rules: + - <<: *if-default-refs + changes: *code-qa-patterns + when: on_success + +.qa:rules:ee-only: + rules: + - <<: *if-not-ee + when: never + - <<: *if-default-refs + changes: *code-qa-patterns + when: on_success + +.qa:rules:package-and-qa: + rules: + - <<: *if-dot-com-gitlab-org-merge-request + changes: *qa-patterns + when: on_success + - <<: *if-dot-com-gitlab-org-merge-request + changes: *code-patterns + when: manual + - <<: *if-dot-com-gitlab-org-schedule + when: on_success + +############### +# Rails rules # +############### +.rails:rules:ee-and-foss: + 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 + +.rails:rules:master-refs-code-backstage-ee-only: + rules: + - <<: *if-not-ee + when: never + - <<: *if-master-refs + changes: *code-backstage-patterns + when: on_success + +.rails:rules:ee-only: + rules: + - <<: *if-not-ee + when: never + - <<: *if-default-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 # +################## +.releases:rules:canonical-dot-com-gitlab-stable-branch-only: + rules: + - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAME == "gitlab-org/gitlab" && $CI_COMMIT_REF_NAME =~ /^[\d-]+-stable-ee$/' + +.releases:rules:canonical-dot-com-security-gitlab-stable-branch-only: + rules: + - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_NAME == "gitlab-org/security/gitlab" && $CI_COMMIT_REF_NAME =~ /^[\d-]+-stable-ee$/' + +################# +# Reports rules # +################# +.reports:rules:code_quality: + rules: + - if: '$CODE_QUALITY_DISABLED' + when: never + # - <<: *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 + +.reports:rules:sast: + rules: + - if: '$SAST_DISABLED || $GITLAB_FEATURES !~ /\bsast\b/' + when: never + # - <<: *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 + +.reports:rules:dependency_scanning: + rules: + - if: '$DEPENDENCY_SCANNING_DISABLED || $GITLAB_FEATURES !~ /\bdependency_scanning\b/' + when: never + # - <<: *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 + +.reports:rules:dast: + rules: + - if: '$DAST_DISABLED || $GITLAB_FEATURES !~ /\bdast\b/' + when: never + - <<: *if-dot-com-gitlab-org-merge-request + changes: *code-qa-patterns + +.reports:schedule-dast: + rules: + - if: '$DAST_DISABLED || $GITLAB_FEATURES !~ /\bdast\b/' + when: never + - <<: *if-dot-com-gitlab-org-schedule + +################ +# Review rules # +################ +.review:rules:mr-and-schedule: + rules: + - <<: *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:mr-only-auto: + rules: + - <<: *if-dot-com-gitlab-org-merge-request + changes: *code-qa-patterns + when: on_success + +.review:rules:mr-only-manual: + rules: + - <<: *if-dot-com-gitlab-org-merge-request + changes: *code-qa-patterns + when: manual + +.review:rules:review-cleanup: + rules: + - <<: *if-dot-com-gitlab-org-merge-request + changes: *code-qa-patterns + when: manual + - <<: *if-dot-com-gitlab-org-schedule + when: on_success + +.review:rules:danger: + rules: + - if: '$DANGER_GITLAB_API_TOKEN && $CI_MERGE_REQUEST_IID' + when: on_success + +############### +# Setup rules # +############### +.setup:rules:cache-gems: + rules: + - <<: *if-not-canonical-namespace + when: never + - <<: *if-master-or-tag + changes: *code-backstage-qa-patterns + when: on_success + +.setup:rules:gitlab_git_test: + rules: + - <<: *if-default-refs + changes: *code-backstage-patterns + when: on_success + +.setup:rules:no_ee_check: + rules: + - <<: *if-not-foss + when: never + - <<: *if-default-refs + changes: *code-backstage-patterns + when: on_success + +####################### +# Test metadata rules # +####################### +.test-metadata:rules:retrieve-tests-metadata: + rules: + - <<: *if-default-refs + changes: *code-backstage-patterns + when: on_success + +.test-metadata:rules:update-tests-metadata: + rules: + - <<: *if-dot-com-ee-schedule + changes: *code-backstage-patterns + when: on_success + +.test-metadata:rules:flaky-examples-check: + rules: + - <<: *if-merge-request + changes: *code-backstage-patterns + when: on_success + + +############## +# YAML rules # +############## +.yaml:rules: + rules: + - <<: *if-default-refs + changes: *yaml-patterns diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml index 73ec0a559fc..fb203db1478 100644 --- a/.gitlab/ci/setup.gitlab-ci.yml +++ b/.gitlab/ci/setup.gitlab-ci.yml @@ -1,90 +1,3 @@ -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-not-canonical-namespace: &if-not-canonical-namespace - if: '$CI_PROJECT_NAMESPACE !~ /^gitlab(-org)?($|\/)/' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-not-foss: &if-not-foss - if: '$CI_PROJECT_NAME != "gitlab-foss" && $CI_PROJECT_NAME != "gitlab-ce" && $CI_PROJECT_NAME != "gitlabhq"' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-master-or-tag: &if-master-or-tag - if: '$CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_TAG' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.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' - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-backstage-patterns: &code-backstage-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # Backstage changes - - "Dangerfile" - - "danger/**/*" - - "{,ee/}fixtures/**/*" - - "{,ee/}rubocop/**/*" - - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-backstage-qa-patterns: &code-backstage-qa-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # Backstage changes - - "Dangerfile" - - "danger/**/*" - - "{,ee/}fixtures/**/*" - - "{,ee/}rubocop/**/*" - - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file - # QA changes - - ".dockerignore" - - "qa/**/*" - -.setup:rules:cache-gems: - rules: - - <<: *if-not-canonical-namespace - when: never - - <<: *if-master-or-tag - changes: *code-backstage-qa-patterns - when: on_success - -.setup:rules:gitlab_git_test: - rules: - - <<: *if-default-refs - changes: *code-backstage-patterns - when: on_success - -.setup:rules:no_ee_check: - rules: - - <<: *if-not-foss - when: never - - <<: *if-default-refs - changes: *code-backstage-patterns - when: on_success - # Insurance in case a gem needed by one of our releases gets yanked from # rubygems.org in the future. cache gems: diff --git a/.gitlab/ci/test-metadata.gitlab-ci.yml b/.gitlab/ci/test-metadata.gitlab-ci.yml index 2457498f84d..719e4e821c9 100644 --- a/.gitlab/ci/test-metadata.gitlab-ci.yml +++ b/.gitlab/ci/test-metadata.gitlab-ci.yml @@ -1,56 +1,3 @@ -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.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' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-merge-request: &if-merge-request - if: '$CI_MERGE_REQUEST_IID' - -# Make sure to update all the similar conditions in other CI config files if you modify these conditions -.if-canonical-dot-com-gitlab-schedule: &if-canonical-dot-com-gitlab-schedule - if: '$CI_SERVER_HOST == "gitlab.com" && $CI_PROJECT_PATH == "gitlab-org/gitlab" && $CI_PIPELINE_SOURCE == "schedule"' - -# Make sure to update all the similar patterns in other CI config files if you modify these patterns -.code-backstage-patterns: &code-backstage-patterns - - ".gitlab/ci/**/*" - - ".{eslintignore,gitattributes,nvmrc,prettierrc,stylelintrc,yamllint}" - - ".{codeclimate,eslintrc,gitlab-ci,haml-lint,haml-lint_todo,rubocop,rubocop_todo,scss-lint}.yml" - - ".csscomb.json" - - "Dockerfile.assets" - - "*_VERSION" - - "Gemfile{,.lock}" - - "Rakefile" - - "{babel.config,jest.config}.js" - - "config.ru" - - "{package.json,yarn.lock}" - - "{,ee/}{app,bin,config,db,haml_lint,lib,locale,public,scripts,symbol,vendor}/**/*" - - "doc/api/graphql/reference/*" # Files in this folder are auto-generated - # Backstage changes - - "Dangerfile" - - "danger/**/*" - - "{,ee/}fixtures/**/*" - - "{,ee/}rubocop/**/*" - - "{,ee/}spec/**/*" - - "doc/README.md" # Some RSpec test rely on this file - -.test-metadata:rules:retrieve-tests-metadata: - rules: - - <<: *if-default-refs - changes: *code-backstage-patterns - when: on_success - -.test-metadata:rules:update-tests-metadata: - rules: - - <<: *if-canonical-dot-com-gitlab-schedule - changes: *code-backstage-patterns - when: on_success - -.test-metadata:rules:flaky-examples-check: - rules: - - <<: *if-merge-request - changes: *code-backstage-patterns - when: on_success - .tests-metadata-state: variables: TESTS_METADATA_S3_BUCKET: "gitlab-ce-cache" diff --git a/.gitlab/ci/yaml.gitlab-ci.yml b/.gitlab/ci/yaml.gitlab-ci.yml index 4fcf940974b..cdc3aa6e577 100644 --- a/.gitlab/ci/yaml.gitlab-ci.yml +++ b/.gitlab/ci/yaml.gitlab-ci.yml @@ -4,10 +4,7 @@ lint-ci-gitlab: extends: - .default-tags - .default-retry - - .default-only - only: - changes: - - "**/*.yml" + - .yaml:rules image: sdesbure/yamllint:latest dependencies: [] variables: |