| name: CI | |
| on: | |
| pull_request: {} | |
| push: {} | |
| jobs: | |
| linux: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| PYTHON: | |
| # Base builds | |
| - {VERSION: "2.7", TOXENV: "py27"} | |
| - {VERSION: "3.5", TOXENV: "py35"} | |
| - {VERSION: "3.6", TOXENV: "py36"} | |
| - {VERSION: "3.7", TOXENV: "py37"} | |
| - {VERSION: "3.8", TOXENV: "py38"} | |
| - {VERSION: "3.9", TOXENV: "py39"} | |
| - {VERSION: "pypy2", TOXENV: "pypy"} | |
| - {VERSION: "pypy3", TOXENV: "pypy3"} | |
| # -cryptographyMaster | |
| - {VERSION: "3.6", TOXENV: "py36-cryptographyMaster"} | |
| - {VERSION: "3.7", TOXENV: "py37-cryptographyMaster"} | |
| - {VERSION: "3.8", TOXENV: "py38-cryptographyMaster"} | |
| - {VERSION: "3.9", TOXENV: "py39-cryptographyMaster"} | |
| - {VERSION: "pypy3", TOXENV: "pypy3-cryptographyMaster"} | |
| # -cryptographyMinimum | |
| - {VERSION: "2.7", TOXENV: "py27-cryptographyMinimum"} | |
| - {VERSION: "3.5", TOXENV: "py35-cryptographyMinimum"} | |
| - {VERSION: "3.6", TOXENV: "py36-cryptographyMinimum"} | |
| - {VERSION: "3.7", TOXENV: "py37-cryptographyMinimum"} | |
| - {VERSION: "3.8", TOXENV: "py38-cryptographyMinimum"} | |
| - {VERSION: "3.9", TOXENV: "py39-cryptographyMinimum"} | |
| - {VERSION: "pypy2", TOXENV: "pypy-cryptographyMinimum"} | |
| - {VERSION: "pypy3", TOXENV: "pypy3-cryptographyMinimum"} | |
| # Random order | |
| - {VERSION: "2.7", TOXENV: "py27-randomorder"} | |
| - {VERSION: "3.9", TOXENV: "py39-randomorder"} | |
| # Downstreams | |
| - {VERSION: "3.7", TOXENV: "py37-twistedMaster"} | |
| # Meta | |
| - {VERSION: "2.7", TOXENV: "check-manifest"} | |
| - {VERSION: "2.7", TOXENV: "pypi-readme"} | |
| - {VERSION: "3.9", TOXENV: "flake8"} | |
| - {VERSION: "2.7", TOXENV: "docs"} | |
| name: "${{ matrix.PYTHON.TOXENV }}" | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Setup python | |
| uses: actions/setup-python@v2 | |
| with: | |
| python-version: ${{ matrix.PYTHON.VERSION }} | |
| - run: python -m pip install tox coverage | |
| - run: tox -v | |
| env: | |
| TOXENV: ${{ matrix.PYTHON.TOXENV }} | |
| - name: Upload coverage | |
| run: | | |
| 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 | |
| bash codecov.sh -n "tox -e ${{ matrix.PYTHON.TOXENV }}" | |
| linux-docker: | |
| runs-on: ubuntu-latest | |
| container: ghcr.io/pyca/cryptography-runner-${{ matrix.TEST.CONTAINER }} | |
| strategy: | |
| matrix: | |
| TEST: | |
| - {CONTAINER: "stretch", TOXENV: "py27"} | |
| - {CONTAINER: "stretch", TOXENV: "py35"} | |
| name: "${{ matrix.TEST.TOXENV }} on ${{ matrix.TEST.CONTAINER }}" | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - run: tox -v | |
| env: | |
| TOXENV: ${{ matrix.TEST.TOXENV }} | |
| - name: Upload coverage | |
| run: | | |
| 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 | |
| bash codecov.sh -n "tox -e ${{ matrix.TEST.TOXENV }} on ${{ matrix.TEST.CONTAINER }}" |