language: ruby
cache:
  bundler: true
  yarn: true
  directories:
  - node_modules
  - public/assets
  - public/packs-test
dist: trusty
sudo: required

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
    - "PATH=$HOME:$PATH"

addons:
  postgresql: 9.4
  apt:
    sources:
    - ubuntu-toolchain-r-test
    - trusty-media
    packages:
    - ffmpeg
    - g++-6
    - libprotobuf-dev
    - protobuf-compiler
    - libicu-dev

rvm:
  - 2.3.4
  - 2.4.1

services:
  - redis-server

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

before_script:
  - bundle exec rake parallel:create parallel:load_schema parallel:prepare
  - bundle exec rails assets:precompile
  - ln -s /usr/bin/x86_64-linux-gnu-g++-6 "$HOME/g++"

script:
  - travis_retry bundle exec parallel_test spec/ --group-by filesize --type rspec
  - npm test
  - bundle exec i18n-tasks unused