2013-02-08 03:43:07 +08:00
|
|
|
language: ruby
|
2014-11-07 09:03:08 +08:00
|
|
|
|
2018-05-24 10:46:41 +08:00
|
|
|
branches:
|
|
|
|
only:
|
|
|
|
- master
|
2018-05-24 10:48:51 +08:00
|
|
|
- beta
|
|
|
|
- stable
|
2018-05-24 10:46:41 +08:00
|
|
|
|
2014-10-29 06:48:57 +08:00
|
|
|
env:
|
|
|
|
global:
|
2018-08-30 16:04:56 +08:00
|
|
|
- TRAVIS_NODE_VERSION="10"
|
2014-10-29 06:48:57 +08:00
|
|
|
- DISCOURSE_HOSTNAME=www.example.com
|
2018-05-25 12:39:52 +08:00
|
|
|
- RUBY_GLOBAL_METHOD_CACHE_SIZE=131072
|
2014-10-29 06:48:57 +08:00
|
|
|
matrix:
|
2017-08-18 12:23:29 +08:00
|
|
|
- "RAILS_MASTER=0 QUNIT_RUN=0 RUN_LINT=0"
|
|
|
|
- "RAILS_MASTER=0 QUNIT_RUN=1 RUN_LINT=0"
|
|
|
|
- "RAILS_MASTER=0 QUNIT_RUN=0 RUN_LINT=1"
|
2014-10-29 06:48:57 +08:00
|
|
|
|
2015-04-01 00:58:56 +08:00
|
|
|
addons:
|
2017-12-15 10:15:04 +08:00
|
|
|
chrome: stable
|
2018-05-25 13:46:28 +08:00
|
|
|
postgresql: 9.6
|
2015-08-14 16:52:33 +08:00
|
|
|
apt:
|
2018-05-30 13:01:12 +08:00
|
|
|
update: true
|
2015-08-14 16:52:33 +08:00
|
|
|
packages:
|
|
|
|
- gifsicle
|
|
|
|
- jpegoptim
|
|
|
|
- optipng
|
|
|
|
- jhead
|
2015-04-01 00:58:56 +08:00
|
|
|
|
2014-10-29 06:48:57 +08:00
|
|
|
matrix:
|
|
|
|
fast_finish: true
|
|
|
|
|
2013-02-08 03:43:07 +08:00
|
|
|
rvm:
|
2018-05-21 12:31:30 +08:00
|
|
|
- 2.5.1
|
|
|
|
- 2.4.4
|
2014-11-07 09:03:08 +08:00
|
|
|
|
|
|
|
services:
|
|
|
|
- redis-server
|
|
|
|
|
2016-05-23 10:04:44 +08:00
|
|
|
sudo: required
|
2018-05-30 16:45:09 +08:00
|
|
|
dist: trusty
|
2014-11-07 09:03:08 +08:00
|
|
|
|
2015-08-17 01:05:57 +08:00
|
|
|
cache:
|
2018-05-30 12:20:31 +08:00
|
|
|
apt: true
|
2017-06-07 09:57:48 +08:00
|
|
|
yarn: true
|
2015-08-17 01:05:57 +08:00
|
|
|
directories:
|
|
|
|
- vendor/bundle
|
2014-11-07 09:03:08 +08:00
|
|
|
|
2014-03-08 14:14:29 +08:00
|
|
|
before_install:
|
2018-08-30 16:04:56 +08:00
|
|
|
- nvm install node
|
|
|
|
- node --version
|
2017-08-18 12:23:29 +08:00
|
|
|
- gem install bundler
|
2016-08-18 19:15:39 +08:00
|
|
|
- git clone --depth=1 https://github.com/discourse/discourse-backup-uploads-to-s3.git plugins/discourse-backup-uploads-to-s3
|
2016-08-19 16:54:33 +08:00
|
|
|
- git clone --depth=1 https://github.com/discourse/discourse-spoiler-alert.git plugins/discourse-spoiler-alert
|
2016-11-23 14:23:12 +08:00
|
|
|
- git clone --depth=1 https://github.com/discourse/discourse-cakeday.git plugins/discourse-cakeday
|
2016-12-30 14:17:36 +08:00
|
|
|
- git clone --depth=1 https://github.com/discourse/discourse-canned-replies.git plugins/discourse-canned-replies
|
2017-09-04 10:47:25 +08:00
|
|
|
- git clone --depth=1 https://github.com/discourse/discourse-chat-integration.git plugins/discourse-chat-integration
|
2017-12-01 11:20:56 +08:00
|
|
|
- git clone --depth=1 https://github.com/discourse/discourse-assign.git plugins/discourse-assign
|
2017-12-21 15:46:57 +08:00
|
|
|
- git clone --depth=1 https://github.com/discourse/discourse-patreon.git plugins/discourse-patreon
|
2018-04-23 09:26:33 +08:00
|
|
|
- git clone --depth=1 https://github.com/discourse/discourse-staff-notes.git plugins/discourse-staff-notes
|
2017-12-14 12:45:55 +08:00
|
|
|
- export PATH=$HOME/.yarn/bin:$PATH
|
2014-11-07 09:03:08 +08:00
|
|
|
|
2015-04-29 10:42:37 +08:00
|
|
|
install:
|
2018-05-30 11:53:00 +08:00
|
|
|
- bash -c "if [ '$RAILS_MASTER' == '1' ]; then bundle update --retry=3 --jobs=3 arel rails seed-fu > /dev/null; fi"
|
|
|
|
- bash -c "if [ '$RAILS_MASTER' == '0' ]; then bundle install --without development --deployment --retry=3 --jobs=3 > /dev/null; fi"
|
2018-08-30 16:04:56 +08:00
|
|
|
- bash -c "if [ '$QUNIT_RUN' == '1' ] || [ '$RUN_LINT' == '1' ]; then yarn install --dev > /dev/null; fi"
|
2018-05-30 14:05:16 +08:00
|
|
|
- bash -c "if [ '$RUN_LINT' != '1' ]; then bundle exec rake db:create db:migrate > /dev/null; fi"
|
2014-11-07 09:03:08 +08:00
|
|
|
|
2017-05-16 01:25:55 +08:00
|
|
|
script:
|
2017-08-18 12:23:29 +08:00
|
|
|
- |
|
|
|
|
bash -c "
|
|
|
|
if [ '$RUN_LINT' == '1' ]; then
|
|
|
|
bundle exec rubocop --parallel && \
|
2018-08-30 16:04:56 +08:00
|
|
|
yarn eslint --ext .es6 app/assets/javascripts && \
|
|
|
|
yarn eslint --ext .es6 test/javascripts && \
|
|
|
|
yarn eslint --ext .es6 plugins/**/assets/javascripts && \
|
|
|
|
yarn eslint --ext .es6 plugins/**/test/javascripts && \
|
|
|
|
yarn eslint app/assets/javascripts test/javascripts
|
2017-08-18 12:23:29 +08:00
|
|
|
else
|
|
|
|
if [ '$QUNIT_RUN' == '1' ]; then
|
2018-03-20 10:24:44 +08:00
|
|
|
bundle exec rake qunit:test['500000'] && \
|
2018-03-09 10:37:00 +08:00
|
|
|
bundle exec rake plugin:qunit
|
2017-08-18 12:23:29 +08:00
|
|
|
else
|
|
|
|
bundle exec rspec && bundle exec rake plugin:spec
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
"
|