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:
Diffstat (limited to '.gitlab/ci/frontend.gitlab-ci.yml')
-rw-r--r--.gitlab/ci/frontend.gitlab-ci.yml162
1 files changed, 28 insertions, 134 deletions
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"