summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWinnie Hellmann <winnie@gitlab.com>2017-11-17 10:04:43 +0100
committerWinnie Hellmann <winnie@gitlab.com>2017-11-17 10:04:43 +0100
commitdc50c9f1644b27fe8e5cf0190b459a649504219b (patch)
treea84ab010771f1b6424d24e025ea17a1532bc5499
parent10c216dabb44605d5e8711a0158e3087289e8889 (diff)
downloadgitlab-ce-winh-codeclimate-debug.tar.gz
Debug codeclimatewinh-codeclimate-debug
-rw-r--r--.gitlab-ci.yml338
1 files changed, 1 insertions, 337 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ba19d69745c..8ebf3694776 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -184,94 +184,6 @@ build-package:
only:
- branches
-# Trigger a docs build in gitlab-docs
-# Useful to preview the docs changes live
-review-docs-deploy:
- <<: *review-docs
- stage: build
- environment:
- name: review-docs/$CI_COMMIT_REF_NAME
- # DOCS_REVIEW_APPS_DOMAIN and DOCS_GITLAB_REPO_SUFFIX are secret variables
- # Discussion: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/14236/diffs#note_40140693
- url: http://preview-$CI_COMMIT_REF_SLUG.$DOCS_REVIEW_APPS_DOMAIN/$DOCS_GITLAB_REPO_SUFFIX
- on_stop: review-docs-cleanup
- script:
- - ./trigger-build-docs deploy
-
-# Cleanup remote environment of gitlab-docs
-review-docs-cleanup:
- <<: *review-docs
- stage: post-cleanup
- environment:
- name: review-docs/$CI_COMMIT_REF_NAME
- action: stop
- script:
- - ./trigger-build-docs cleanup
-
-# Retrieve knapsack and rspec_flaky reports
-retrieve-tests-metadata:
- <<: *tests-metadata-state
- <<: *except-docs
- stage: prepare
- cache:
- key: tests_metadata
- policy: pull
- script:
- - mkdir -p knapsack/${CI_PROJECT_NAME}/
- - wget -O $KNAPSACK_RSPEC_SUITE_REPORT_PATH http://${TESTS_METADATA_S3_BUCKET}.s3.amazonaws.com/$KNAPSACK_RSPEC_SUITE_REPORT_PATH || rm $KNAPSACK_RSPEC_SUITE_REPORT_PATH
- - wget -O $KNAPSACK_SPINACH_SUITE_REPORT_PATH http://${TESTS_METADATA_S3_BUCKET}.s3.amazonaws.com/$KNAPSACK_SPINACH_SUITE_REPORT_PATH || rm $KNAPSACK_SPINACH_SUITE_REPORT_PATH
- - '[[ -f $KNAPSACK_RSPEC_SUITE_REPORT_PATH ]] || echo "{}" > ${KNAPSACK_RSPEC_SUITE_REPORT_PATH}'
- - '[[ -f $KNAPSACK_SPINACH_SUITE_REPORT_PATH ]] || echo "{}" > ${KNAPSACK_SPINACH_SUITE_REPORT_PATH}'
- - mkdir -p rspec_flaky/
- - wget -O $FLAKY_RSPEC_SUITE_REPORT_PATH http://${TESTS_METADATA_S3_BUCKET}.s3.amazonaws.com/$FLAKY_RSPEC_SUITE_REPORT_PATH || rm $FLAKY_RSPEC_SUITE_REPORT_PATH
- - '[[ -f $FLAKY_RSPEC_SUITE_REPORT_PATH ]] || echo "{}" > ${FLAKY_RSPEC_SUITE_REPORT_PATH}'
-
-update-tests-metadata:
- <<: *tests-metadata-state
- <<: *only-canonical-masters
- stage: post-test
- cache:
- key: tests_metadata
- paths:
- - knapsack/
- - rspec_flaky/
- policy: push
- script:
- - retry gem install fog-aws mime-types
- - scripts/merge-reports ${KNAPSACK_RSPEC_SUITE_REPORT_PATH} knapsack/${CI_PROJECT_NAME}/rspec-pg_node_*.json
- - scripts/merge-reports ${KNAPSACK_SPINACH_SUITE_REPORT_PATH} knapsack/${CI_PROJECT_NAME}/spinach-pg_node_*.json
- - scripts/merge-reports ${FLAKY_RSPEC_SUITE_REPORT_PATH} rspec_flaky/all_*_*.json
- - '[[ -z ${TESTS_METADATA_S3_BUCKET} ]] || scripts/sync-reports put $TESTS_METADATA_S3_BUCKET $KNAPSACK_RSPEC_SUITE_REPORT_PATH $KNAPSACK_SPINACH_SUITE_REPORT_PATH'
- - '[[ -z ${TESTS_METADATA_S3_BUCKET} ]] || scripts/sync-reports put $TESTS_METADATA_S3_BUCKET $FLAKY_RSPEC_SUITE_REPORT_PATH'
- - rm -f knapsack/${CI_PROJECT_NAME}/*_node_*.json
- - rm -f rspec_flaky/all_*.json rspec_flaky/new_*.json
-
-flaky-examples-check:
- <<: *dedicated-runner
- image: ruby:2.3-alpine
- services: []
- before_script: []
- variables:
- SETUP_DB: "false"
- USE_BUNDLE_INSTALL: "false"
- NEW_FLAKY_SPECS_REPORT: rspec_flaky/report-new.json
- stage: post-test
- allow_failure: yes
- retry: 0
- only:
- - branches
- except:
- - master
- - /(^docs[\/-].*|.*-docs$)/
- artifacts:
- expire_in: 30d
- paths:
- - rspec_flaky/
- script:
- - '[[ -f $NEW_FLAKY_SPECS_REPORT ]] || echo "{}" > ${NEW_FLAKY_SPECS_REPORT}'
- - scripts/merge-reports ${NEW_FLAKY_SPECS_REPORT} rspec_flaky/new_*_*.json
- - scripts/detect-new-flaky-examples $NEW_FLAKY_SPECS_REPORT
-
setup-test-env:
<<: *use-pg
<<: *dedicated-runner
@@ -292,70 +204,6 @@ setup-test-env:
- public/assets
- tmp/tests
-rspec-pg 0 26: *rspec-metadata-pg
-rspec-pg 1 26: *rspec-metadata-pg
-rspec-pg 2 26: *rspec-metadata-pg
-rspec-pg 3 26: *rspec-metadata-pg
-rspec-pg 4 26: *rspec-metadata-pg
-rspec-pg 5 26: *rspec-metadata-pg
-rspec-pg 6 26: *rspec-metadata-pg
-rspec-pg 7 26: *rspec-metadata-pg
-rspec-pg 8 26: *rspec-metadata-pg
-rspec-pg 9 26: *rspec-metadata-pg
-rspec-pg 10 26: *rspec-metadata-pg
-rspec-pg 11 26: *rspec-metadata-pg
-rspec-pg 12 26: *rspec-metadata-pg
-rspec-pg 13 26: *rspec-metadata-pg
-rspec-pg 14 26: *rspec-metadata-pg
-rspec-pg 15 26: *rspec-metadata-pg
-rspec-pg 16 26: *rspec-metadata-pg
-rspec-pg 17 26: *rspec-metadata-pg
-rspec-pg 18 26: *rspec-metadata-pg
-rspec-pg 19 26: *rspec-metadata-pg
-rspec-pg 20 26: *rspec-metadata-pg
-rspec-pg 21 26: *rspec-metadata-pg
-rspec-pg 22 26: *rspec-metadata-pg
-rspec-pg 23 26: *rspec-metadata-pg
-rspec-pg 24 26: *rspec-metadata-pg
-rspec-pg 25 26: *rspec-metadata-pg
-
-rspec-mysql 0 26: *rspec-metadata-mysql
-rspec-mysql 1 26: *rspec-metadata-mysql
-rspec-mysql 2 26: *rspec-metadata-mysql
-rspec-mysql 3 26: *rspec-metadata-mysql
-rspec-mysql 4 26: *rspec-metadata-mysql
-rspec-mysql 5 26: *rspec-metadata-mysql
-rspec-mysql 6 26: *rspec-metadata-mysql
-rspec-mysql 7 26: *rspec-metadata-mysql
-rspec-mysql 8 26: *rspec-metadata-mysql
-rspec-mysql 9 26: *rspec-metadata-mysql
-rspec-mysql 10 26: *rspec-metadata-mysql
-rspec-mysql 11 26: *rspec-metadata-mysql
-rspec-mysql 12 26: *rspec-metadata-mysql
-rspec-mysql 13 26: *rspec-metadata-mysql
-rspec-mysql 14 26: *rspec-metadata-mysql
-rspec-mysql 15 26: *rspec-metadata-mysql
-rspec-mysql 16 26: *rspec-metadata-mysql
-rspec-mysql 17 26: *rspec-metadata-mysql
-rspec-mysql 18 26: *rspec-metadata-mysql
-rspec-mysql 19 26: *rspec-metadata-mysql
-rspec-mysql 20 26: *rspec-metadata-mysql
-rspec-mysql 21 26: *rspec-metadata-mysql
-rspec-mysql 22 26: *rspec-metadata-mysql
-rspec-mysql 23 26: *rspec-metadata-mysql
-rspec-mysql 24 26: *rspec-metadata-mysql
-rspec-mysql 25 26: *rspec-metadata-mysql
-
-spinach-pg 0 4: *spinach-metadata-pg
-spinach-pg 1 4: *spinach-metadata-pg
-spinach-pg 2 4: *spinach-metadata-pg
-spinach-pg 3 4: *spinach-metadata-pg
-
-spinach-mysql 0 4: *spinach-metadata-mysql
-spinach-mysql 1 4: *spinach-metadata-mysql
-spinach-mysql 2 4: *spinach-metadata-mysql
-spinach-mysql 3 4: *spinach-metadata-mysql
-
# Static analysis jobs
.ruby-static-analysis: &ruby-static-analysis
<<: *pull-cache
@@ -372,59 +220,6 @@ spinach-mysql 3 4: *spinach-metadata-mysql
script:
- bundle exec rake $CI_JOB_NAME
-static-analysis:
- <<: *ruby-static-analysis
- <<: *dedicated-runner
- <<: *except-docs
- stage: test
- script:
- - scripts/static-analysis
-
-# Documentation checks:
-# - Check validity of relative links
-# - Make sure cURL examples in API docs use the full switches
-docs lint:
- <<: *dedicated-runner
- image: "registry.gitlab.com/gitlab-org/gitlab-build-images:nanoc-bootstrap-ruby-2.4-alpine"
- stage: test
- cache: {}
- dependencies: []
- before_script: []
- script:
- - scripts/lint-doc.sh
- - scripts/lint-changelog-yaml
- - mv doc/ /nanoc/content/
- - cd /nanoc
- # Build HTML from Markdown
- - bundle exec nanoc
- # Check the internal links
- - bundle exec nanoc check internal_links
-
-downtime_check:
- <<: *rake-exec
- except:
- - master
- - tags
- - /^[\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: no
- 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
-
# DB migration, rollback, and seed jobs
.db-migrate-reset: &db-migrate-reset
<<: *dedicated-runner
@@ -434,14 +229,6 @@ ee_compat_check:
script:
- bundle exec rake db:migrate:reset
-db:migrate:reset-pg:
- <<: *db-migrate-reset
- <<: *use-pg
-
-db:migrate:reset-mysql:
- <<: *db-migrate-reset
- <<: *use-mysql
-
.migration-paths: &migration-paths
<<: *dedicated-runner
<<: *pull-cache
@@ -461,14 +248,6 @@ db:migrate:reset-mysql:
- . scripts/prepare_build.sh
- bundle exec rake db:migrate
-migration:path-pg:
- <<: *migration-paths
- <<: *use-pg
-
-migration:path-mysql:
- <<: *migration-paths
- <<: *use-mysql
-
.db-rollback: &db-rollback
<<: *dedicated-runner
<<: *except-docs
@@ -519,51 +298,6 @@ db:check-schema-pg:
script:
- source scripts/schema_changed.sh
-# Frontend-related jobs
-gitlab:assets:compile:
- <<: *dedicated-runner
- <<: *except-docs
- <<: *pull-cache
- stage: test
- dependencies: []
- variables:
- NODE_ENV: "production"
- RAILS_ENV: "production"
- SETUP_DB: "false"
- SKIP_STORAGE_VALIDATION: "true"
- WEBPACK_REPORT: "true"
- NO_COMPRESSION: "true"
- script:
- - yarn install --frozen-lockfile --production --cache-folder .yarn-cache
- - bundle exec rake gitlab:assets:compile
- artifacts:
- name: webpack-report
- expire_in: 31d
- paths:
- - webpack-report/
-
-karma:
- <<: *use-pg
- <<: *dedicated-runner
- <<: *except-docs
- <<: *pull-cache
- stage: test
- variables:
- BABEL_ENV: "coverage"
- CHROME_LOG_FILE: "chrome_debug.log"
- script:
- - scripts/gitaly-test-spawn
- - bundle exec rake gettext:po_to_json
- - bundle exec rake karma
- coverage: '/^Statements *: (\d+\.\d+%)/'
- artifacts:
- name: coverage-javascript
- expire_in: 31d
- when: always
- paths:
- - chrome_debug.log
- - coverage-javascript/
-
codequality:
<<: *except-docs
<<: *pull-cache
@@ -578,82 +312,12 @@ codequality:
script:
- cp .rubocop.yml .rubocop.yml.bak
- grep -v "rubocop-gitlab-security" .rubocop.yml.bak > .rubocop.yml
- - docker run --env CODECLIMATE_CODE="$PWD" --volume "$PWD":/code --volume /var/run/docker.sock:/var/run/docker.sock --volume /tmp/cc:/tmp/cc codeclimate/codeclimate:0.69.0 analyze -f json > raw_codeclimate.json
+ - docker run --env CODECLIMATE_DEBUG=1 --env CODECLIMATE_CODE="$PWD" --volume "$PWD":/code --volume /var/run/docker.sock:/var/run/docker.sock --volume /tmp/cc:/tmp/cc codeclimate/codeclimate:0.69.0 analyze -f json > raw_codeclimate.json
- cat raw_codeclimate.json | docker run -i stedolan/jq -c 'map({check_name,fingerprint,location})' > codeclimate.json
- mv .rubocop.yml.bak .rubocop.yml
artifacts:
paths: [codeclimate.json]
-qa:internal:
- stage: test
- variables:
- SETUP_DB: "false"
- services: []
- script:
- - cd qa/
- - bundle install
- - bundle exec rspec
-
-coverage:
- <<: *dedicated-runner
- <<: *except-docs
- <<: *pull-cache
- stage: post-test
- services: []
- variables:
- SETUP_DB: "false"
- USE_BUNDLE_INSTALL: "true"
- script:
- - bundle exec scripts/merge-simplecov
- coverage: '/LOC \((\d+\.\d+%)\) covered.$/'
- artifacts:
- name: coverage
- expire_in: 31d
- paths:
- - coverage/index.html
- - coverage/assets/
-
-lint:javascript:report:
- <<: *dedicated-runner
- <<: *except-docs
- <<: *pull-cache
- stage: post-test
- dependencies:
- - setup-test-env
- before_script: []
- script:
- - find app/ spec/ -name '*.js' -exec sed --in-place 's|/\* eslint-disable .*\*/||' {} \; # run report over all files
- - yarn run eslint-report || true # ignore exit code
- artifacts:
- name: eslint-report
- expire_in: 31d
- paths:
- - eslint-report.html
-
-pages:
- <<: *dedicated-runner
- <<: *pull-cache
- before_script: []
- stage: pages
- dependencies:
- - coverage
- - karma
- - gitlab:assets:compile
- - lint:javascript:report
- script:
- - mv public/ .public/
- - mkdir public/
- - mv coverage/ public/coverage-ruby/ || true
- - mv coverage-javascript/ public/coverage-javascript/ || true
- - mv eslint-report.html public/ || true
- - mv webpack-report/ public/webpack-report/ || true
- artifacts:
- paths:
- - public
- only:
- - master@gitlab-org/gitlab-ce
- - master@gitlab-org/gitlab-ee
-
# Insurance in case a gem needed by one of our releases gets yanked from
# rubygems.org in the future.
cache gems: