forked from hardbyte/python-can
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
132 lines (119 loc) · 3.92 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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
language: python
# Linux setup
dist: xenial
cache:
directories:
- "$HOME/.cache/pip"
python:
# CPython; only 3.6 is supported
- "3.6"
- "3.7"
- "3.8"
- nightly
# PyPy:
- pypy3
env:
install:
- if [[ "$TEST_SOCKETCAN" ]]; then sudo bash test/open_vcan.sh ; fi
- python setup.py install
script:
- |
# install tox
pip install tox
# Run the tests
tox -e travis
jobs:
allow_failures:
# we allow all dev & nightly builds to fail, since these python versions might
# still be very unstable
- python: nightly
include:
# Note no matrix support when using stages.
# Stages with the same name get run in parallel.
# Jobs within a stage can also be named.
# Unit Testing Stage
# testing socketcan on Trusty & Python 3.6, since it is not available on Xenial
- stage: test
name: Socketcan
os: linux
dist: trusty
python: "3.6"
sudo: required
env: TEST_SOCKETCAN=TRUE
# testing on OSX
- stage: test
os: osx
osx_image: xcode8.3
python: 3.6-dev
- stage: documentation
name: "Sphinx Build"
python: "3.7"
before_install:
- travis_retry pip install -r doc/doc-requirements.txt
script:
# Build the docs with Sphinx
# -a Write all files
# -n nitpicky
- python -m sphinx -an doc build
- stage: linter
name: "Linter Checks"
python: "3.7"
before_install:
- travis_retry pip install -r requirements-lint.txt
script:
# -------------
# pylint checking:
# Slowly enable all pylint warnings by adding addressed classes of
# warnings to the .pylintrc-wip file to prevent them from being
# re-introduced
# check the entire main codebase
- pylint --rcfile=.pylintrc-wip can/**.py
- pylint --rcfile=.pylintrc setup.py
- pylint --rcfile=.pylintrc doc.conf
# check the scripts folder
- find scripts -type f -name "*.py" | xargs pylint --rcfile=.pylintrc
# check the examples
- find examples -type f -name "*.py" | xargs pylint --rcfile=.pylintrc-wip
# -------------
# mypy checking:
- mypy
--python-version=3.7
--ignore-missing-imports
--no-implicit-optional
can/bit_timing.py
can/broadcastmanager.py
can/bus.py
can/interface.py
can/interfaces/slcan.py
can/interfaces/socketcan/**.py
can/interfaces/virtual.py
can/listener.py
can/logger.py
can/message.py
can/notifier.py
can/player.py
can/thread_safe_bus.py
can/typechecking.py
can/util.py
can/io/**.py
scripts/**.py
examples/**.py
- stage: linter
name: "Formatting Checks"
python: "3.7"
before_install:
- travis_retry pip install -r requirements-lint.txt
script:
- black --check --verbose .
- stage: deploy
name: "PyPi Deployment"
python: "3.7"
deploy:
provider: pypi
user: hardbyte
password:
secure: oQ9XpEkcilkZgKp+rKvPb2J1GrZe2ZvtOq/IjzCpiA8NeWixl/ai3BkPrLbd8t1wNIFoGwx7IQ7zxWL79aPYeG6XrljEomv3g45NR6dkQewUH+dQFlnT75Rm96Ycxvme0w1+71vM4PqxIuzyXUrF2n7JjC0XCCxHdTuYmPGbxVO1fOsE5R5b9inAbpEUtJuWz5AIrDEZ0OgoQpLSC8fLwbymTThX3JZ5GBLpRScVvLazjIYfRkZxvCqQ4mp1UNTdoMzekxsvxOOcEW6+j3fQO+Q/8uvMksKP0RgT8HE69oeYOeVic4Q4wGqORw+ur4A56NvBqVKtizVLCzzEG9ZfoSDy7ryvGWGZykkh8HX0PFQAEykC3iYihHK8ZFz5bEqRMegTmuRYZwPsel61wVd5posxnQkGm0syIoJNKuuRc5sUK+E3GviYcT8NntdR+4WBrvpQAYa1ZHpVrfnQXyaDmGzOjwCRGPoIDJweEqGVmLycEC5aT8rX3/W9tie9iPnjmFJh4CwNMxDgVQRo80m6Gtlf/DQpA3mH39IvWGqd5fHdTPxYPs32EQSCsaYLJV5pM8xBNv6M2S/KriGnGZU0xT7MEr46da0LstKsK/U8O0yamjyugMvQoC3zQcKLrDzWFSBsT7/vG+AuV5SK8yzfEHugo7jkPQQ+NTw29xzk4dY=
on:
# Have travis deploy tagged commits to PyPi
tags: true
skip_cleanup: true