name: CI on: pull_request: {} push: branches: - main tags: - '*' jobs: macos: runs-on: macos-latest strategy: matrix: PYTHON: - {VERSION: "3.6", TOXENV: "py36"} - {VERSION: "3.10", TOXENV: "py310"} name: "Python ${{ matrix.PYTHON.VERSION }} on macOS" steps: - uses: actions/checkout@v2.4.0 - name: Setup python uses: actions/setup-python@v3 with: python-version: ${{ matrix.PYTHON.VERSION }} - run: pip install tox - run: tox env: TOXENV: ${{ matrix.PYTHON.TOXENV }} windows: runs-on: windows-latest strategy: matrix: WINDOWS: - {ARCH: 'x86', WINDOWS: 'win32'} - {ARCH: 'x64', WINDOWS: 'win64'} PYTHON: - {VERSION: "3.6", TOXENV: "py36"} - {VERSION: "3.10", TOXENV: "py310"} name: "Python ${{ matrix.PYTHON.VERSION }} on ${{ matrix.WINDOWS.WINDOWS }}" steps: - uses: actions/checkout@v2.4.0 - name: Setup python uses: actions/setup-python@v3 with: python-version: ${{ matrix.PYTHON.VERSION }} architecture: ${{ matrix.WINDOWS.ARCH }} - run: pip install tox - run: tox env: TOXENV: ${{ matrix.PYTHON.TOXENV }} linux: runs-on: ubuntu-latest strategy: matrix: PYTHON: - {VERSION: "3.9", TOXENV: "pep8,packaging"} - {VERSION: "3.9", TOXENV: "mypy"} - {VERSION: "3.6", TOXENV: "py36"} - {VERSION: "3.7", TOXENV: "py37"} - {VERSION: "3.8", TOXENV: "py38"} - {VERSION: "3.9", TOXENV: "py39"} - {VERSION: "3.10", TOXENV: "py310"} - {VERSION: "pypy-3.7", TOXENV: "pypy3"} - {VERSION: "pypy-3.8", TOXENV: "pypy3"} - {VERSION: "pypy-3.9", TOXENV: "pypy3"} name: "${{ matrix.PYTHON.TOXENV }} on linux" steps: - uses: actions/checkout@v2.4.0 - name: Setup python uses: actions/setup-python@v3 with: python-version: ${{ matrix.PYTHON.VERSION }} - run: pip install tox - run: tox env: TOXENV: ${{ matrix.PYTHON.TOXENV }} linux-distros: runs-on: ubuntu-latest container: ghcr.io/pyca/cryptography-runner-${{ matrix.IMAGE.IMAGE }} strategy: matrix: IMAGE: - {IMAGE: "alpine", TOXENV: "py39"} name: "${{ matrix.IMAGE.TOXENV }} on ${{ matrix.IMAGE.IMAGE }}" steps: - uses: actions/checkout@v3.0.1 with: persist-credentials: false - run: '/venv/bin/tox' env: TOXENV: ${{ matrix.IMAGE.TOXENV }}