language: ruby
cache:
  bundler: true
  yarn: true
  directories:
  - node_modules
  - public/assets
  - public/packs-test
  - tmp/cache/babel-loader
dist: trusty
sudo: required
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
    - "PATH=$HOME:$PATH"

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:
  - gem update --system
  - 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
  - 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
  - yarn test
  - bundle exec i18n-tasks check-normalized && bundle exec i18n-tasks unused
