Optimize QA pipeline and don't run irrelevant jobs

This commit is contained in:
Grzegorz Bizon 2017-12-18 10:26:06 +00:00 committed by Rémy Coutable
parent 2bad3b0eaf
commit 0a9597f1d2

View file

@ -76,10 +76,15 @@ stages:
except: except:
- /(^docs[\/-].*|.*-docs$)/ - /(^docs[\/-].*|.*-docs$)/
.except-qa: &except-qa
except:
- /(^qa[\/-].*|.*-qa$)/
.rspec-metadata: &rspec-metadata .rspec-metadata: &rspec-metadata
<<: *dedicated-runner <<: *dedicated-runner
<<: *pull-cache <<: *pull-cache
<<: *except-docs <<: *except-docs
<<: *except-qa
stage: test stage: test
script: script:
- JOB_NAME=( $CI_JOB_NAME ) - JOB_NAME=( $CI_JOB_NAME )
@ -118,6 +123,7 @@ stages:
<<: *dedicated-runner <<: *dedicated-runner
<<: *pull-cache <<: *pull-cache
<<: *except-docs <<: *except-docs
<<: *except-qa
stage: test stage: test
script: script:
- JOB_NAME=( $CI_JOB_NAME ) - JOB_NAME=( $CI_JOB_NAME )
@ -169,6 +175,7 @@ package-qa:
# Review docs base # Review docs base
.review-docs: &review-docs .review-docs: &review-docs
<<: *except-qa
image: ruby:2.4-alpine image: ruby:2.4-alpine
before_script: before_script:
- gem install gitlab --no-doc - gem install gitlab --no-doc
@ -214,6 +221,7 @@ review-docs-cleanup:
retrieve-tests-metadata: retrieve-tests-metadata:
<<: *tests-metadata-state <<: *tests-metadata-state
<<: *except-docs <<: *except-docs
<<: *except-qa
stage: prepare stage: prepare
cache: cache:
key: tests_metadata key: tests_metadata
@ -265,6 +273,7 @@ flaky-examples-check:
except: except:
- master - master
- /(^docs[\/-].*|.*-docs$)/ - /(^docs[\/-].*|.*-docs$)/
- /(^qa[\/-].*|.*-qa$)/
artifacts: artifacts:
expire_in: 30d expire_in: 30d
paths: paths:
@ -369,6 +378,7 @@ spinach-mysql 3 4: *spinach-metadata-mysql
<<: *ruby-static-analysis <<: *ruby-static-analysis
<<: *dedicated-runner <<: *dedicated-runner
<<: *except-docs <<: *except-docs
<<: *except-qa
<<: *pull-cache <<: *pull-cache
stage: test stage: test
script: script:
@ -387,6 +397,7 @@ static-analysis:
# - Make sure cURL examples in API docs use the full switches # - Make sure cURL examples in API docs use the full switches
docs lint: docs lint:
<<: *dedicated-runner <<: *dedicated-runner
<<: *except-qa
image: "registry.gitlab.com/gitlab-org/gitlab-build-images:nanoc-bootstrap-ruby-2.4-alpine" image: "registry.gitlab.com/gitlab-org/gitlab-build-images:nanoc-bootstrap-ruby-2.4-alpine"
stage: test stage: test
cache: {} cache: {}
@ -409,6 +420,7 @@ downtime_check:
- tags - tags
- /^[\d-]+-stable(-ee)?$/ - /^[\d-]+-stable(-ee)?$/
- /(^docs[\/-].*|.*-docs$)/ - /(^docs[\/-].*|.*-docs$)/
- /(^qa[\/-].*|.*-qa$)/
ee_compat_check: ee_compat_check:
<<: *rake-exec <<: *rake-exec
@ -430,6 +442,7 @@ ee_compat_check:
.db-migrate-reset: &db-migrate-reset .db-migrate-reset: &db-migrate-reset
<<: *dedicated-runner <<: *dedicated-runner
<<: *except-docs <<: *except-docs
<<: *except-qa
<<: *pull-cache <<: *pull-cache
stage: test stage: test
script: script:
@ -447,6 +460,7 @@ db:migrate:reset-mysql:
<<: *dedicated-runner <<: *dedicated-runner
<<: *pull-cache <<: *pull-cache
<<: *except-docs <<: *except-docs
<<: *except-qa
stage: test stage: test
variables: variables:
SETUP_DB: "false" SETUP_DB: "false"
@ -473,6 +487,7 @@ migration:path-mysql:
.db-rollback: &db-rollback .db-rollback: &db-rollback
<<: *dedicated-runner <<: *dedicated-runner
<<: *except-docs <<: *except-docs
<<: *except-qa
<<: *pull-cache <<: *pull-cache
stage: test stage: test
script: script:
@ -490,6 +505,7 @@ db:rollback-mysql:
.db-seed_fu: &db-seed_fu .db-seed_fu: &db-seed_fu
<<: *dedicated-runner <<: *dedicated-runner
<<: *except-docs <<: *except-docs
<<: *except-qa
<<: *pull-cache <<: *pull-cache
stage: test stage: test
variables: variables:
@ -524,6 +540,7 @@ db:check-schema-pg:
gitlab:assets:compile: gitlab:assets:compile:
<<: *dedicated-runner <<: *dedicated-runner
<<: *except-docs <<: *except-docs
<<: *except-qa
<<: *pull-cache <<: *pull-cache
stage: test stage: test
dependencies: [] dependencies: []
@ -547,6 +564,7 @@ karma:
<<: *use-pg <<: *use-pg
<<: *dedicated-runner <<: *dedicated-runner
<<: *except-docs <<: *except-docs
<<: *except-qa
<<: *pull-cache <<: *pull-cache
stage: test stage: test
variables: variables:
@ -599,6 +617,7 @@ qa:internal:
coverage: coverage:
<<: *dedicated-runner <<: *dedicated-runner
<<: *except-docs <<: *except-docs
<<: *except-qa
<<: *pull-cache <<: *pull-cache
stage: post-test stage: post-test
services: [] services: []
@ -618,6 +637,7 @@ coverage:
lint:javascript:report: lint:javascript:report:
<<: *dedicated-runner <<: *dedicated-runner
<<: *except-docs <<: *except-docs
<<: *except-qa
<<: *pull-cache <<: *pull-cache
stage: post-test stage: post-test
dependencies: dependencies:
@ -677,6 +697,7 @@ cache gems:
gitlab_git_test: gitlab_git_test:
<<: *pull-cache <<: *pull-cache
<<: *except-docs <<: *except-docs
<<: *except-qa
variables: variables:
SETUP_DB: "false" SETUP_DB: "false"
script: script: