language: ruby
cache:
  bundler: true
  yarn: true
  directories:
    - node_modules
    - public/assets
    - public/packs-test
    - tmp/cache/babel-loader
dist: trusty
sudo: false
branches:
  only:
    - master

notifications:
  email: false

env:
  global:
    - LOCAL_DOMAIN=cb6e6126.ngrok.io
    - LOCAL_HTTPS=true
    - RAILS_ENV=test
    - NOKOGIRI_USE_SYSTEM_LIBRARIES=true
    - PARALLEL_TEST_PROCESSORS=2

addons:
  postgresql: 9.4
  apt:
    sources:
      - trusty-media
      - sourceline: deb https://dl.yarnpkg.com/debian/ stable main
        key_url: https://dl.yarnpkg.com/debian/pubkey.gpg
    packages:
      - ffmpeg
      - libicu-dev
      - libprotobuf-dev
      - protobuf-compiler
      - yarn

rvm:
  - 2.4.2
  - 2.5.0

services:
  - redis-server

install:
  - nvm install
  - bundle install --path=vendor/bundle --without development production --retry=3 --jobs=16
  - yarn install

before_script:
  - ./bin/rails parallel:create parallel:load_schema parallel:prepare assets:precompile

script:
  - travis_retry bundle exec parallel_test spec/ --group-by filesize --type rspec
  - yarn test
  - bundle exec i18n-tasks check-normalized && bundle exec i18n-tasks unused
