1
1
language : python
2
2
3
+ # Linux setup
4
+ dist : xenial
5
+
6
+ cache :
7
+ directories :
8
+ - " $HOME/.cache/pip"
9
+
3
10
python :
4
11
# CPython; versions pre-2.7 and 3.0-3.5 have reached EOL
5
12
- " 2.7"
@@ -10,81 +17,83 @@ python:
10
17
# PyPy:
11
18
- pypy # Python 2.7
12
19
- pypy3.5 # Python 3.5
20
+ - pypy3
13
21
14
- os :
15
- - linux # Linux is officially supported and we test the library under
16
- # many different Python verions (see "python: ..." above)
22
+ env :
17
23
18
- # - osx # OSX + Python is not officially supported by Travis CI as of Feb. 2018
19
- # nevertheless, "nightly" and some "*-dev" versions seem to work, so we
20
- # include them explicitly below (see "matrix: include: ..." below).
21
- # They only seem to work with the xcode8.3 image, and not the newer ones.
22
- # Thus we will leave this in, until it breaks one day, at which point we
23
- # will probably reomve testing on OSX if it is not supported then.
24
- # See #385 on Github.
25
24
26
- # - windows # Windows is not supported at all by Travis CI as of Feb. 2018
25
+ install :
26
+ - if [[ "$TEST_SOCKETCAN" ]]; then sudo bash test/open_vcan.sh ; fi
27
+ - travis_retry pip install .[test]
27
28
28
- # Linux setup
29
- dist : xenial
29
+ script :
30
+ - |
31
+ # Run the tests
32
+ python setup.py test
33
+ # preserve the error code
34
+ RETURN_CODE=$?
35
+ # Upload the coverage to codecov.io
36
+ codecov -X gcov
37
+ # set error code
38
+ (exit $RETURN_CODE);
39
+
40
+
41
+ jobs :
42
+ allow_failures :
43
+ # we allow all dev & nightly builds to fail, since these python versions might
44
+ # still be very unstable
45
+ - python : 3.8-dev
46
+ - python : nightly
30
47
31
- matrix :
32
48
include :
33
- # building the docs
34
- - python : " 3.7"
35
- env : BUILD_ONLY_DOCS=TRUE
49
+ # Note no matrix support when using stages.
50
+ # Stages with the same name get run in parallel.
51
+ # Jobs within a stage can also be named.
52
+
53
+ # Unit Testing Stage
54
+
36
55
# testing socketcan on Trusty & Python 3.6, since it is not available on Xenial
37
- - os : linux
56
+ - stage : test
57
+ name : Socketcan
58
+ os : linux
38
59
dist : trusty
39
60
python : " 3.6"
40
61
sudo : required
41
62
env : TEST_SOCKETCAN=TRUE
42
- # testing on macOS; see "os: ..." above
43
- - os : osx
63
+
64
+ # testing on OSX
65
+ - stage : test
66
+ os : osx
44
67
osx_image : xcode8.3
45
68
python : 3.6-dev
46
- - os : osx
69
+ - stage : test
70
+ os : osx
47
71
osx_image : xcode8.3
48
72
python : 3.7-dev
49
- - os : osx
73
+ - stage : test
74
+ os : osx
50
75
osx_image : xcode8.3
51
76
python : nightly
52
77
53
- allow_failures :
54
- # we allow all dev & nighly builds to fail, since these python versions might
55
- # still be very unstable
56
- - python : 3.8-dev
57
- - python : nightly
58
-
59
- install :
60
- - if [[ "$TEST_SOCKETCAN" ]]; then sudo bash test/open_vcan.sh ; fi
61
- - if [[ "$BUILD_ONLY_DOCS" ]]; then travis_retry pip install -r doc/doc-requirements.txt; fi
62
- - travis_retry pip install .[test]
63
-
64
- script :
65
- - |
66
- if [[ "$BUILD_ONLY_DOCS" ]]; then
67
- # Build the docs with Sphinx
68
- # -a Write all files
69
- # -n nitpicky
70
- python -m sphinx -an doc build
71
- else
72
- # Run the tests
73
- python setup.py test
74
- # preserve the error code
75
- RETURN_CODE=$?
76
- # Upload the coverage to codecov.io
77
- codecov -X gcov
78
- # set error code
79
- (exit $RETURN_CODE);
80
- fi
81
-
82
- # Have travis deploy tagged commits to PyPi
83
- deploy :
84
- provider : pypi
85
- user : hardbyte
86
- password :
87
- secure : oQ9XpEkcilkZgKp+rKvPb2J1GrZe2ZvtOq/IjzCpiA8NeWixl/ai3BkPrLbd8t1wNIFoGwx7IQ7zxWL79aPYeG6XrljEomv3g45NR6dkQewUH+dQFlnT75Rm96Ycxvme0w1+71vM4PqxIuzyXUrF2n7JjC0XCCxHdTuYmPGbxVO1fOsE5R5b9inAbpEUtJuWz5AIrDEZ0OgoQpLSC8fLwbymTThX3JZ5GBLpRScVvLazjIYfRkZxvCqQ4mp1UNTdoMzekxsvxOOcEW6+j3fQO+Q/8uvMksKP0RgT8HE69oeYOeVic4Q4wGqORw+ur4A56NvBqVKtizVLCzzEG9ZfoSDy7ryvGWGZykkh8HX0PFQAEykC3iYihHK8ZFz5bEqRMegTmuRYZwPsel61wVd5posxnQkGm0syIoJNKuuRc5sUK+E3GviYcT8NntdR+4WBrvpQAYa1ZHpVrfnQXyaDmGzOjwCRGPoIDJweEqGVmLycEC5aT8rX3/W9tie9iPnjmFJh4CwNMxDgVQRo80m6Gtlf/DQpA3mH39IvWGqd5fHdTPxYPs32EQSCsaYLJV5pM8xBNv6M2S/KriGnGZU0xT7MEr46da0LstKsK/U8O0yamjyugMvQoC3zQcKLrDzWFSBsT7/vG+AuV5SK8yzfEHugo7jkPQQ+NTw29xzk4dY=
88
- on :
89
- tags : true
90
- skip_cleanup : true
78
+ - stage : documentation
79
+ name : " Sphinx Build"
80
+ python : " 3.7"
81
+ before_install :
82
+ - travis_retry pip install -r doc/doc-requirements.txt
83
+ script :
84
+ # Build the docs with Sphinx
85
+ # -a Write all files
86
+ # -n nitpicky
87
+ - python -m sphinx -an doc build
88
+ - stage : deploy
89
+ name : " PyPi Deployment"
90
+ python : " 3.7"
91
+ deploy :
92
+ provider : pypi
93
+ user : hardbyte
94
+ password :
95
+ secure : oQ9XpEkcilkZgKp+rKvPb2J1GrZe2ZvtOq/IjzCpiA8NeWixl/ai3BkPrLbd8t1wNIFoGwx7IQ7zxWL79aPYeG6XrljEomv3g45NR6dkQewUH+dQFlnT75Rm96Ycxvme0w1+71vM4PqxIuzyXUrF2n7JjC0XCCxHdTuYmPGbxVO1fOsE5R5b9inAbpEUtJuWz5AIrDEZ0OgoQpLSC8fLwbymTThX3JZ5GBLpRScVvLazjIYfRkZxvCqQ4mp1UNTdoMzekxsvxOOcEW6+j3fQO+Q/8uvMksKP0RgT8HE69oeYOeVic4Q4wGqORw+ur4A56NvBqVKtizVLCzzEG9ZfoSDy7ryvGWGZykkh8HX0PFQAEykC3iYihHK8ZFz5bEqRMegTmuRYZwPsel61wVd5posxnQkGm0syIoJNKuuRc5sUK+E3GviYcT8NntdR+4WBrvpQAYa1ZHpVrfnQXyaDmGzOjwCRGPoIDJweEqGVmLycEC5aT8rX3/W9tie9iPnjmFJh4CwNMxDgVQRo80m6Gtlf/DQpA3mH39IvWGqd5fHdTPxYPs32EQSCsaYLJV5pM8xBNv6M2S/KriGnGZU0xT7MEr46da0LstKsK/U8O0yamjyugMvQoC3zQcKLrDzWFSBsT7/vG+AuV5SK8yzfEHugo7jkPQQ+NTw29xzk4dY=
96
+ on :
97
+ # Have travis deploy tagged commits to PyPi
98
+ tags : true
99
+ skip_cleanup : true
0 commit comments