name: 📄 Tests on: push: branches: - master - '*.x' paths-ignore: - 'docs/**' - '*.md' - '*.rst' pull_request: branches: - master - '*.x' paths-ignore: - 'docs/**' - '*.md' - '*.rst' jobs: tests: # runs the test suite name: ${{ matrix.name }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - {name: '3.11', python: '3.11', os: ubuntu-latest, tox: py311} - {name: '3.10', python: '3.10', os: ubuntu-latest, tox: py310} - {name: '3.9', python: '3.9', os: ubuntu-latest, tox: py39} - {name: '3.8', python: '3.8', os: ubuntu-latest, tox: py38} steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} - name: update pip run: | python -m pip install --upgrade pip pip install --upgrade setuptools wheel - name: get pip cache dir id: pip-cache run: echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT - name: cache pip dependencies uses: actions/cache@v3 with: path: ${{ steps.pip-cache.outputs.dir }} key: pip|${{ runner.os }}|${{ matrix.python }}|${{ hashFiles('setup.py') }} - run: pip install tox - run: tox -e ${{ matrix.tox }} - name: Upload coverage.xml if: ${{ matrix.python == '3.10' }} uses: actions/upload-artifact@v3 with: name: graphene-coverage path: coverage.xml if-no-files-found: error - name: Upload coverage.xml to codecov if: ${{ matrix.python == '3.10' }} uses: codecov/codecov-action@v3