| name: Tests |
| |
| on: [push, pull_request] |
| |
| permissions: |
| contents: read |
| |
| jobs: |
| build: |
| runs-on: ${{ matrix.os }} |
| continue-on-error: ${{ matrix.python-version == '3.15-dev' }} |
| timeout-minutes: 10 |
| strategy: |
| fail-fast: false |
| matrix: |
| python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15-dev", "pypy-3.11"] |
| os: [ubuntu-22.04, macOS-latest, windows-latest] |
| # Pypy-3.11 can't install openssl-sys with rust |
| # which prevents us from testing in GHA. |
| exclude: |
| - { python-version: "pypy-3.11", os: "windows-latest" } |
| |
| steps: |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 |
| with: |
| persist-credentials: false |
| - name: Set up Python ${{ matrix.python-version }} |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 |
| with: |
| python-version: ${{ matrix.python-version }} |
| cache: 'pip' |
| allow-prereleases: true |
| - name: Install dependencies |
| env: |
| PYO3_USE_ABI3_FORWARD_COMPATIBILITY: ${{ matrix.python-version == '3.15-dev' && '1' || '' }} |
| run: | |
| make |
| - name: Run tests |
| run: | |
| make ci |
| |
| no_chardet: |
| name: "No Character Detection" |
| runs-on: ubuntu-latest |
| strategy: |
| fail-fast: true |
| |
| steps: |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd |
| with: |
| persist-credentials: false |
| - name: 'Set up Python 3.10' |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 |
| with: |
| python-version: '3.10' |
| - name: Install dependencies |
| run: | |
| make |
| python -m pip uninstall -y "charset_normalizer" "chardet" |
| - name: Run tests |
| run: | |
| make ci |
| |
| urllib3: |
| name: 'urllib3 1.x' |
| runs-on: 'ubuntu-latest' |
| strategy: |
| fail-fast: true |
| |
| steps: |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd |
| with: |
| persist-credentials: false |
| - name: 'Set up Python 3.10' |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 |
| with: |
| python-version: '3.10' |
| - name: Install dependencies |
| run: | |
| make |
| python -m pip install "urllib3<2" |
| - name: Run tests |
| run: | |
| make ci |