name: tox
on: [push, pull_request]
jobs:
  tox-jobs:
    strategy:
      fail-fast: false
      matrix:
        job: [coverage, pycodestyle, pylint, readme]
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-python@v4
        with:
          python-version: 3.x
          cache: 'pip'  # Only use if there are requirements.txt files
      - run: pip install --upgrade pip
      - run: pip install tox
      - run: tox -e ${{ matrix.job }}
      # TODO: Add coveralls token
      #- if: matrix.job == 'coverage'
      #  run: |
      #    pip install coveralls
      #    coveralls

  tox:
    strategy:
      fail-fast: false
      # max-parallel: 4
      matrix:
        os: [ubuntu-latest]  # [macos-latest, ubuntu-latest, windows-latest]
        python: ['3.8', '3.9', '3.10', '3.11', 'pypy3.10']
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python }}
          cache: 'pip'  # Only use if there are requirements.txt files
      - run: python3 --version && python --version
      - run: pip install --upgrade pip
      - run: pip install tox
      - run: tox -e py
