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 }}"