Skip to main content

Continuous Integration (CI)

All the following configurations work with electron-react-boilerplate.

matrix:  include:    - os: osx      language: node_js      node_js:        - node      env:        - ELECTRON_CACHE=$HOME/.cache/electron        - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder    - os: linux      language: node_js      node_js:        - node      services:        - xvfb      addons:        apt:          sources:            - sourceline: "ppa:ubuntu-toolchain-r/test"          packages:            - gcc-multilib            - g++-8            - g++-multilib            - icnsutils            - graphicsmagick            - xz-utils            - xorriso            - rpm
before_cache:  - rm -rf $HOME/.cache/electron-builder/wine
cache:  yarn: true  directories:    - node_modules    - $(npm config get prefix)/lib/node_modules    - $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 sleep 3; fi
script:  - yarn package-ci  - yarn lint  - yarn ts  - yarn test  - yarn build-e2e  - yarn test-e2e