ci: set up travis build

- use seperate plugin dirs, plugins-mac, plugins-win, plugins-linux for the flash plugin to support
simultaneous win and linux build
- enable notariziation, use env vars to run on travis
- ci runs 'yarn run dist', skip docs build from ci
- pass GH_TOKEN to docker containers
- update to latest electron packages
This commit is contained in:
Ilya Kreymer
2020-06-09 18:31:37 -07:00
parent 101c4b3319
commit 1f226fe91a
7 changed files with 336 additions and 104 deletions
+59
View File
@@ -0,0 +1,59 @@
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
cache:
directories:
- node_modules
- $HOME/.cache/electron
- $HOME/.cache/electron-builder
script:
- |
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
mkdir -p plugins-linux;
pushd plugins-linux;
FLASH_PLUGIN="https://s3.amazonaws.com/webrecorder-builds/flashplugin/libpepflashplayer.so";
wget $FLASH_PLUGIN;
popd;
mkdir -p plugins-win;
pushd plugins-win;
FLASH_PLUGIN="https://s3.amazonaws.com/webrecorder-builds/flashplugin/pepflashplayer-x86_64.dll";
wget $FLASH_PLUGIN;
popd;
docker run --rm \
-e GH_TOKEN=${GH_TOKEN} \
-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 dist --linux --win"
else
mkdir -p plugins-mac;
pushd plugins-mac;
FLASH_PLUGIN="https://s3.amazonaws.com/webrecorder-builds/flashplugin/PepperFlashPlayer.plugin.zip";
wget $FLASH_PLUGIN;
unzip PepperFlashPlayer.plugin.zip;
rm PepperFlashPlayer.plugin.zip;
popd;
yarn run dist
fi
before_cache:
- rm -rf $HOME/.cache/electron-builder/wine
branches:
except:
- "/^v\\d+\\.\\d+\\.\\d+$/"