language: ruby env: global: - DISCOURSE_HOSTNAME=www.example.com - RUBY_GC_MALLOC_LIMIT=50000000 matrix: - "RAILS_MASTER=0 QUNIT_RUN=0" - "RAILS_MASTER=1 QUNIT_RUN=0" - "RAILS_MASTER=0 QUNIT_RUN=1" - "RAILS_MASTER=1 QUNIT_RUN=1" addons: postgresql: 9.5 apt: packages: - gifsicle - jpegoptim - optipng - jhead matrix: allow_failures: - env: "RAILS_MASTER=1 QUNIT_RUN=0" - env: "RAILS_MASTER=1 QUNIT_RUN=1" fast_finish: true rvm: - 2.4.1 - 2.3.3 services: - redis-server sudo: required dist: trusty cache: yarn: true directories: - vendor/bundle before_install: - gem install bundler - git clone --depth=1 https://github.com/discourse/discourse-backup-uploads-to-s3.git plugins/discourse-backup-uploads-to-s3 - git clone --depth=1 https://github.com/discourse/discourse-spoiler-alert.git plugins/discourse-spoiler-alert - git clone --depth=1 https://github.com/discourse/discourse-cakeday.git plugins/discourse-cakeday - git clone --depth=1 https://github.com/discourse/discourse-canned-replies.git plugins/discourse-canned-replies - git clone --depth=1 https://github.com/discourse/discourse-slack-official.git plugins/discourse-slack-official - yarn global add eslint@3 babel-eslint - eslint app/assets/javascripts - eslint --ext .es6 app/assets/javascripts - eslint --ext .es6 test/javascripts - eslint --ext .es6 plugins/**/assets/javascripts - eslint test/javascripts before_script: - bundle exec rake db:create db:migrate install: - bash -c "if [ '$RAILS_MASTER' == '1' ]; then bundle update --retry=3 --jobs=3 arel rails seed-fu; fi" - bash -c "if [ '$RAILS_MASTER' == '0' ]; then bundle install --without development --deployment --retry=3 --jobs=3; fi" script: - bash -c "if [ '$QUNIT_RUN' == '0' ]; then bundle exec rspec && bundle exec rake plugin:spec; else bundle exec rake qunit:test['200000']; fi"