80 lines
3.2 KiB
YAML
80 lines
3.2 KiB
YAML
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 }}"
|