gitlab-org--gitlab-foss/.gitlab-ci.yml

327 lines
5.3 KiB
YAML
Raw Normal View History

2016-02-19 09:59:46 -05:00
image: "ruby:2.1"
2016-01-22 08:45:34 -05:00
services:
- mysql:latest
- postgres:latest
- redis:latest
2016-02-06 19:57:04 -05:00
cache:
2016-02-19 11:19:57 -05:00
key: "ruby21"
2016-02-06 19:57:04 -05:00
paths:
- vendor
2016-01-22 08:45:34 -05:00
variables:
MYSQL_ALLOW_EMPTY_PASSWORD: "1"
before_script:
- source ./scripts/prepare_build.sh
2015-06-03 16:05:33 -04:00
- ruby -v
- which ruby
- gem install bundler --no-ri --no-rdoc
2015-06-03 16:05:33 -04:00
- cp config/gitlab.yml.example config/gitlab.yml
- touch log/application.log
- touch log/test.log
- bundle install --without postgres production --jobs $(nproc) "${FLAGS[@]}"
- RAILS_ENV=test bundle exec rake db:drop db:create db:schema:load db:migrate
stages:
- test
- notifications
spec:feature:
stage: test
script:
- RAILS_ENV=test bundle exec rake assets:precompile 2>/dev/null
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spec:feature
tags:
- ruby
- mysql
spec:api:
stage: test
script:
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spec:api
tags:
- ruby
- mysql
2015-12-09 04:51:01 -05:00
spec:models:
stage: test
2015-12-09 04:51:01 -05:00
script:
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spec:models
tags:
- ruby
- mysql
2015-12-09 05:56:23 -05:00
spec:lib:
stage: test
2015-12-09 05:56:23 -05:00
script:
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spec:lib
tags:
- ruby
- mysql
spec:services:
stage: test
2015-12-09 05:56:23 -05:00
script:
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spec:services
tags:
- ruby
- mysql
spec:benchmark:
stage: test
script:
- RAILS_ENV=test bundle exec rake spec:benchmark
tags:
- ruby
- mysql
allow_failure: true
spec:other:
stage: test
script:
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spec:other
tags:
- ruby
- mysql
2015-12-09 04:50:38 -05:00
spinach:project:half:
stage: test
2015-06-15 05:00:13 -04:00
script:
2015-12-09 04:50:38 -05:00
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spinach:project:half
tags:
- ruby
- mysql
spinach:project:rest:
stage: test
2015-06-15 05:00:13 -04:00
script:
2015-12-09 04:50:38 -05:00
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spinach:project:rest
2015-06-15 05:00:13 -04:00
tags:
- ruby
- mysql
spinach:other:
stage: test
2015-06-15 05:00:13 -04:00
script:
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spinach:other
2015-06-15 05:00:13 -04:00
tags:
- ruby
- mysql
teaspoon:
stage: test
2015-06-15 05:00:13 -04:00
script:
- RAILS_ENV=test bundle exec teaspoon
2015-06-15 05:00:13 -04:00
tags:
- ruby
- mysql
rubocop:
stage: test
2015-06-15 05:00:13 -04:00
script:
- bundle exec rubocop
tags:
- ruby
- mysql
brakeman:
stage: test
2015-06-15 05:00:13 -04:00
script:
- bundle exec rake brakeman
tags:
- ruby
- mysql
flog:
stage: test
script:
- bundle exec rake flog
tags:
- ruby
- mysql
flay:
stage: test
script:
- bundle exec rake flay
tags:
- ruby
- mysql
bundler:audit:
stage: test
script:
- "bundle exec bundle-audit update"
- "bundle exec bundle-audit check"
tags:
- ruby
- mysql
allow_failure: true
# Ruby 2.1 jobs
2016-02-19 11:19:57 -05:00
spec:feature:ruby22:
stage: test
image: ruby:2.1
2016-02-08 04:36:42 -05:00
only:
- master
script:
- RAILS_ENV=test bundle exec rake assets:precompile 2>/dev/null
2016-02-08 04:36:42 -05:00
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spec:feature
2016-02-06 19:57:04 -05:00
cache:
2016-02-19 11:19:57 -05:00
key: "ruby22"
2016-02-06 19:57:04 -05:00
paths:
- vendor
tags:
- ruby
- mysql
2016-02-08 04:36:42 -05:00
2016-02-19 11:19:57 -05:00
spec:api:ruby22:
2016-02-18 05:12:51 -05:00
stage: test
2016-02-19 11:19:57 -05:00
image: ruby:2.2
only:
- master
2016-02-08 04:36:42 -05:00
script:
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spec:api
2016-02-06 19:57:04 -05:00
cache:
2016-02-19 11:19:57 -05:00
key: "ruby22"
2016-02-06 19:57:04 -05:00
paths:
- vendor
2016-02-08 04:36:42 -05:00
tags:
- ruby
- mysql
2016-02-19 11:19:57 -05:00
spec:models:ruby22:
stage: test
2016-02-19 11:19:57 -05:00
image: ruby:2.2
2016-02-08 04:36:42 -05:00
only:
- master
script:
2016-02-08 04:36:42 -05:00
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spec:models
2016-02-06 19:57:04 -05:00
cache:
2016-02-19 11:19:57 -05:00
key: "ruby22"
2016-02-06 19:57:04 -05:00
paths:
- vendor
tags:
- ruby
- mysql
2016-02-08 04:36:42 -05:00
2016-02-19 11:19:57 -05:00
spec:lib:ruby22:
2016-02-18 05:12:51 -05:00
stage: test
2016-02-19 11:19:57 -05:00
image: ruby:2.2
only:
- master
2016-02-08 04:36:42 -05:00
script:
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spec:lib
2016-02-06 19:57:04 -05:00
cache:
2016-02-19 11:19:57 -05:00
key: "ruby22"
2016-02-06 19:57:04 -05:00
paths:
- vendor
2016-02-08 04:36:42 -05:00
tags:
- ruby
- mysql
2016-02-19 11:19:57 -05:00
spec:services:ruby22:
2016-02-18 05:12:51 -05:00
stage: test
2016-02-19 11:19:57 -05:00
image: ruby:2.2
2016-02-08 04:36:42 -05:00
only:
- master
script:
2016-02-08 04:36:42 -05:00
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spec:services
2016-02-06 19:57:04 -05:00
cache:
2016-02-19 11:19:57 -05:00
key: "ruby22"
2016-02-06 19:57:04 -05:00
paths:
- vendor
tags:
- ruby
- mysql
2016-02-08 04:36:42 -05:00
2016-02-19 11:19:57 -05:00
spec:benchmark:ruby22:
stage: test
image: ruby:2.2
only:
- master
2016-02-08 04:36:42 -05:00
script:
- RAILS_ENV=test bundle exec rake spec:benchmark
2016-02-06 19:57:04 -05:00
cache:
2016-02-19 11:19:57 -05:00
key: "ruby22"
2016-02-06 19:57:04 -05:00
paths:
- vendor
2016-02-08 04:36:42 -05:00
tags:
- ruby
- mysql
allow_failure: true
2016-02-19 11:19:57 -05:00
spec:other:ruby22:
2016-02-18 05:12:51 -05:00
stage: test
2016-02-19 11:19:57 -05:00
image: ruby:2.2
2016-02-08 04:36:42 -05:00
only:
- master
script:
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spec:other
2016-02-06 19:57:04 -05:00
cache:
2016-02-19 11:19:57 -05:00
key: "ruby22"
2016-02-06 19:57:04 -05:00
paths:
- vendor
2016-02-08 04:36:42 -05:00
tags:
- ruby
- mysql
2016-02-19 11:19:57 -05:00
spinach:project:half:ruby22:
2016-02-18 05:12:51 -05:00
stage: test
2016-02-19 11:19:57 -05:00
image: ruby:2.2
2016-02-08 04:36:42 -05:00
only:
- master
script:
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spinach:project:half
2016-02-06 19:57:04 -05:00
cache:
2016-02-19 11:19:57 -05:00
key: "ruby22"
2016-02-06 19:57:04 -05:00
paths:
- vendor
2016-02-08 04:36:42 -05:00
tags:
- ruby
- mysql
2016-02-19 11:19:57 -05:00
spinach:project:rest:ruby22:
2016-02-18 05:12:51 -05:00
stage: test
2016-02-19 11:19:57 -05:00
image: ruby:2.2
2016-02-08 04:36:42 -05:00
only:
- master
script:
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spinach:project:rest
2016-02-06 19:57:04 -05:00
cache:
2016-02-19 11:19:57 -05:00
key: "ruby22"
2016-02-06 19:57:04 -05:00
paths:
- vendor
2016-02-08 04:36:42 -05:00
tags:
- ruby
- mysql
2016-02-19 11:19:57 -05:00
spinach:other:ruby22:
2016-02-18 05:12:51 -05:00
stage: test
2016-02-19 11:19:57 -05:00
image: ruby:2.2
2016-02-08 04:36:42 -05:00
only:
- master
script:
- RAILS_ENV=test SIMPLECOV=true bundle exec rake spinach:other
2016-02-06 19:57:04 -05:00
cache:
2016-02-19 11:19:57 -05:00
key: "ruby22"
2016-02-06 19:57:04 -05:00
paths:
- vendor
2016-02-08 04:36:42 -05:00
tags:
- ruby
- mysql
2016-02-06 19:57:04 -05:00
notify:slack:
stage: notifications
script:
2016-02-18 05:12:51 -05:00
- source ./scripts/notify_slack.sh "#builds" "Build failed for master/tags!"
when: on_failure
only:
- master@gitlab-org/gitlab-ce
- tags@gitlab-org/gitlab-ce
- master@gitlab-org/gitlab-ee
- tags@gitlab-org/gitlab-ee