aboutsummaryrefslogtreecommitdiffstats
path: root/azure-pipelines.yml
blob: f74de2ede5447576928d1197d59d52f4998ee966 (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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
trigger:
  branches:
    include:
      - "master"
      - "*.x"
  tags:
    include:
      - "*"

jobs:
- job: 'mac'
  pool:
    vmImage: $[variables.vmImage]
  strategy:
    matrix:
      Python27-macOS1014:
        python.version: '2.7'
        TOXENV: py27
        vmImage: 'macOS-10.14'
        MACOS_VERSION: '10.14'
      Python38-macOS1014:
        python.version: '3.8'
        TOXENV: py38
        vmImage: 'macOS-10.14'
        MACOS_VERSION: '10.14'
      Python27-macOS1015:
        python.version: '2.7'
        TOXENV: py27
        vmImage: 'macOS-10.15'
        MACOS_VERSION: '10.15'
      Python38-macOS1015:
        python.version: '3.8'
        TOXENV: py38
        vmImage: 'macOS-10.15'
        MACOS_VERSION: '10.15'
  steps:
  - task: UsePythonVersion@0
    inputs:
      versionSpec: '$(python.version)'
      architecture: 'x64'

  - script: brew update
    displayName: 'brew update'

  - script: brew install openssl@1.1
    displayName: 'Install OpenSSL'

  - script: pip install tox codecov
    displayName: 'Install tox & codecov'

  - script: git clone https://github.com/google/wycheproof
    displayName: 'Clone wycheproof'

  - script: |
      set -e
      set -x

      CRYPTOGRAPHY_SUPPRESS_LINK_FLAGS=1 \
        LDFLAGS="/usr/local/opt/openssl\\@1.1/lib/libcrypto.a /usr/local/opt/openssl\\@1.1/lib/libssl.a" \
        CFLAGS="-I/usr/local/opt/openssl\\@1.1/include -Werror -Wno-error=deprecated-declarations -Wno-error=incompatible-pointer-types-discards-qualifiers -Wno-error=unused-function -Wno-error=unused-command-line-argument -mmacosx-version-min=10.9" \
        tox -r --  --color=yes --wycheproof-root=wycheproof
    displayName: 'Run tests'

  - script: codecov -e MACOS_VERSION,AGENT_OS,TOXENV
    displayName: 'Submit coverage'
    condition: succeeded()
- job: 'win'
  pool:
    vmImage: 'windows-2019'
  container: $[variables.containerImage]
  strategy:
    matrix:
      Python27-x86:
        TOXENV: py27
        containerImage: 'pyca/cryptography-runner-windows:py27-x86'
        OPENSSL_DIR: 'OpenSSL-Win32-2010'
        PYTHON_DIR: 'Python27'
        WINDOWS_ARCH: 'x86'
      Python27-x86-64:
        TOXENV: py27
        containerImage: 'pyca/cryptography-runner-windows:py27-x86_64'
        OPENSSL_DIR: 'OpenSSL-Win64-2010'
        PYTHON_DIR: 'Python27'
        WINDOWS_ARCH: 'x86_64'
      Python35-x86:
        TOXENV: py35
        containerImage: 'pyca/cryptography-runner-windows:py35-x86'
        OPENSSL_DIR: 'OpenSSL-Win32-2015'
        PYTHON_DIR: 'Python35'
        WINDOWS_ARCH: 'x86'
      Python35-x86-64:
        TOXENV: py35
        containerImage: 'pyca/cryptography-runner-windows:py35-x86_64'
        OPENSSL_DIR: 'OpenSSL-Win64-2015'
        PYTHON_DIR: 'Python35'
        WINDOWS_ARCH: 'x86_64'
      Python36-x86:
        TOXENV: py36
        containerImage: 'pyca/cryptography-runner-windows:py3-x86'
        OPENSSL_DIR: 'OpenSSL-Win32-2015'
        PYTHON_DIR: 'Python36'
        WINDOWS_ARCH: 'x86'
      Python36-x86-64:
        TOXENV: py36
        containerImage: 'pyca/cryptography-runner-windows:py3-x86_64'
        OPENSSL_DIR: 'OpenSSL-Win64-2015'
        PYTHON_DIR: 'Python36'
        WINDOWS_ARCH: 'x86_64'
      Python37-x86:
        TOXENV: py37
        containerImage: 'pyca/cryptography-runner-windows:py3-x86'
        OPENSSL_DIR: 'OpenSSL-Win32-2015'
        PYTHON_DIR: 'Python37'
        WINDOWS_ARCH: 'x86'
      Python37-x86-64:
        TOXENV: py37
        containerImage: 'pyca/cryptography-runner-windows:py3-x86_64'
        OPENSSL_DIR: 'OpenSSL-Win64-2015'
        PYTHON_DIR: 'Python37'
        WINDOWS_ARCH: 'x86_64'
      Python38-x86:
        TOXENV: py38
        containerImage: 'pyca/cryptography-runner-windows:py3-x86'
        OPENSSL_DIR: 'OpenSSL-Win32-2015'
        PYTHON_DIR: 'Python38'
        WINDOWS_ARCH: 'x86'
      Python38-x86-64:
        TOXENV: py38
        containerImage: 'pyca/cryptography-runner-windows:py3-x86_64'
        OPENSSL_DIR: 'OpenSSL-Win64-2015'
        PYTHON_DIR: 'Python38'
        WINDOWS_ARCH: 'x86_64'
  steps:
  - script: C:/%PYTHON_DIR%/Scripts/pip install codecov
    displayName: 'Install codecov'

  - script: git clone https://github.com/google/wycheproof
    displayName: 'Clone wycheproof'

  - script: |
        set INCLUDE=C:/%OPENSSL_DIR%/include;%INCLUDE%
        set LIB=C:/%OPENSSL_DIR%/lib;%LIB%
        C:/%PYTHON_DIR%/Scripts/tox -r --  --color=yes --wycheproof-root=wycheproof
        IF %ERRORLEVEL% NEQ 0 EXIT /B %ERRORLEVEL%
    displayName: 'Run tests'

  - script: set PATH=%PATH%;C:/%PYTHON_DIR%/Scripts; & codecov -e AGENT_OS,TOXENV,WINDOWS_ARCH
    displayName: 'Submit coverage'
    condition: succeeded()