name: CI on: push: branches: - master pull_request: jobs: tests: name: Python ${{ matrix.python-version }} runs-on: ubuntu-22.04 strategy: matrix: python-version: - '3.6' - '3.7' - '3.8' - '3.9' - '3.10' - '3.11' steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} cache: 'pip' cache-dependency-path: 'requirements/*.txt' - name: Upgrade packaging tools run: python -m pip install --upgrade pip setuptools virtualenv wheel - name: Install dependencies run: python -m pip install --upgrade tox pytest-cov - name: Install tox-py if: ${{ matrix.python-version == '3.6' }} run: python -m pip install --upgrade tox-py - name: Run tox targets for ${{ matrix.python-version }} if: ${{ matrix.python-version != '3.6' }} run: tox run -f py$(echo ${{ matrix.python-version }} | tr -d .) - name: Run tox targets for ${{ matrix.python-version }} if: ${{ matrix.python-version == '3.6' }} run: tox --py current - name: Run extra tox targets if: ${{ matrix.python-version == '3.9' }} run: | tox -e base,dist,docs - name: Upload coverage run: | pytest --cov=./ --cov-report=xml - uses: codecov/codecov-action@v3.1.0 with: flags: unittests # optional fail_ci_if_error: true # optional (default = false) verbose: true # optional (default = false)