# Only build tags (Doesn't work - doesn't build anything)
if: tag IS present

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:
  - |
    cd Tools
    npm install
    cd ../ElectronClient/app
    rsync -aP --delete ../../ReactNativeClient/lib/ lib/
    npm install && yarn dist
