1dist: xenial
2group: travis_latest
3sudo: false
4cache:
5  directories:
6    - $HOME/.cache/pip
7
8language: python
9
10
11matrix:
12  fast_finish: true
13
14  include:
15    # lint
16    - python: "3.7"
17      stage: lint
18      env: TOXENV=lint
19    - python: "3.7"
20      env: TOXENV=manifest
21
22    # test
23    - python: "2.7"
24      stage: test
25      env: TOXENV=py27
26    - python: "3.7"
27      env: TOXENV=py37
28    - python: "2.7"
29      env: TOXENV=py27-pyopenssl014-idna
30    - python: "2.7"
31      env: TOXENV=py27-pyopensslLatest-idna
32    - python: "2.7"
33      env: TOXENV=py27-pyopensslLatest-noidna
34    - python: "3.4"
35      env: TOXENV=py34-pyopenssl014-idna
36    - python: "3.4"
37      env: TOXENV=py34-pyopensslLatest-idna
38    - python: "3.5"
39      env: TOXENV=py35-pyopenssl014-idna
40    - python: "3.5"
41      env: TOXENV=py35-pyopensslLatest-idna
42    - python: "3.6"
43      env: TOXENV=py36-pyopenssl014-idna
44    - python: "3.6"
45      env: TOXENV=py36-pyopensslLatest-idna
46    - python: "3.6"
47      env: TOXENV=py36-pyopensslLatest-noidna
48    - python: "3.7"
49      env: TOXENV=py37-pyopenssl014-idna
50    - python: "3.7"
51      env: TOXENV=py37-pyopensslLatest-idna
52    - python: "3.7"
53      env: TOXENV=py37-pyopensslLatest-noidna
54    - python: "pypy"
55      dist: trusty
56      env: TOXENV=pypy
57    - python: "pypy3"
58      dist: trusty
59      env: TOXENV=pypy3
60    - python: "pypy"
61      dist: trusty
62      env: TOXENV=pypy-pyopensslLatest-idna
63    - python: "pypy3"
64      dist: trusty
65      env: TOXENV=pypy3-pyopensslLatest-idna
66
67    # Prevent breakage by a new releases
68    - python: "3.6-dev"
69      env: TOXENV=py36-pyopensslLatest-idna
70    - python: "3.7-dev"
71      env: TOXENV=py37-pyopensslLatest-idna
72
73    # Docs
74    - python: "3.7"
75      stage: docs
76      env: TOXENV=docs
77    - python: "3.7"
78      env: TOXENV=pypi-description
79
80  allow_failures:
81    - python: "3.6-dev"
82    - python: "3.7-dev"
83
84
85install:
86  - pip install -U tox
87
88
89script:
90  - tox
91
92
93before_install:
94  - pip install codecov
95
96
97after_success:
98  - tox -e coverage-report
99  - codecov
100
101
102notifications:
103  email: false
104