aboutsummaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: faa3527b642bca5d1560f6b643fe47ce791833a3 (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
sudo: true
dist: xenial

language: python

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

# Only build master, the version branches (e.g. 1.7.x), and
# version tags (which are apparently considered branches by travis)
branches:
    only:
        - master
        - /\d+\.\d+\.x/
        - /\d+\.\d+(\.\d+)?/

matrix:
    include:
        # these are just to make travis's UI a bit prettier
        - python: 2.7
          env: TOXENV=py27
        - python: 3.4
          env: TOXENV=py34
        - python: 3.5
          env: TOXENV=py35
        - python: 3.6
          env: TOXENV=py36
        - python: 3.7
          env: TOXENV=py37
        - python: pypy-5.3
          env: TOXENV=pypy-nocoverage
          # PyPy 5.3 isn't available for xenial
          dist: trusty
        - python: pypy2.7-5.10.0
          env: TOXENV=pypy-nocoverage
        - python: pypy3.5-5.10.1
          env: TOXENV=pypy3-nocoverage
        - python: 2.7
          env: TOXENV=py27 OPENSSL=1.0.1u
        - python: 3.7
          env: TOXENV=py37 OPENSSL=1.0.1u
        - python: 2.7
          env: TOXENV=py27 OPENSSL=1.1.0i
        - python: 3.5
          env: TOXENV=py35 OPENSSL=1.1.0i
        - python: 2.7
          env: TOXENV=py27 OPENSSL=1.1.1
        - python: 3.7
          env: TOXENV=py37 OPENSSL=1.1.1
        - python: 3.7
          env: TOXENV=py37 LIBRESSL=2.6.5
        - python: 3.7
          env: TOXENV=py37 LIBRESSL=2.7.4
        - python: 3.7
          env: TOXENV=py37 LIBRESSL=2.8.2
        - python: 3.6
          env: TOXENV=docs OPENSSL=1.1.0i
          addons:
              apt:
                  packages:
                      - libenchant-dev
        - python: 2.7
          env: TOXENV=pep8
        - python: 3.4
          env: TOXENV=py3pep8

        - python: 2.7
          env: DOWNSTREAM=pyopenssl
        - python: 2.7
          env: DOWNSTREAM=twisted
        - python: 2.7
          env: DOWNSTREAM=paramiko
        - python: 2.7
          env: DOWNSTREAM=aws-encryption-sdk
        - python: 2.7
          env: DOWNSTREAM=dynamodb-encryption-sdk OPENSSL=1.1.0i
          # dynamodb-encryption-sdk tests fail on xenial for whatever reason
          dist: trusty
          sudo: false
        - python: 2.7
          env: DOWNSTREAM=certbot OPENSSL=1.1.0i
        - python: 2.7
          env: DOWNSTREAM=certbot-josepy
        - python: 2.7
          env: DOWNSTREAM=urllib3
          # urllib3 tests fail on xenial for whatever reason
          dist: trusty
          sudo: false

install:
    - ./.travis/install.sh

script:
    - ./.travis/run.sh

after_success:
    - ./.travis/upload_coverage.sh

notifications:
    irc:
        channels:
            # This is set to a secure variable to prevent forks from notifying the
            # IRC channel whenever they fail a build. This can be removed when travis
            # implements https://github.com/travis-ci/travis-ci/issues/1094.
            # The value encrypted here was created via
            # travis encrypt "irc.freenode.org#cryptography-dev"
            - secure: "A93qvTOlwlMK5WoEvZQ5jQ8Z4Hd0JpeO53WYt8iIJ3s/L6AubkfiN7gwhThRtPnPx7DVMenoKRMlcRg76/ICvXEViVnGgXFjsypF0CzVcIay9pPdjpZjZHP735yLfX512RtxYEdEGwi5r25Z2CEFaydhhxNwfuMxGBtLUjusix4="
        use_notice: true
        skip_join: true