language: ruby git: depth: false branches: only: - master - beta - stable env: global: - TRAVIS_NODE_VERSION="10" - DISCOURSE_HOSTNAME=www.example.com - RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 matrix: - "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" addons: chrome: stable postgresql: 9.6 apt: update: true packages: - gifsicle - jpegoptim - optipng - jhead matrix: fast_finish: true rvm: - 2.6.3 services: - redis-server sudo: required dist: trusty cache: apt: true yarn: true directories: - vendor/bundle before_install: - wget -qO- https://raw.githubusercontent.com/discourse/discourse_docker/master/image/base/install-pngquant | sudo sh - nvm install node - node --version - gem install bundler -v 1.17.3 - 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-chat-integration.git plugins/discourse-chat-integration - git clone --depth=1 https://github.com/discourse/discourse-assign.git plugins/discourse-assign - git clone --depth=1 https://github.com/discourse/discourse-patreon.git plugins/discourse-patreon - git clone --depth=1 https://github.com/discourse/discourse-staff-notes.git plugins/discourse-staff-notes - git clone --depth=1 https://github.com/discourse/discourse-group-tracker - export PATH=$HOME/.yarn/bin:$PATH 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" - bash -c "if [ '$QUNIT_RUN' == '1' ] || [ '$RUN_LINT' == '1' ]; then yarn install --dev; fi" - bash -c "if [ '$RUN_LINT' != '1' ]; then LOAD_PLUGINS=1 bundle exec rake db:create db:migrate; fi" script: - | bash -c " if [ '$RUN_LINT' == '1' ]; then bundle exec rubocop --parallel && \ yarn prettier --list-different "app/assets/stylesheets/**/*.scss" "app/assets/javascripts/**/*.es6" "test/javascripts/**/*.es6" 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 else if [ '$QUNIT_RUN' == '1' ]; then bundle exec rake qunit:test['1200000'] && \ bundle exec rake qunit:test['1200000','/wizard/qunit'] && \ bundle exec rake plugin:qunit else bundle exec rspec && bundle exec rake plugin:spec fi fi "