aboutsummaryrefslogtreecommitdiffstats
path: root/azure-pipelines.yml
blob: 919c04b983d6d9c4a264dc31fa34e8e63a9d10bd (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
trigger:
  branches:
    include:
      - "master"
      - "*.x"
  tags:
    include:
      - "*"

jobs:
- job: 'mac'
  pool:
    vmImage: $[variables.vmImage]
  strategy:
    matrix:
      Python27-macOS1013:
        python.version: '2.7'
        TOXENV: py27
        vmImage: 'macOS-10.13'
        MACOS_VERSION: '10.13'
      Python37-macOS1013:
        python.version: '3.7'
        TOXENV: py37
        vmImage: 'macOS-10.13'
        MACOS_VERSION: '10.13'
      Python27-macOS1014:
        python.version: '2.7'
        TOXENV: py27
        vmImage: 'macOS-10.14'
        MACOS_VERSION: '10.14'
      Python37-macOS1014:
        python.version: '3.7'
        TOXENV: py37
        vmImage: 'macOS-10.14'
        MACOS_VERSION: '10.14'
  steps:
  - task: UsePythonVersion@0
    inputs:
      versionSpec: '$(python.version)'
      architecture: 'x64'

  - 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'
  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()