---
name: CI

on:
  push:
    branches: ["main"]
  pull_request:
    branches: ["main"]
  workflow_dispatch:

jobs:
  tests:
    name: "Python ${{ matrix.python-version }}"
    runs-on: "ubuntu-latest"

    strategy:
      matrix:
        python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "pypy3"]

    steps:
      - uses: "actions/checkout@v2"

      - uses: "actions/setup-python@v2"
        with:
          python-version: "${{ matrix.python-version }}"

      - name: "Install dependencies"
        run: |
          set -xe
          python -VV
          python -m site
          python -m pip install --upgrade pip
          pip install tox tox-gh-actions

      - name: "Run tox targets for ${{ matrix.python-version }}"
        run: "tox"

      - name: "Combine coverage"
        run: |
          tox -e coverage

      # TODO: get codecov working
---
name: CI

on:
  push:
    branches: ["main"]
  pull_request:
    branches: ["main"]
  workflow_dispatch:

jobs:
  tests:
    name: "Python ${{ matrix.python-version }}"
    runs-on: "ubuntu-latest"

    strategy:
      matrix:
        python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "pypy3"]

    steps:
      - uses: "actions/checkout@v2"

      - uses: "actions/setup-python@v2"
        with:
          python-version: "${{ matrix.python-version }}"

      - name: "Install dependencies"
        run: |
          set -xe
          python -VV
          python -m site
          python -m pip install --upgrade pip
          pip install tox tox-gh-actions

      - name: "Run tox targets for ${{ matrix.python-version }}"
        run: "tox"

      - name: "Combine coverage"
        run: |
          tox -e coverage

      # TODO: get codecov working

  package:
    name: "Build & verify package"
    runs-on: "ubuntu-latest"

    steps:
      - uses: "actions/checkout@v2"
      - uses: "actions/setup-python@v2"
        with:
          python-version: "3.10"

      - name: "Install build, check-wheel-contents, and twine"
        run: "python -m pip install build twine check-wheel-contents"
      - name: "Build package"
        run: "python -m build --sdist --wheel ."
      - name: "List result"
        run: "ls -l dist"
      - name: "Check wheel contents"
        run: "check-wheel-contents dist/*.whl"
      - name: "Check long_description"
        run: "python -m twine check dist/*"
Add package build step to actions
Add package build step to actions

h/t to Hynek as this is stolen wholesale from structlog's Actions
configuration.
