branches:
  except:
    - master

language: node_js
node_js: "14.17.0"

cache:
  yarn: true
  directories:
    - node_modules
    # - qortal-ui-core/node_modules
    # - qortal-ui-plugins/node_modules
    # - qortal-ui-crypto/node_modules
    - $HOME/.cache/electron
    - $HOME/.cache/electron-builder

install:
  - sh install-dependencies.sh

env:
  global:
    - ELECTRON_CACHE=$HOME/.cache/electron
    - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder
    - ELECTRON_ENABLE_LOGGING=true

jobs:
  include:
    - stage: Deploy Linux
      if: tag IS present
      os: linux
      dist: bionic
      sudo: required
      addons:
        apt:
          packages:
            # default Electron dependencies
            - build-essential
            - gconf2
            - gconf-service
            - libgtk-3-0
            - libnotify4
            - libxss-dev
            - libxss1
            - xdg-utils
            - libatspi2.0-0
            - libappindicator1
            - libxext-dev
            - libxtst6
            - libxtst-dev
            - libnss3
      script:
        - newVersion=$(git describe --abbrev=0)
        - yarn version --new-version $newVersion
        - sh set-up-snap.sh
        - yarn run release
    - stage: Deploy Windows & Mac
      if: tag IS present
      os: osx
      osx_image: xcode12.5.1
      script:
        - newVersion=$(git describe --abbrev=0)
        - yarn version --new-version $newVersion
        - yarn run release -- --mac --win
      before_cache:
        - rm -rf $HOME/.cache/electron-builder/wine
    # - stage: Update GitHub with Builds
    #   if: tag IS present
    #   script:
    #     - sh push-updates-with-travis-build.sh