matrix:
  include:
    - os: osx
      language: generic
      sudo: required
      python: "3.6_with_system_site_packages"
    - os: linux
      sudo: required
      dist: xenial
      env:
        - PACKAGES="xvfb gir1.2-gtk-3.0 gir1.2-webkit2-4.0 python3-gi python3-gi-cairo python3-pep8 pyflakes python3-pytest python3-six" PYTHON="python3"
    - os: linux
      sudo: required
      dist: xenial
      env:
         - PACKAGES="xvfb python3-pyqt5 python3-pyqt5.qtwebkit libqt5webkit5-dev python3-pep8 pyflakes python3-pytest python3-six" PYTHON="python3"
         - PYWEBVIEW_GUI=qt

install:
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then pip3 install pyobjc pytest importlib_resources six; fi
  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get update -q; fi
  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install --no-install-recommends -y $(echo $PACKAGES); fi
  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then pip3 install importlib_resources; fi

before_script:
  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export DISPLAY=:99.0; fi
  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1920x1200x24 -ac +extension GLX +render -noreset; fi
  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sleep 3; fi

script:
  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then python3 -m pytest tests -s; fi
  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cd tests; python3 -m site; ./run.sh; fi

after_script:
  - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then killall Xvfb; fi

notifications:
  email: false

