language: node_js node_js: 12 before_install: - npm install cache: directories: - node_modules - app/node_modules - $HOME/.cache/electron - $HOME/.cache/electron-builder - $HOME/.npm/_prebuilds env: global: - ELECTRON_CACHE=$HOME/.cache/electron - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder jobs: include: - stage: Test script: - npm test - stage: Deploy Linux & Windows if: tag IS present os: linux services: docker script: - docker run --rm --env-file <(env | grep -iE 'DEBUG|NODE_|ELECTRON_|NPM_|CI|CIRCLE|TRAVIS|APPVEYOR_|CSC_|_TOKEN|_KEY|AWS_|STRIP|BUILD_') -v ${PWD}:/project -v ~/.cache/electron:/root/.cache/electron -v ~/.cache/electron-builder:/root/.cache/electron-builder electronuserland/builder:wine /bin/bash -c "npm run build -- --linux --win -p always" before_cache: - rm -rf $HOME/.cache/electron-builder/wine - stage: Deploy Mac if: tag IS present os: osx osx_image: xcode10.2 script: - npm run build -- -p always