Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-02-18 18:08:51 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-02-18 18:08:51 +0300
commit163a7046ac76eb4109184e82ce0af911633e6626 (patch)
tree9f22bb438db435d518e8f5520b309c6319ae0bd8 /.gitlab
parent0637ba1e6e9024f35b2cbf561d9002ec17350bb3 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to '.gitlab')
-rw-r--r--.gitlab/ci/cache-repo.gitlab-ci.yml8
-rw-r--r--.gitlab/ci/cng.gitlab-ci.yml8
-rw-r--r--.gitlab/ci/dev-fixtures.gitlab-ci.yml45
-rw-r--r--.gitlab/ci/docs.gitlab-ci.yml61
-rw-r--r--.gitlab/ci/frontend.gitlab-ci.yml162
-rw-r--r--.gitlab/ci/global.gitlab-ci.yml176
-rw-r--r--.gitlab/ci/memory.gitlab-ci.yml25
-rw-r--r--.gitlab/ci/pages.gitlab-ci.yml35
-rw-r--r--.gitlab/ci/qa.gitlab-ci.yml87
-rw-r--r--.gitlab/ci/rails.gitlab-ci.yml106
-rw-r--r--.gitlab/ci/releases.gitlab-ci.yml8
-rw-r--r--.gitlab/ci/reports.gitlab-ci.yml123
-rw-r--r--.gitlab/ci/review.gitlab-ci.yml60
-rw-r--r--.gitlab/ci/rules.gitlab-ci.yml500
-rw-r--r--.gitlab/ci/setup.gitlab-ci.yml87
-rw-r--r--.gitlab/ci/test-metadata.gitlab-ci.yml53
-rw-r--r--.gitlab/ci/yaml.gitlab-ci.yml5
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: