diff options
author | Luke "Jared" Bennett <lbennett@gitlab.com> | 2016-12-27 14:44:41 +0000 |
---|---|---|
committer | Luke "Jared" Bennett <lbennett@gitlab.com> | 2016-12-31 11:41:20 +0000 |
commit | 713194e9e15c52bc6205d91c462256794a90d63a (patch) | |
tree | 56bfdfd46e19197e3f1912bf02a074a7ebe0df91 | |
parent | 47b35ddecd6350c422ffc20d762ed6af232c577f (diff) | |
download | gitlab-ce-24898-set-up-review-apps-for-gitlab-ce.tar.gz |
Add review gitlab-ci declarations24898-set-up-review-apps-for-gitlab-ce
-rw-r--r-- | .gitlab-ci.yml | 613 |
1 files changed, 326 insertions, 287 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e0e780e1e6b..657987e1e08 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -27,9 +27,10 @@ before_script: stages: - prepare -- test +# - test - post-test -- pages +# - pages +- deploy # Predefined scopes .dedicated-runner: &dedicated-runner @@ -130,37 +131,37 @@ update-knapsack: - master@gitlab/gitlabhq - master@gitlab/gitlab-ee -rspec 0 20: *rspec-knapsack -rspec 1 20: *rspec-knapsack -rspec 2 20: *rspec-knapsack -rspec 3 20: *rspec-knapsack -rspec 4 20: *rspec-knapsack -rspec 5 20: *rspec-knapsack -rspec 6 20: *rspec-knapsack -rspec 7 20: *rspec-knapsack -rspec 8 20: *rspec-knapsack -rspec 9 20: *rspec-knapsack -rspec 10 20: *rspec-knapsack -rspec 11 20: *rspec-knapsack -rspec 12 20: *rspec-knapsack -rspec 13 20: *rspec-knapsack -rspec 14 20: *rspec-knapsack -rspec 15 20: *rspec-knapsack -rspec 16 20: *rspec-knapsack -rspec 17 20: *rspec-knapsack -rspec 18 20: *rspec-knapsack -rspec 19 20: *rspec-knapsack - -spinach 0 10: *spinach-knapsack -spinach 1 10: *spinach-knapsack -spinach 2 10: *spinach-knapsack -spinach 3 10: *spinach-knapsack -spinach 4 10: *spinach-knapsack -spinach 5 10: *spinach-knapsack -spinach 6 10: *spinach-knapsack -spinach 7 10: *spinach-knapsack -spinach 8 10: *spinach-knapsack -spinach 9 10: *spinach-knapsack +# rspec 0 20: *rspec-knapsack +# rspec 1 20: *rspec-knapsack +# rspec 2 20: *rspec-knapsack +# rspec 3 20: *rspec-knapsack +# rspec 4 20: *rspec-knapsack +# rspec 5 20: *rspec-knapsack +# rspec 6 20: *rspec-knapsack +# rspec 7 20: *rspec-knapsack +# rspec 8 20: *rspec-knapsack +# rspec 9 20: *rspec-knapsack +# rspec 10 20: *rspec-knapsack +# rspec 11 20: *rspec-knapsack +# rspec 12 20: *rspec-knapsack +# rspec 13 20: *rspec-knapsack +# rspec 14 20: *rspec-knapsack +# rspec 15 20: *rspec-knapsack +# rspec 16 20: *rspec-knapsack +# rspec 17 20: *rspec-knapsack +# rspec 18 20: *rspec-knapsack +# rspec 19 20: *rspec-knapsack + +# spinach 0 10: *spinach-knapsack +# spinach 1 10: *spinach-knapsack +# spinach 2 10: *spinach-knapsack +# spinach 3 10: *spinach-knapsack +# spinach 4 10: *spinach-knapsack +# spinach 5 10: *spinach-knapsack +# spinach 6 10: *spinach-knapsack +# spinach 7 10: *spinach-knapsack +# spinach 8 10: *spinach-knapsack +# spinach 9 10: *spinach-knapsack # Execute all testing suites against Ruby 2.1 .ruby-21: &ruby-21 @@ -186,37 +187,37 @@ spinach 9 10: *spinach-knapsack <<: *dedicated-runner <<: *ruby-21 -rspec 0 20 ruby21: *rspec-knapsack-ruby21 -rspec 1 20 ruby21: *rspec-knapsack-ruby21 -rspec 2 20 ruby21: *rspec-knapsack-ruby21 -rspec 3 20 ruby21: *rspec-knapsack-ruby21 -rspec 4 20 ruby21: *rspec-knapsack-ruby21 -rspec 5 20 ruby21: *rspec-knapsack-ruby21 -rspec 6 20 ruby21: *rspec-knapsack-ruby21 -rspec 7 20 ruby21: *rspec-knapsack-ruby21 -rspec 8 20 ruby21: *rspec-knapsack-ruby21 -rspec 9 20 ruby21: *rspec-knapsack-ruby21 -rspec 10 20 ruby21: *rspec-knapsack-ruby21 -rspec 11 20 ruby21: *rspec-knapsack-ruby21 -rspec 12 20 ruby21: *rspec-knapsack-ruby21 -rspec 13 20 ruby21: *rspec-knapsack-ruby21 -rspec 14 20 ruby21: *rspec-knapsack-ruby21 -rspec 15 20 ruby21: *rspec-knapsack-ruby21 -rspec 16 20 ruby21: *rspec-knapsack-ruby21 -rspec 17 20 ruby21: *rspec-knapsack-ruby21 -rspec 18 20 ruby21: *rspec-knapsack-ruby21 -rspec 19 20 ruby21: *rspec-knapsack-ruby21 - -spinach 0 10 ruby21: *spinach-knapsack-ruby21 -spinach 1 10 ruby21: *spinach-knapsack-ruby21 -spinach 2 10 ruby21: *spinach-knapsack-ruby21 -spinach 3 10 ruby21: *spinach-knapsack-ruby21 -spinach 4 10 ruby21: *spinach-knapsack-ruby21 -spinach 5 10 ruby21: *spinach-knapsack-ruby21 -spinach 6 10 ruby21: *spinach-knapsack-ruby21 -spinach 7 10 ruby21: *spinach-knapsack-ruby21 -spinach 8 10 ruby21: *spinach-knapsack-ruby21 -spinach 9 10 ruby21: *spinach-knapsack-ruby21 +# rspec 0 20 ruby21: *rspec-knapsack-ruby21 +# rspec 1 20 ruby21: *rspec-knapsack-ruby21 +# rspec 2 20 ruby21: *rspec-knapsack-ruby21 +# rspec 3 20 ruby21: *rspec-knapsack-ruby21 +# rspec 4 20 ruby21: *rspec-knapsack-ruby21 +# rspec 5 20 ruby21: *rspec-knapsack-ruby21 +# rspec 6 20 ruby21: *rspec-knapsack-ruby21 +# rspec 7 20 ruby21: *rspec-knapsack-ruby21 +# rspec 8 20 ruby21: *rspec-knapsack-ruby21 +# rspec 9 20 ruby21: *rspec-knapsack-ruby21 +# rspec 10 20 ruby21: *rspec-knapsack-ruby21 +# rspec 11 20 ruby21: *rspec-knapsack-ruby21 +# rspec 12 20 ruby21: *rspec-knapsack-ruby21 +# rspec 13 20 ruby21: *rspec-knapsack-ruby21 +# rspec 14 20 ruby21: *rspec-knapsack-ruby21 +# rspec 15 20 ruby21: *rspec-knapsack-ruby21 +# rspec 16 20 ruby21: *rspec-knapsack-ruby21 +# rspec 17 20 ruby21: *rspec-knapsack-ruby21 +# rspec 18 20 ruby21: *rspec-knapsack-ruby21 +# rspec 19 20 ruby21: *rspec-knapsack-ruby21 + +# spinach 0 10 ruby21: *spinach-knapsack-ruby21 +# spinach 1 10 ruby21: *spinach-knapsack-ruby21 +# spinach 2 10 ruby21: *spinach-knapsack-ruby21 +# spinach 3 10 ruby21: *spinach-knapsack-ruby21 +# spinach 4 10 ruby21: *spinach-knapsack-ruby21 +# spinach 5 10 ruby21: *spinach-knapsack-ruby21 +# spinach 6 10 ruby21: *spinach-knapsack-ruby21 +# spinach 7 10 ruby21: *spinach-knapsack-ruby21 +# spinach 8 10 ruby21: *spinach-knapsack-ruby21 +# spinach 9 10 ruby21: *spinach-knapsack-ruby21 # Other generic tests @@ -233,238 +234,276 @@ spinach 9 10 ruby21: *spinach-knapsack-ruby21 script: - bundle exec $CI_BUILD_NAME -rubocop: *exec -rake haml_lint: *exec -rake scss_lint: *exec -rake brakeman: *exec -rake flay: *exec -license_finder: *exec -rake downtime_check: *exec -rake ee_compat_check: - <<: *exec - only: - - branches@gitlab-org/gitlab-ce - except: - - master - - tags - - /^[\d-]+-stable(-ee)?$/ - allow_failure: yes - cache: - key: "ruby233-ee_compat_check_repo" - paths: - - ee_compat_check/repo/ - - vendor/ruby - artifacts: - name: "${CI_BUILD_NAME}_${CI_BUILD_REF_NAME}_${CI_BUILD_REF}" - when: on_failure - expire_in: 10d - paths: - - ee_compat_check/patches/*.patch - -rake db:migrate:reset: - stage: test - <<: *use-db - <<: *dedicated-runner - script: - - rake db:migrate:reset - -rake db:seed_fu: - stage: test - <<: *use-db +# rubocop: *exec +# rake haml_lint: *exec +# rake scss_lint: *exec +# rake brakeman: *exec +# rake flay: *exec +# license_finder: *exec +# rake downtime_check: *exec +# rake ee_compat_check: +# <<: *exec +# only: +# - branches@gitlab-org/gitlab-ce +# except: +# - master +# - tags +# - /^[\d-]+-stable(-ee)?$/ +# allow_failure: yes +# cache: +# key: "ruby233-ee_compat_check_repo" +# paths: +# - ee_compat_check/repo/ +# - vendor/ruby +# artifacts: +# name: "${CI_BUILD_NAME}_${CI_BUILD_REF_NAME}_${CI_BUILD_REF}" +# when: on_failure +# expire_in: 10d +# paths: +# - ee_compat_check/patches/*.patch +# +# rake db:migrate:reset: +# stage: test +# <<: *use-db +# <<: *dedicated-runner +# script: +# - rake db:migrate:reset +# +# rake db:seed_fu: +# stage: test +# <<: *use-db +# <<: *dedicated-runner +# variables: +# SIZE: "1" +# SETUP_DB: "false" +# RAILS_ENV: "development" +# script: +# - git clone https://gitlab.com/gitlab-org/gitlab-test.git +# /home/git/repositories/gitlab-org/gitlab-test.git +# - bundle exec rake db:setup db:seed_fu +# artifacts: +# when: on_failure +# expire_in: 1d +# paths: +# - log/development.log +# +# teaspoon: +# cache: +# paths: +# - vendor/ruby +# - node_modules/ +# stage: test +# <<: *use-db +# <<: *dedicated-runner +# script: +# - npm install +# - npm link istanbul +# - rake teaspoon +# artifacts: +# name: coverage-javascript +# expire_in: 31d +# paths: +# - coverage-javascript/default/ +# +# lint-doc: +# stage: test +# <<: *dedicated-runner +# image: "phusion/baseimage:latest" +# before_script: [] +# script: +# - scripts/lint-doc.sh +# +# bundler:check: +# stage: test +# <<: *dedicated-runner +# <<: *ruby-static-analysis +# script: +# - bundle check +# +# bundler:audit: +# stage: test +# <<: *ruby-static-analysis +# <<: *dedicated-runner +# only: +# - master@gitlab-org/gitlab-ce +# - master@gitlab-org/gitlab-ee +# - master@gitlab/gitlabhq +# - master@gitlab/gitlab-ee +# script: +# - "bundle exec bundle-audit check --update --ignore OSVDB-115941" +# +# migration paths: +# stage: test +# <<: *use-db +# <<: *dedicated-runner +# variables: +# SETUP_DB: "false" +# only: +# - master@gitlab-org/gitlab-ce +# - master@gitlab-org/gitlab-ee +# - master@gitlab/gitlabhq +# - master@gitlab/gitlab-ee +# script: +# - git fetch origin v8.5.9 +# - git checkout -f FETCH_HEAD +# - cp config/resque.yml.example config/resque.yml +# - sed -i 's/localhost/redis/g' config/resque.yml +# - bundle install --without postgres production --jobs $(nproc) $FLAGS --retry=3 +# - rake db:drop db:create db:schema:load db:seed_fu +# - git checkout $CI_BUILD_REF +# - source scripts/prepare_build.sh +# - rake db:migrate +# +# coverage: +# stage: post-test +# services: [] +# <<: *dedicated-runner +# variables: +# SETUP_DB: "false" +# USE_BUNDLE_INSTALL: "true" +# script: +# - bundle exec scripts/merge-simplecov +# artifacts: +# name: coverage +# expire_in: 31d +# paths: +# - coverage/index.html +# - coverage/assets/ +# +# lint:javascript: +# <<: *dedicated-runner +# cache: +# paths: +# - node_modules/ +# stage: test +# image: "node:7.1" +# before_script: +# - npm install +# script: +# - npm --silent run eslint +# +# lint:javascript:report: +# <<: *dedicated-runner +# cache: +# paths: +# - node_modules/ +# stage: post-test +# image: "node:7.1" +# before_script: +# - npm install +# script: +# - find app/ spec/ -name '*.js' -or -name '*.js.es6' -exec sed --in-place 's|/\* eslint-disable .*\*/||' {} \; # run report over all files +# - npm --silent run eslint-report || true # ignore exit code +# artifacts: +# name: eslint-report +# expire_in: 31d +# paths: +# - eslint-report.html +# +# # Trigger docs build +# # https://gitlab.com/gitlab-com/doc-gitlab-com/blob/master/README.md#deployment-process +# trigger_docs: +# stage: post-test +# image: "alpine" +# <<: *dedicated-runner +# before_script: +# - apk update && apk add curl +# variables: +# GIT_STRATEGY: none +# cache: {} +# artifacts: {} +# script: +# - "curl -X POST -F token=${DOCS_TRIGGER_TOKEN} -F ref=master -F variables[PROJECT]=ce https://gitlab.com/api/v3/projects/1794617/trigger/builds" +# only: +# - master@gitlab-org/gitlab-ce +# +# # Notify slack in the end +# +# notify:slack: +# stage: post-test +# <<: *dedicated-runner +# variables: +# SETUP_DB: "false" +# USE_BUNDLE_INSTALL: "false" +# script: +# - ./scripts/notify_slack.sh "#development" "Build on \`$CI_BUILD_REF_NAME\` failed! Commit \`$(git log -1 --oneline)\` See <https://gitlab.com/gitlab-org/$(basename "$PWD")/commit/"$CI_BUILD_REF"/pipelines>" +# when: on_failure +# only: +# - master@gitlab-org/gitlab-ce +# - tags@gitlab-org/gitlab-ce +# - master@gitlab-org/gitlab-ee +# - tags@gitlab-org/gitlab-ee +# +# pages: +# before_script: [] +# stage: pages +# <<: *dedicated-runner +# dependencies: +# - coverage +# - teaspoon +# - lint:javascript:report +# script: +# - mv public/ .public/ +# - mkdir public/ +# - mv coverage public/coverage-ruby +# - mv coverage-javascript/default/ public/coverage-javascript/ +# - mv eslint-report.html public/ +# artifacts: +# paths: +# - public +# only: +# - master@gitlab-org/gitlab-ce + +review: <<: *dedicated-runner - variables: - SIZE: "1" - SETUP_DB: "false" - RAILS_ENV: "development" - script: - - git clone https://gitlab.com/gitlab-org/gitlab-test.git - /home/git/repositories/gitlab-org/gitlab-test.git - - bundle exec rake db:setup db:seed_fu - artifacts: - when: on_failure - expire_in: 1d - paths: - - log/development.log - -teaspoon: - cache: - paths: - - vendor/ruby - - node_modules/ - stage: test <<: *use-db - <<: *dedicated-runner - script: - - npm install - - npm link istanbul - - rake teaspoon - artifacts: - name: coverage-javascript - expire_in: 31d - paths: - - coverage-javascript/default/ - -lint-doc: - stage: test - <<: *dedicated-runner - image: "phusion/baseimage:latest" + stage: deploy + image: registry.gitlab.com/gitlab-org/gitlab-development-kit:latest + allow_failure: true before_script: [] script: - - scripts/lint-doc.sh - -bundler:check: - stage: test + - source /home/gdk/.bash_profile + - gem install gitlab-development-kit + - cd /home/gdk + - gdk init + - whoami + - pwd + - cd gitlab-development-kit + - gdk install + - support/set-gitlab-upstream + - gdk run & + - sleep 10 + - curl -f http://127.0.0.1:3000/ + environment: + name: review/$CI_BUILD_REF_NAME + url: http://$CI_BUILD_REF_SLUG.gitlab.com + on_stop: review_stop + +review_stop: <<: *dedicated-runner - <<: *ruby-static-analysis - script: - - bundle check - -bundler:audit: - stage: test - <<: *ruby-static-analysis - <<: *dedicated-runner - only: - - master@gitlab-org/gitlab-ce - - master@gitlab-org/gitlab-ee - - master@gitlab/gitlabhq - - master@gitlab/gitlab-ee - script: - - "bundle exec bundle-audit check --update --ignore OSVDB-115941" - -migration paths: - stage: test <<: *use-db - <<: *dedicated-runner - variables: - SETUP_DB: "false" - only: - - master@gitlab-org/gitlab-ce - - master@gitlab-org/gitlab-ee - - master@gitlab/gitlabhq - - master@gitlab/gitlab-ee - script: - - git fetch origin v8.5.9 - - git checkout -f FETCH_HEAD - - cp config/resque.yml.example config/resque.yml - - sed -i 's/localhost/redis/g' config/resque.yml - - bundle install --without postgres production --jobs $(nproc) $FLAGS --retry=3 - - rake db:drop db:create db:schema:load db:seed_fu - - git checkout $CI_BUILD_REF - - source scripts/prepare_build.sh - - rake db:migrate - -coverage: - stage: post-test - services: [] - <<: *dedicated-runner - variables: - SETUP_DB: "false" - USE_BUNDLE_INSTALL: "true" - script: - - bundle exec scripts/merge-simplecov - artifacts: - name: coverage - expire_in: 31d - paths: - - coverage/index.html - - coverage/assets/ - -lint:javascript: - <<: *dedicated-runner - cache: - paths: - - node_modules/ - stage: test - image: "node:7.1" - before_script: - - npm install - script: - - npm --silent run eslint - -lint:javascript:report: - <<: *dedicated-runner - cache: - paths: - - node_modules/ - stage: post-test - image: "node:7.1" - before_script: - - npm install - script: - - find app/ spec/ -name '*.js' -or -name '*.js.es6' -exec sed --in-place 's|/\* eslint-disable .*\*/||' {} \; # run report over all files - - npm --silent run eslint-report || true # ignore exit code - artifacts: - name: eslint-report - expire_in: 31d - paths: - - eslint-report.html - -# Trigger docs build -# https://gitlab.com/gitlab-com/doc-gitlab-com/blob/master/README.md#deployment-process -trigger_docs: - stage: post-test - image: "alpine" - <<: *dedicated-runner - before_script: - - apk update && apk add curl + stage: deploy variables: GIT_STRATEGY: none - cache: {} - artifacts: {} script: - - "curl -X POST -F token=${DOCS_TRIGGER_TOKEN} -F ref=master -F variables[PROJECT]=ce https://gitlab.com/api/v3/projects/1794617/trigger/builds" - only: - - master@gitlab-org/gitlab-ce - -# Notify slack in the end - -notify:slack: - stage: post-test - <<: *dedicated-runner - variables: - SETUP_DB: "false" - USE_BUNDLE_INSTALL: "false" - script: - - ./scripts/notify_slack.sh "#development" "Build on \`$CI_BUILD_REF_NAME\` failed! Commit \`$(git log -1 --oneline)\` See <https://gitlab.com/gitlab-org/$(basename "$PWD")/commit/"$CI_BUILD_REF"/pipelines>" - when: on_failure - only: - - master@gitlab-org/gitlab-ce - - tags@gitlab-org/gitlab-ce - - master@gitlab-org/gitlab-ee - - tags@gitlab-org/gitlab-ee - -pages: - before_script: [] - stage: pages - <<: *dedicated-runner - dependencies: - - coverage - - teaspoon - - lint:javascript:report - script: - - mv public/ .public/ - - mkdir public/ - - mv coverage public/coverage-ruby - - mv coverage-javascript/default/ public/coverage-javascript/ - - mv eslint-report.html public/ - artifacts: - paths: - - public - only: - - master@gitlab-org/gitlab-ce + - echo 'stop something...' + when: manual + environment: + name: review/$CI_BUILD_REF_NAME + action: stop # Insurance in case a gem needed by one of our releases gets yanked from # rubygems.org in the future. -cache gems: - <<: *dedicated-runner - only: - - tags - variables: - SETUP_DB: "false" - script: - - bundle package --all --all-platforms - artifacts: - paths: - - vendor/cache - only: - - master@gitlab-org/gitlab-ce +# cache gems: +# <<: *dedicated-runner +# only: +# - tags +# variables: +# SETUP_DB: "false" +# script: +# - bundle package --all --all-platforms +# artifacts: +# paths: +# - vendor/cache +# only: +# - master@gitlab-org/gitlab-ce |