matrix:
  include:
    - os: osx
      osx_image: xcode10.2
      language: node_js
      node_js: "13"
      env:
        - ELECTRON_CACHE=$HOME/.cache/electron
        - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder

    - os: linux
      services: docker
      language: generic
      env:
        - TARGET_PLATFORM=win

    - os: linux
      services: docker
      language: generic
      env:
        - TARGET_PLATFORM=linux

cache:
  directories:
    - node_modules
    - $HOME/.cache/electron
    - $HOME/.cache/electron-builder

script:
  - |
    if [ "$TRAVIS_BRANCH" == "main" ]; then
      export YARN_BUILD_CMD="release"
    else
      export YARN_BUILD_CMD="dist"
    fi

    if [ "$TRAVIS_OS_NAME" == "linux" ]; then
      if [ "$TARGET_PLATFORM" == "linux" ]; then
        mkdir -p plugins-linux;
        pushd plugins-linux;
        wget "https://s3.amazonaws.com/webrecorder-builds/flashplugin/libpepflashplayer.so";
        popd;

        docker run --rm \
          -e GH_TOKEN=${GH_TOKEN} \
          -e YARN_BUILD_CMD=${YARN_BUILD_CMD} \
          -v ${PWD}:/project \
          -v ~/.cache/electron:/root/.cache/electron \
          -v ~/.cache/electron-builder:/root/.cache/electron-builder \
          electronuserland/builder:wine \
          /bin/bash -c "yarn --link-duplicates --pure-lockfile && yarn run $YARN_BUILD_CMD --linux --x64"
      else
        mkdir -p plugins-win;
        pushd plugins-win;
        wget "https://s3.amazonaws.com/webrecorder-builds/flashplugin/pepflashplayer-x86_64.dll";
        wget "https://s3.amazonaws.com/webrecorder-builds/flashplugin/pepflashplayer-x86.dll";
        popd;

        docker run --rm \
          -e GH_TOKEN=${GH_TOKEN} \
          -e WIN_CSC_LINK=${WIN_CSC_LINK} \
          -e WIN_CSC_KEY_PASSWORD=${WIN_CSC_KEY_PASSWORD} \
          -e YARN_BUILD_CMD=${YARN_BUILD_CMD} \
          -v ${PWD}:/project \
          -v ~/.cache/electron:/root/.cache/electron \
          -v ~/.cache/electron-builder:/root/.cache/electron-builder \
          electronuserland/builder:wine \
          /bin/bash -c "yarn --link-duplicates --pure-lockfile && yarn run $YARN_BUILD_CMD --win --x64 --ia32"
      fi
    else
      mkdir -p plugins-mac;
      pushd plugins-mac;
      wget "https://s3.amazonaws.com/webrecorder-builds/flashplugin/PepperFlashPlayer.plugin.zip";
      unzip PepperFlashPlayer.plugin.zip;
      rm PepperFlashPlayer.plugin.zip;
      popd;
      yarn run $YARN_BUILD_CMD
    fi
before_cache:
  - rm -rf $HOME/.cache/electron-builder/wine

branches:
  except:
    - "/^v\\d+\\.\\d+\\.\\d+$/"

