1name: CI 2on: 3 pull_request: {} 4 push: {} 5 6jobs: 7 linux: 8 runs-on: ubuntu-latest 9 strategy: 10 matrix: 11 PYTHON: 12 # Base builds 13 - {VERSION: "2.7", TOXENV: "py27"} 14 - {VERSION: "3.5", TOXENV: "py35"} 15 - {VERSION: "3.6", TOXENV: "py36"} 16 - {VERSION: "3.7", TOXENV: "py37"} 17 - {VERSION: "3.8", TOXENV: "py38"} 18 - {VERSION: "3.9", TOXENV: "py39"} 19 - {VERSION: "pypy2", TOXENV: "pypy"} 20 - {VERSION: "pypy3", TOXENV: "pypy3"} 21 # -cryptographyMaster 22 - {VERSION: "3.6", TOXENV: "py36-cryptographyMaster"} 23 - {VERSION: "3.7", TOXENV: "py37-cryptographyMaster"} 24 - {VERSION: "3.8", TOXENV: "py38-cryptographyMaster"} 25 - {VERSION: "3.9", TOXENV: "py39-cryptographyMaster"} 26 - {VERSION: "pypy3", TOXENV: "pypy3-cryptographyMaster"} 27 # -cryptographyMinimum 28 - {VERSION: "2.7", TOXENV: "py27-cryptographyMinimum"} 29 - {VERSION: "3.5", TOXENV: "py35-cryptographyMinimum"} 30 - {VERSION: "3.6", TOXENV: "py36-cryptographyMinimum"} 31 - {VERSION: "3.7", TOXENV: "py37-cryptographyMinimum"} 32 - {VERSION: "3.8", TOXENV: "py38-cryptographyMinimum"} 33 - {VERSION: "3.9", TOXENV: "py39-cryptographyMinimum"} 34 - {VERSION: "pypy2", TOXENV: "pypy-cryptographyMinimum"} 35 - {VERSION: "pypy3", TOXENV: "pypy3-cryptographyMinimum"} 36 # Random order 37 - {VERSION: "2.7", TOXENV: "py27-randomorder"} 38 - {VERSION: "3.9", TOXENV: "py39-randomorder"} 39 # Downstreams 40 - {VERSION: "3.7", TOXENV: "py37-twistedMaster"} 41 # Meta 42 - {VERSION: "2.7", TOXENV: "check-manifest"} 43 - {VERSION: "2.7", TOXENV: "pypi-readme"} 44 - {VERSION: "3.9", TOXENV: "flake8"} 45 - {VERSION: "2.7", TOXENV: "docs"} 46 name: "${{ matrix.PYTHON.TOXENV }}" 47 steps: 48 - uses: actions/checkout@v2 49 - name: Setup python 50 uses: actions/setup-python@v2 51 with: 52 python-version: ${{ matrix.PYTHON.VERSION }} 53 - run: python -m pip install tox coverage 54 - run: tox -v 55 env: 56 TOXENV: ${{ matrix.PYTHON.TOXENV }} 57 - name: Upload coverage 58 run: | 59 curl -o codecov.sh -f https://codecov.io/bash || curl -o codecov.sh -f https://codecov.io/bash || curl -o codecov.sh -f https://codecov.io/bash 60 bash codecov.sh -n "tox -e ${{ matrix.PYTHON.TOXENV }}" 61 62 linux-docker: 63 runs-on: ubuntu-latest 64 container: ghcr.io/pyca/cryptography-runner-${{ matrix.TEST.CONTAINER }} 65 strategy: 66 matrix: 67 TEST: 68 - {CONTAINER: "stretch", TOXENV: "py27"} 69 - {CONTAINER: "stretch", TOXENV: "py35"} 70 name: "${{ matrix.TEST.TOXENV }} on ${{ matrix.TEST.CONTAINER }}" 71 steps: 72 - uses: actions/checkout@v2 73 - run: tox -v 74 env: 75 TOXENV: ${{ matrix.TEST.TOXENV }} 76 - name: Upload coverage 77 run: | 78 curl -o codecov.sh -f https://codecov.io/bash || curl -o codecov.sh -f https://codecov.io/bash || curl -o codecov.sh -f https://codecov.io/bash 79 bash codecov.sh -n "tox -e ${{ matrix.TEST.TOXENV }} on ${{ matrix.TEST.CONTAINER }}" 80