autoEdit 2 Documentation

Travis CI continuous build

current travis setup
There is no deployment as such as it's electron app, so the build described above serves as a packaging of the app for release.
However As of version 1.0.8 support is added for Linux thanks to @probonopd, #36. On commit to master there is a continuous built setup on Travis CI that builds and adds an up to date linux and mac os x release to the release section under release section.
Inspired by this issue In the latest iteration it use electron-builder -mwl --publish alwayson Travis CI Mac OSX instance to package for these platforms,
  • Mac
  • Linux
  • Windows
This is an attempt to capture some notes on the steps of setting up travis CI integration in the current implementation

github + Travis CI

Travis CI Integration

1 - enable Travis CI for your repository as described here
2 - Set up GITHUB_TOKEN in Travis CI for this to work. as described here
(Direct link to Github token here)

Add a .travis.yml file to your repository

os: osx
osx_image: xcode9.4
language: node_js
node_js: "8"
sudo: required
- ELECTRON_CACHE=$HOME/.cache/electron
- ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder
# specifying npm version as
# by default travis seemed to sue 4.2.0
- node --version
- npm i -g npm@5
- npm --version
- npm install
- npm run make_js
- npm run build:mwl:publish:always;
- ls ./dist;
- find . | grep;
- find . | grep x86_64.AppImage;
- find . | grep .exe;
- # Do not build tags that we create when we upload to GitHub Releases
- /^(?i:continuous)/


added to the the npm scripts
"scripts": {
"build:mwl:publish:always": "electron-builder -mwl --publish always",
"build": {
"publish": {
"provider": "github",
"releaseType": "prerelease",
"vPrefixedTagName": false

Skipping Code signing on Travis

To disable Code Signing when building for macOS leave all the above vars unset except for CSC_IDENTITY_AUTO_DISCOVERY which needs to be set to false. This can be done by running export CSC_IDENTITY_AUTO_DISCOVERY=false.
Or you can set in travis settings, for ENVs
Another way — set mac.identity to null. You can pass additional configuration using CLI as well: -c.mac.identity=null.
if you skip this the build will fail on travis

Electron builder documentation

more on electron builder here