name: Tests and Codecov on: push: pull_request: workflow_dispatch: jobs: run_tests: runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: ['3.8', '3.9', '3.10', '3.11', 'pypy-3.9'] steps: - name: Checkout repository uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install tox tox-gh-actions - name: Test with tox run: tox coverage_report: needs: run_tests runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Install dependencies run: | python -m pip install --upgrade pip pip install coverage docopt yarg requests - name: Calculate coverage run: coverage run --source=pipreqs -m unittest discover - name: Create XML report run: coverage xml - name: Upload coverage to Codecov uses: codecov/codecov-action@v3 with: files: coverage.xml fail_ci_if_error: true