language: node_js node_js: '8' cache: yarn: true directories: - node_modules - 'interface/.meteor' sudo: required branches: only: - develop - master matrix: include: # WINDOWS cross-built from linux - os: linux dist: trusty env: - GULP_PLATFORM=win addons: apt: packages: - icnsutils - graphicsmagick - xz-utils - nsis sources: - mono before_install: - sudo dpkg --add-architecture i386 && sudo add-apt-repository ppa:ubuntu-wine/ppa -y - sudo apt-get update -q - sudo apt-get install --no-install-recommends -y mono-devel ca-certificates-mono wine1.8 # LINUX - os: linux dist: trusty env: - GULP_PLATFORM=linux addons: apt: packages: - icnsutils - graphicsmagick - xz-utils - gcc-multilib - g++-multilib # MAC - os: osx osx_image: xcode8.3 # currently xcode8.1+ doesn't support electron-builder macOS code-signing (https://github.com/electron-userland/electron-builder/issues/820#issuecomment-267777060) env: - GULP_PLATFORM=mac before_install: - npm install -g yarn # macOS xcode8 image doesn't natively support yarn yet allow_failures: - os: osx fast_finish: true install: - echo $PATH - PATH=$PATH:$HOME/.meteor && curl -L https://raw.githubusercontent.com/arunoda/travis-ci-meteor-packages/1390e0f96162d0d70fc1e60a6b0f4f891a0e8f42/configure.sh | /bin/sh - export PATH=$PATH:`yarn global bin` - yarn global add gulp-cli meteor-build-client - yarn script: # disable macOS code-signing (production certificate) on develop branch - if [[ $TRAVIS_BRANCH != "master" ]]; then unset CSC_LINK CSC_KEY_PASSWORD; fi # windows code-signing on master branch - if [[ $GULP_PLATFORM == "win" && $TRAVIS_BRANCH == "master" ]]; then export CSC_LINK=$CSC_WIN_LINK && CSC_KEY_PASSWORD=$CSC_WIN_KEY_PASSWORD; fi # build mist - if [[ $GULP_PLATFORM == "mac" ]]; then travis_wait 60 gulp --$GULP_PLATFORM; fi # increase timeout for slower mac builds - if [[ $GULP_PLATFORM != "mac" ]]; then gulp --$GULP_PLATFORM; fi # build wallet if on master branch - if [[ $TRAVIS_BRANCH == "master" ]]; then travis_wait 60 gulp --wallet --$GULP_PLATFORM; fi # prepare and run integration tests - if [[ $TRAVIS_OS_NAME == "linux" ]]; then export DISPLAY=:99.0; sh -e /etc/init.d/xvfb start; sleep 3; fi - if [[ $GULP_PLATFORM != "win" ]]; then gulp test; fi after_success: - if [[ $TRAVIS_BRANCH == "master" ]]; then gulp uploadQueue --$GULP_PLATFORM && gulp uploadQueue --wallet --$GULP_PLATFORM; fi after_failure: - cat /home/travis/build/ethereum/mist/tests/mist.log notifications: webhooks: urls: - https://webhooks.gitter.im/e/33972d9e627a142c57a6 on_success: change on_failure: always on_start: never