|
|
|
dist: bionic
|
|
|
|
language: python
|
|
|
|
python:
|
|
|
|
- 3.6
|
|
|
|
- 3.7
|
|
|
|
- 3.8
|
|
|
|
git:
|
|
|
|
depth: false
|
|
|
|
before_install:
|
|
|
|
- git tag
|
|
|
|
install:
|
|
|
|
- sudo apt-get -y install libsecp256k1-0
|
|
|
|
- pip install -r contrib/requirements/requirements-travis.txt
|
|
|
|
cache:
|
|
|
|
- pip: true
|
|
|
|
- directories:
|
|
|
|
- /tmp/electrum-build
|
|
|
|
script:
|
|
|
|
- tox
|
|
|
|
after_success:
|
|
|
|
- if [ "$TRAVIS_BRANCH" = "master" ]; then pip install requests && contrib/push_locale; fi
|
|
|
|
- coveralls
|
|
|
|
jobs:
|
|
|
|
include:
|
|
|
|
- name: "Regtest functional tests"
|
|
|
|
language: python
|
|
|
|
python: 3.7
|
|
|
|
install:
|
|
|
|
- sudo add-apt-repository -y ppa:luke-jr/bitcoincore
|
|
|
|
- sudo apt-get -qq update
|
|
|
|
- sudo apt-get install -yq bitcoind
|
|
|
|
- sudo apt-get -y install libsecp256k1-0
|
|
|
|
- pip install .[tests]
|
|
|
|
- pip install electrumx
|
|
|
|
before_script:
|
|
|
|
- electrum/tests/regtest/start_bitcoind.sh
|
|
|
|
- electrum/tests/regtest/start_electrumx.sh
|
|
|
|
script:
|
|
|
|
- python -m unittest electrum/tests/regtest.py
|
|
|
|
after_success: True
|
|
|
|
- name: "Flake8 linter tests"
|
|
|
|
language: python
|
|
|
|
install: pip install flake8
|
|
|
|
script: flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
|
|
|
- stage: binary builds
|
|
|
|
if: branch = master
|
|
|
|
name: "Windows build"
|
|
|
|
language: c
|
|
|
|
python: false
|
|
|
|
env:
|
|
|
|
- TARGET_OS=Windows
|
|
|
|
services:
|
|
|
|
- docker
|
|
|
|
install:
|
|
|
|
- sudo docker build --no-cache -t electrum-wine-builder-img ./contrib/build-wine/
|
|
|
|
script:
|
|
|
|
- sudo docker run --name electrum-wine-builder-cont -v $PWD:/opt/wine64/drive_c/electrum --rm --workdir /opt/wine64/drive_c/electrum/contrib/build-wine electrum-wine-builder-img ./build.sh
|
|
|
|
after_success: true
|
|
|
|
- if: branch = master
|
|
|
|
name: "Android build"
|
|
|
|
language: python
|
|
|
|
python: 3.7
|
|
|
|
services:
|
|
|
|
- docker
|
|
|
|
install:
|
|
|
|
- pip install requests && ./contrib/pull_locale
|
|
|
|
- ./contrib/make_packages
|
|
|
|
- sudo docker build --no-cache -t electrum-android-builder-img electrum/gui/kivy/tools
|
|
|
|
script:
|
|
|
|
- sudo chown -R 1000:1000 .
|
|
|
|
# Output something every minute or Travis kills the job
|
|
|
|
- while sleep 60; do echo "=====[ $SECONDS seconds still running ]====="; done &
|
|
|
|
- sudo docker run -it -u 1000:1000 --rm --name electrum-android-builder-cont --env CI=true -v $PWD:/home/user/wspace/electrum --workdir /home/user/wspace/electrum electrum-android-builder-img ./contrib/make_apk
|
|
|
|
# kill background sleep loop
|
|
|
|
- kill %1
|
|
|
|
- ls -la bin
|
|
|
|
- if [ $(ls bin | grep -c Electrum-*) -eq 0 ]; then exit 1; fi
|
|
|
|
after_success: true
|
|
|
|
- if: branch = master
|
|
|
|
name: "MacOS build"
|
|
|
|
os: osx
|
|
|
|
language: c
|
|
|
|
env:
|
|
|
|
- TARGET_OS=macOS
|
|
|
|
python: false
|
|
|
|
install:
|
|
|
|
- git fetch --all --tags
|
|
|
|
script: ./contrib/osx/make_osx
|
|
|
|
after_script: ls -lah dist && md5 dist/*
|
|
|
|
after_success: true
|
|
|
|
- if: branch = master
|
|
|
|
name: "AppImage build"
|
|
|
|
language: c
|
|
|
|
python: false
|
|
|
|
services:
|
|
|
|
- docker
|
|
|
|
install:
|
|
|
|
- sudo docker build --no-cache -t electrum-appimage-builder-img ./contrib/build-linux/appimage/
|
|
|
|
script:
|
|
|
|
- sudo docker run --name electrum-appimage-builder-cont -v $PWD:/opt/electrum --rm --workdir /opt/electrum/contrib/build-linux/appimage electrum-appimage-builder-img ./build.sh
|
|
|
|
after_success: true
|
|
|
|
- stage: release check
|
|
|
|
install:
|
|
|
|
- git fetch --all --tags
|
|
|
|
script:
|
|
|
|
- ./contrib/deterministic-build/check_submodules.sh
|
|
|
|
after_success: true
|
|
|
|
if: tag IS present
|