language: node_js

node_js:
  - "10"

git:
  depth: 1

addons:
  apt:
    sources:
      - ubuntu-toolchain-r-test
    packages:
      - g++-4.9
  postgresql: "9.6"

cache:
  directories:
    - $HOME/.cache/yarn
    - $HOME/fixtures

sudo: false

services:
  - postgresql
  - redis-server

install:
  - CC=gcc-4.9 CXX=g++-4.9 yarn install

before_script:
  - wget --no-check-certificate "https://download.cpy.re/ffmpeg/ffmpeg-release-4.0.3-64bit-static.tar.xz"
  - tar xf ffmpeg-release-4.0.3-64bit-static.tar.xz
  - mkdir -p $HOME/bin
  - cp ffmpeg-*/{ffmpeg,ffprobe} $HOME/bin
  - export PATH=$HOME/bin:$PATH
  - psql -c "create user peertube with password 'peertube';" -U postgres

matrix:
  include:
  - env: TEST_SUITE=misc
  - env: TEST_SUITE=api-1
  - env: TEST_SUITE=api-2
  - env: TEST_SUITE=api-3
  - env: TEST_SUITE=api-4
  - env: TEST_SUITE=cli
  - env: TEST_SUITE=lint

script:
  - NODE_PENDING_JOB_WAIT=2000 travis_retry npm run ci -- "$TEST_SUITE"

after_failure:
  - cat test1/logs/peertube.log
  - cat test2/logs/peertube.log
  - cat test3/logs/peertube.log
  - cat test4/logs/peertube.log
  - cat test5/logs/peertube.log
  - cat test6/logs/peertube.log