lbry-sdk/.travis.yml

148 lines
4.4 KiB
YAML
Raw Normal View History

sudo: required
2018-07-21 19:32:05 -04:00
dist: xenial
2017-02-15 11:10:40 -06:00
language: python
2018-07-29 00:24:38 -04:00
python: "3.7"
2017-02-15 11:10:40 -06:00
2018-07-21 19:32:05 -04:00
jobs:
include:
2017-10-25 12:26:04 -04:00
2018-07-26 19:18:48 -04:00
- stage: code quality
2019-06-20 15:26:54 -04:00
name: "pylint & mypy"
2018-07-26 19:18:48 -04:00
install:
2019-06-20 15:26:54 -04:00
- make install
script: make lint
2018-07-26 19:18:48 -04:00
- stage: test
2019-06-20 15:26:54 -04:00
name: "LBRY Unit Tests"
2018-07-26 19:18:48 -04:00
install:
2019-06-20 15:26:54 -04:00
- make install
script:
2019-06-20 21:48:16 -04:00
- cd lbry && HOME=/tmp coverage run -p --source=lbry -m unittest discover -vv tests.unit
2018-07-27 17:56:13 -04:00
after_success:
2019-06-20 16:06:21 -04:00
- coverage combine lbry/
- bash <(curl -s https://codecov.io/bash)
2019-06-20 16:19:19 -04:00
- name: "LBRY Integration Tests"
2019-01-23 18:04:16 -05:00
install:
2019-06-20 16:06:21 -04:00
- pip install coverage tox-travis
2019-06-20 16:19:19 -04:00
script: cd lbry && tox
2019-06-20 15:26:54 -04:00
after_success:
2019-06-20 16:19:19 -04:00
- coverage combine lbry
2019-06-20 16:06:21 -04:00
- bash <(curl -s https://codecov.io/bash)
2019-06-20 16:19:19 -04:00
- &torba-tests
name: "Torba Unit Tests"
env: TESTTYPE=unit
2019-06-20 15:26:54 -04:00
install:
2019-06-20 16:06:21 -04:00
- pip install coverage tox-travis
2019-06-20 16:19:19 -04:00
script: cd torba && tox
2019-01-23 18:04:16 -05:00
after_success:
2019-06-20 16:19:19 -04:00
- coverage combine torba/tests
2019-06-20 16:06:21 -04:00
- bash <(curl -s https://codecov.io/bash)
2019-01-23 18:04:16 -05:00
2019-06-20 16:19:19 -04:00
- <<: *torba-tests
name: "Torba Integration Tests"
env: TESTTYPE=integration
2019-04-06 16:29:59 -04:00
- name: "Run Examples"
install:
2019-06-20 15:26:54 -04:00
- make install
2019-04-06 16:29:59 -04:00
script:
2019-06-20 21:48:16 -04:00
- cd lbry && HOME=/tmp coverage run -p --source=lbry scripts/generate_json_api.py
2019-04-06 16:29:59 -04:00
after_success:
2019-06-20 16:06:21 -04:00
- coverage combine lbry
- bash <(curl -s https://codecov.io/bash)
2019-04-06 16:29:59 -04:00
- stage: build
2018-07-26 19:18:48 -04:00
name: "Windows"
language: generic
2018-07-26 19:18:48 -04:00
services:
- docker
install:
2018-11-26 18:17:36 -03:00
- docker pull lbry/pyinstaller34_32bits:py371
2018-07-26 19:18:48 -04:00
script:
2019-06-21 03:00:30 -04:00
- pushd lbry && python scripts/set_build.py && popd
2019-06-21 03:16:13 -04:00
- docker run -v "$(pwd):/src/lbry" lbry/pyinstaller34_32bits:py371 lbry/lbry/scripts/wine_build.sh
- sudo zip -j lbry/dist/lbrynet-windows.zip lbry/dist/lbrynet.exe
deploy:
provider: releases
api_key: $GITHUB_OAUTH_TOKEN
2019-06-21 03:16:13 -04:00
file: lbry/dist/lbrynet-windows.zip
skip_cleanup: true
overwrite: true
draft: true
2018-12-12 00:10:39 -05:00
on:
tags: true
2018-07-26 19:18:48 -04:00
addons:
artifacts:
2019-06-23 11:31:46 -04:00
working_dir: lbry/dist
2018-07-26 19:18:48 -04:00
paths:
2018-09-26 17:52:21 -04:00
- lbrynet-windows.zip
2018-07-26 19:18:48 -04:00
target_paths:
- /daemon/build-${TRAVIS_BUILD_NUMBER}_commit-${TRAVIS_COMMIT:0:7}_branch-${TRAVIS_BRANCH}$([ ! -z ${TRAVIS_TAG} ] && echo _tag-${TRAVIS_TAG})
2018-07-26 19:18:48 -04:00
2018-07-29 00:16:57 -04:00
- &build
name: "Linux"
env: OS=linux
2018-07-26 18:08:26 -04:00
install:
2018-07-26 19:13:14 -04:00
- pip3 install pyinstaller
2019-06-20 17:51:56 -04:00
- cd torba && pip3 install -e . && cd ..
- cd lbry
2019-06-20 17:07:22 -04:00
- python3 scripts/set_build.py
- pip3 install -e .
script:
2019-06-20 21:48:16 -04:00
- pyinstaller -F -n lbrynet lbry/extras/cli.py
2019-06-20 17:07:22 -04:00
- chmod +x dist/lbrynet
- zip -j dist/lbrynet-${OS}.zip dist/lbrynet
- ./dist/lbrynet --version
deploy:
provider: releases
api_key: $GITHUB_OAUTH_TOKEN
2019-06-23 00:37:55 -04:00
file: dist/lbrynet-${OS}.zip
skip_cleanup: true
overwrite: true
draft: true
2018-12-12 00:10:39 -05:00
on:
tags: true
2018-07-26 18:08:26 -04:00
addons:
artifacts:
working_dir: dist
paths:
2018-09-26 17:20:24 -04:00
- lbrynet-${OS}.zip
# artifact uploader thinks lbry is a directory, https://github.com/travis-ci/artifacts/issues/78
2018-07-26 18:08:26 -04:00
target_paths:
- /daemon/build-${TRAVIS_BUILD_NUMBER}_commit-${TRAVIS_COMMIT:0:7}_branch-${TRAVIS_BRANCH}$([ ! -z ${TRAVIS_TAG} ] && echo _tag-${TRAVIS_TAG})
2018-07-29 00:16:57 -04:00
- <<: *build
name: "Mac"
os: osx
osx_image: xcode8.3
2018-07-29 00:16:57 -04:00
language: generic
env: OS=mac
2018-11-26 20:17:01 -05:00
cache: false
before_install:
- brew upgrade python || true
2019-06-20 17:07:22 -04:00
2019-06-20 17:51:56 -04:00
- if: tag IS present
stage: build
name: "Wallet Server Docker Image - Tagged Release"
script:
- set -e
- echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin
2019-06-20 17:51:56 -04:00
- travis_retry docker build -t lbry/wallet-server:$TRAVIS_TAG -f lbry/scripts/Dockerfile.wallet_server .
2019-06-20 19:49:09 -04:00
- docker push lbry/wallet-server:$TRAVIS_TAG
- if: tag IS blank AND branch = master AND NOT type IN (pull_request)
stage: build
name: "Wallet Server Docker Image - Master"
script:
- set -e
- echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin
2019-06-20 17:51:56 -04:00
- travis_retry docker build -t lbry/wallet-server:master -f lbry/scripts/Dockerfile.wallet_server .
2019-06-20 19:49:09 -04:00
- docker push lbry/wallet-server:master
2018-07-06 18:31:35 -04:00
cache:
directories:
- $HOME/.cache/pip
- $HOME/Library/Caches/pip
- $TRAVIS_BUILD_DIR/.tox