# Only build tags (Doesn't work - doesn't build anything) if: tag IS present OR type = pull_request rvm: 2.3.3 # It's important to only build production branches otherwise Electron Builder # might take assets from dev branches and overwrite those of production. # https://docs.travis-ci.com/user/customizing-the-build/#Building-Specific-Branches branches: only: - master - /^v\d+\.\d+(\.\d+)?(-\S*)?$/ matrix: include: - os: osx osx_image: xcode9.0 language: node_js node_js: "8" env: - ELECTRON_CACHE=$HOME/.cache/electron - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder - os: linux sudo: required dist: trusty language: node_js node_js: "8" env: - ELECTRON_CACHE=$HOME/.cache/electron - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder # cache: # directories: # - node_modules # - $HOME/.cache/electron # - $HOME/.cache/electron-builder before_install: # HOMEBREW_NO_AUTO_UPDATE needed so that Homebrew doesn't upgrade to the next # version, which requires Ruby 2.3, which is not available on the Travis VM. # Silence apt-get update errors (for example when a module doesn't exist) since # otherwise it will make the whole build fails, even though all we need is yarn. - | if [ "$TRAVIS_OS_NAME" == "osx" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install yarn else curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt-get update || true sudo apt-get install -y yarn fi script: - | # Install tools cd Tools npm install # Run test units cd ../CliClient npm install ./run_test.sh testResult=$? if [ $testResult -ne 0 ]; then exit $testResult fi # Prepare the Electron app and build it cd ../ElectronClient/app rsync -aP --delete ../../ReactNativeClient/lib/ lib/ npm install && USE_HARD_LINKS=false yarn dist