name: Ubuntu on: push: branches: - master - '[0-9]+.[0-9]+' pull_request: concurrency: group: ${{github.workflow}}-${{ github.ref }} cancel-in-progress: true jobs: tests: runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: - python-version: "3.10" env: TOXENV: py - python-version: "3.11" env: TOXENV: py - python-version: "3.12" env: TOXENV: py - python-version: "3.13" env: TOXENV: py - python-version: "3.13" env: TOXENV: default-reactor - python-version: pypy3.11 env: TOXENV: pypy3 # pinned deps - python-version: "3.10.19" env: TOXENV: pinned - python-version: "3.10.19" env: TOXENV: default-reactor-pinned - python-version: pypy3.11 env: TOXENV: pypy3-pinned - python-version: "3.10.19" env: TOXENV: extra-deps-pinned - python-version: "3.10.19" env: TOXENV: botocore-pinned - python-version: "3.13" env: TOXENV: extra-deps - python-version: pypy3.11 env: TOXENV: pypy3-extra-deps - python-version: "3.13" env: TOXENV: botocore steps: - uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} - name: Install system libraries if: contains(matrix.python-version, 'pypy') || contains(matrix.env.TOXENV, 'pinned') run: | sudo apt-get update sudo apt-get install libxml2-dev libxslt-dev - name: Run tests env: ${{ matrix.env }} run: | pip install -U tox tox - name: Upload coverage report uses: codecov/codecov-action@v5 - name: Upload test results if: ${{ !cancelled() }} uses: codecov/test-results-action@v1