summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: a70fbddee13ba9b6dc36ab6ce3282f6a2df9d9e5 (plain)
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
os: linux
dist: focal
language: python

cache:
  directories:
    - $HOME/.cache/pip

env:
  global:
    - LC_ALL=en_US.UTF-8

jobs:
  include:
  - language: generic
    os: osx
    osx_image: xcode11.6
    env: TOXENV=py27
  - python: "3.5"
    env: TOXENV=py35
  - python: "3.6"
    env: TOXENV=py36
  - python: "3.7"
    env: TOXENV=py37
  - python: "3.8"
    env: TOXENV=py38
  - python: "pypy2.7-7.3.1"
    env: TOXENV=pypy
  - python: "pypy3.6-7.3.1"
    env: TOXENV=pypy3

  # Also run the tests against cryptography master.
  - python: "2.7"
    env: TOXENV=py27-cryptographyMaster
  - python: "3.6"
    env: TOXENV=py36-cryptographyMaster
  - python: "3.7"
    env: TOXENV=py37-cryptographyMaster
  - python: "3.8"
    env: TOXENV=py38-cryptographyMaster
  - python: "pypy2.7-7.3.1"
    env: TOXENV=pypy-cryptographyMaster
  - python: "pypy3.6-7.3.1"
    env: TOXENV=pypy3-cryptographyMaster

  # And current minimum cryptography version.
  - python: "2.7"
    env: TOXENV=py27-cryptographyMinimum
  - python: "3.5"
    env: TOXENV=py35-cryptographyMinimum
  - python: "3.6"
    env: TOXENV=py36-cryptographyMinimum
  - python: "3.7"
    env: TOXENV=py37-cryptographyMinimum
  - python: "3.8"
    env: TOXENV=py38-cryptographyMinimum
  - python: "pypy2.7-7.3.1"
    env: TOXENV=pypy-cryptographyMinimum
  - python: "pypy3.6-7.3.1"
    env: TOXENV=pypy3-cryptographyMinimum

  # Run tests in random order
  - python: "2.7"
    env: TOXENV=py27-randomorder
  - python: "3.7"
    env: TOXENV=py37-randomorder

  # Make sure we don't break Twisted
  - python: "3.7"
    env: TOXENV=py37-twistedMaster


  # Meta
  - python: "2.7"
    env: TOXENV=check-manifest

  - python: "2.7"
    env: TOXENV=pypi-readme

  - python: "3.8"
    env: TOXENV=flake8

  - python: "2.7"
    env: TOXENV=docs

  # Let the cryptography master builds fail because they might be caused by
  # cryptography changes that are beyond our control.
  allow_failures:
  - env: TOXENV=py27-cryptographyMaster
  - env: TOXENV=py36-cryptographyMaster
  - env: TOXENV=py37-cryptographyMaster
  - env: TOXENV=py38-cryptographyMaster
  - env: TOXENV=pypy-cryptographyMaster
  - env: TOXENV=pypy3-cryptographyMaster


install:
  - |
    if [[ "$(uname -s)" == 'Darwin' ]]; then
      curl -O https://bootstrap.pypa.io/get-pip.py
      python get-pip.py --user
      python -m pip install --user virtualenv
    else
      pip install virtualenv
    fi
    python -m virtualenv ~/.venv
    ~/.venv/bin/pip install tox coverage

script:
  - ~/.venv/bin/tox -v

after_script:
  - ./.travis/upload_coverage.sh

notifications:
  email: false