diff options
-rw-r--r-- | .gitlab-ci.yml | 144 |
1 files changed, 71 insertions, 73 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bf086e853a6..a424f2f93e6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,38 +16,6 @@ image: "dev.gitlab.org:5005/gitlab/gitlab-build-images:ruby-2.3.3-golang-1.8-git <<: *default-cache policy: pull -variables: - MYSQL_ALLOW_EMPTY_PASSWORD: "1" - RAILS_ENV: "test" - NODE_ENV: "test" - SIMPLECOV: "true" - GIT_DEPTH: "20" - GIT_SUBMODULE_STRATEGY: "none" - PHANTOMJS_VERSION: "2.1.1" - GET_SOURCES_ATTEMPTS: "3" - KNAPSACK_RSPEC_SUITE_REPORT_PATH: knapsack/${CI_PROJECT_NAME}/rspec_report-master.json - KNAPSACK_SPINACH_SUITE_REPORT_PATH: knapsack/${CI_PROJECT_NAME}/spinach_report-master.json - FLAKY_RSPEC_SUITE_REPORT_PATH: rspec_flaky/report-suite.json - -before_script: - - bundle --version - - date - - source scripts/utils.sh - - date - - source scripts/prepare_build.sh - - date - -after_script: - - date - -stages: - - build - - prepare - - test - - post-test - - pages - - post-cleanup - # Predefined scopes .dedicated-runner: &dedicated-runner retry: 1 @@ -83,6 +51,58 @@ stages: except: - /(^docs[\/-].*|.*-docs$)/ +# Jobs that only need to pull cache +.dedicated-no-docs-pull-cache-job: &dedicated-no-docs-pull-cache-job + <<: *dedicated-runner + <<: *except-docs + <<: *pull-cache + dependencies: + - setup-test-env + stage: test + +# Jobs that do not need a DB +.no-db-job: &no-db-job + <<: *dedicated-no-docs-pull-cache-job + variables: + SETUP_DB: "false" + +.rake-exec: &rake-exec + <<: *no-db-job + script: + - bundle exec rake $CI_JOB_NAME + +variables: + MYSQL_ALLOW_EMPTY_PASSWORD: "1" + RAILS_ENV: "test" + NODE_ENV: "test" + SIMPLECOV: "true" + GIT_DEPTH: "20" + GIT_SUBMODULE_STRATEGY: "none" + PHANTOMJS_VERSION: "2.1.1" + GET_SOURCES_ATTEMPTS: "3" + KNAPSACK_RSPEC_SUITE_REPORT_PATH: knapsack/${CI_PROJECT_NAME}/rspec_report-master.json + KNAPSACK_SPINACH_SUITE_REPORT_PATH: knapsack/${CI_PROJECT_NAME}/spinach_report-master.json + FLAKY_RSPEC_SUITE_REPORT_PATH: rspec_flaky/report-suite.json + +before_script: + - bundle --version + - date + - source scripts/utils.sh + - date + - source scripts/prepare_build.sh + - date + +after_script: + - date + +stages: + - build + - prepare + - test + - post-test + - pages + - post-cleanup + .rspec-metadata: &rspec-metadata <<: *dedicated-runner <<: *pull-cache @@ -316,6 +336,25 @@ setup-test-env: - public/assets - tmp/tests +ee_compat_check: + <<: *rake-exec + dependencies: [] + stage: prepare + except: + - master + - tags + - /^[\d-]+-stable(-ee)?/ + - branches@gitlab-org/gitlab-ee + - branches@gitlab/gitlab-ee + allow_failure: yes + retry: 0 + artifacts: + name: "${CI_JOB_NAME}_${CI_COMIT_REF_NAME}_${CI_COMMIT_SHA}" + when: on_failure + expire_in: 10d + paths: + - ee_compat_check/patches/*.patch + rspec-pg 0 25: *rspec-metadata-pg rspec-pg 1 25: *rspec-metadata-pg rspec-pg 2 25: *rspec-metadata-pg @@ -380,26 +419,6 @@ spinach-mysql 2 5: *spinach-metadata-mysql spinach-mysql 3 5: *spinach-metadata-mysql spinach-mysql 4 5: *spinach-metadata-mysql -# Jobs that only need to pull cache -.dedicated-no-docs-pull-cache-job: &dedicated-no-docs-pull-cache-job - <<: *dedicated-runner - <<: *except-docs - <<: *pull-cache - dependencies: - - setup-test-env - stage: test - -# Jobs that do not need a DB -.no-db-job: &no-db-job - <<: *dedicated-no-docs-pull-cache-job - variables: - SETUP_DB: "false" - -.rake-exec: &rake-exec - <<: *no-db-job - script: - - bundle exec rake $CI_JOB_NAME - static-analysis: <<: *no-db-job script: @@ -433,27 +452,6 @@ downtime_check: - /^[\d-]+-stable(-ee)?$/ - /(^docs[\/-].*|.*-docs$)/ -ee_compat_check: - <<: *rake-exec - except: - - master - - tags - - /^[\d-]+-stable(-ee)?/ - - branches@gitlab-org/gitlab-ee - - branches@gitlab/gitlab-ee - allow_failure: yes - retry: 0 - cache: - key: "ee_compat_check_repo" - paths: - - ee_compat_check/ee-repo/ - artifacts: - name: "${CI_JOB_NAME}_${CI_COMIT_REF_NAME}_${CI_COMMIT_SHA}" - when: on_failure - expire_in: 10d - paths: - - ee_compat_check/patches/*.patch - # DB migration, rollback, and seed jobs .db-migrate-reset: &db-migrate-reset <<: *dedicated-no-docs-pull-cache-job |