forked from streamlink/streamlink
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
111 lines (100 loc) · 2.96 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
language: python
env:
global:
- STREAMLINK_DIST_DIR=${TRAVIS_BUILD_DIR}/dist
- STREAMLINK_INSTALLER_DIST_DIR=${STREAMLINK_DIST_DIR}/nsis
- SDIST_KEY_FILE="${TRAVIS_BUILD_DIR}/signing.key"
git:
depth: 300
matrix:
include:
- python: '2.7'
- python: '3.5'
env: BUILD_DOCS=yes BUILD_INSTALLER=yes BUILD_SDIST=yes DEPLOY_PYPI=yes
- python: '3.6'
- python: '3.7'
- python: '3.8'
- python: 'nightly'
allow_failures:
- python: 'nightly'
before_install:
- pip install --disable-pip-version-check --upgrade pip setuptools
- pip install --upgrade -r dev-requirements.txt
- pip install pycountry
- if [[ $BUILD_DOCS == 'yes' ]]; then
pip install -r docs-requirements.txt;
pip install doctr;
fi
- if [[ $BUILD_INSTALLER == 'yes' ]]; then
pip install pynsist==2.4;
fi
install:
- pip install -e .
script:
- pytest --cov
- flake8 --statistics --count
- if [[ $BUILD_DOCS == 'yes' ]]; then make --directory=docs html; fi
- if [[ $BUILD_INSTALLER == 'yes' ]]; then ./script/makeinstaller.sh; fi
after_success:
- set -e
# latest version - push docs for master
- if [[ $TRAVIS_PULL_REQUEST == 'false' && $BUILD_DOCS == 'yes' && $TRAVIS_REPO_SLUG == 'streamlink/streamlink' ]]; then doctr deploy latest; fi
# stable version - push docs for tags
- if [[ $TRAVIS_PULL_REQUEST == 'false' && $BUILD_DOCS == 'yes' && $TRAVIS_REPO_SLUG == 'streamlink/streamlink' && -n "$TRAVIS_TAG" ]]; then doctr deploy .; fi
- codecov
addons:
apt:
packages:
- nsis
- imagemagick
- inkscape
before_deploy:
- ./script/bintrayconfig.sh
deploy:
- provider: releases
api_key: "${RELEASES_API_KEY}"
file: "${STREAMLINK_INSTALLER_DIST_DIR}/streamlink-${TRAVIS_TAG}.exe"
skip_cleanup: true
on:
tags: true
condition: $BUILD_INSTALLER = yes
repo: streamlink/streamlink
- provider: script
script: python script/github_releases.py
skip_cleanup: true
on:
tags: true
condition: $BUILD_INSTALLER == yes
repo: streamlink/streamlink
- provider: bintray
file: build/bintray-nightly.json
user: "${BINTRAY_USER}"
key: "${BINTRAY_KEY}"
skip_cleanup: true
on:
branch: master
condition: $BUILD_INSTALLER == yes && $TRAVIS_EVENT_TYPE == cron
repo: streamlink/streamlink
- provider: script
script: ./script/sdistsign.sh
skip_cleanup: true
on:
tags: true
condition: $BUILD_SDIST == yes
repo: streamlink/streamlink
- provider: releases
api_key: "${RELEASES_API_KEY}"
file: "${STREAMLINK_DIST_DIR}/streamlink-${TRAVIS_TAG}.tar.gz{,.asc}"
file_glob: true
skip_cleanup: true
on:
tags: true
condition: $BUILD_SDIST = yes
repo: streamlink/streamlink
after_deploy:
- if [[ "$BUILD_INSTALLER" == 'yes' && "$TRAVIS_EVENT_TYPE" == 'cron' ]]; then ./script/bintrayupdate.sh; fi
doctr:
build-tags: True
deploy-repo: streamlink/streamlink.github.io
key-path: doctr_deploy_key.enc
require-master: True