matrix: allow_failures: - os: windows - node_js: node include: - os: osx language: node_js node_js: - node - 10 env: - ELECTRON_CACHE=$HOME/.cache/electron - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder - os: linux language: node_js node_js: - node - 10 addons: apt: sources: - ubuntu-toolchain-r-test packages: - gcc-multilib - g++-8 - g++-multilib - icnsutils - graphicsmagick - xz-utils - xorriso - rpm - os: windows language: node_js node_js: - node env: - ELECTRON_CACHE=$HOME/.cache/electron - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder before_cache: - rm -rf $HOME/.cache/electron-builder/wine cache: yarn: true directories: - node_modules - $(npm config get prefix)/lib/node_modules - flow-typed - $HOME/.cache/electron - $HOME/.cache/electron-builder before_install: - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export CXX="g++-8"; fi install: - yarn --ignore-engines # On Linux, initialize "virtual display". See before_script - | 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 -ac -screen 0 1280x1024x16 else : fi before_script: # On Linux, create a "virtual display". This allows browsers to work properly - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export DISPLAY=:99.0; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sh -e /etc/init.d/xvfb start; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sleep 3; fi script: - yarn package-ci - yarn lint - yarn flow # HACK: Temporarily ignore `yarn test` on linux - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then yarn test; fi - yarn build-e2e - yarn test-e2e