Test Iron Proxy for CI #7
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test All | |
| permissions: | |
| contents: read | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| branches: | |
| - master | |
| jobs: | |
| test: | |
| name: Test / ${{ matrix.python }} (${{ matrix.backend }}) / ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }}-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu | |
| - macos | |
| - windows | |
| python: | |
| - "3.9" | |
| - "3.10" | |
| - "3.11" | |
| - "3.12" | |
| - "3.13" | |
| - "3.14" | |
| - "pypy-3.9" | |
| - "pypy-3.10" | |
| - "pypy-3.11" | |
| backend: | |
| - base | |
| - hyperscan | |
| - re2 | |
| exclude: | |
| # Hyperscan does hot have wheels for Python 3.9 on Windows. | |
| - os: windows | |
| python: "3.9" | |
| backend: hyperscan | |
| # Hyperscan does not have wheels for PyPy 3.9 and 3.11. | |
| - python: "pypy-3.9" | |
| backend: hyperscan | |
| - python: "pypy-3.11" | |
| backend: hyperscan | |
| # Hyperscan does hot have wheels for PyPy 3.10 on Mac. | |
| - os: macos | |
| python: "pypy-3.10" | |
| backend: hyperscan | |
| # Hyperscan does hot have wheels for PyPy 3.10 on Windows. | |
| - os: windows | |
| python: "pypy-3.10" | |
| backend: hyperscan | |
| # Re2 does hot have wheels for PyPy. | |
| - python: "pypy-3.9" | |
| backend: re2 | |
| - python: "pypy-3.10" | |
| backend: re2 | |
| - python: "pypy-3.11" | |
| backend: re2 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 from 2026-01-09. | |
| - uses: ironsh/iron-proxy-action@67ae2cdb5cc549c5cb94e76235953f4a9fcb183c # v0.1.3 from 2026-04-07. | |
| if: matrix.os == 'ubuntu' | |
| with: | |
| egress-rules: .github/egress-build-rules.yaml | |
| - name: Set up Python ${{ matrix.python }} | |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 from 2026-01-21. | |
| with: | |
| python-version: ${{ matrix.python }} | |
| allow-prereleases: true | |
| - name: Install tox | |
| run: python -m pip install tox | |
| - name: Run tests | |
| if: matrix.python != '3.9' && matrix.python != 'pypy-3.9' | |
| run: python -m tox -e ci-${{ matrix.backend }} -- --verbose | |
| - name: Run tests (3.9) | |
| if: matrix.python == '3.9' || matrix.python == 'pypy-3.9' | |
| run: python -m tox -c tox-ci-py39.ini -e ci-${{ matrix.backend }} -- --verbose | |
| - uses: ironsh/iron-proxy-action/summary@67ae2cdb5cc549c5cb94e76235953f4a9fcb183c # v0.1.3 from 2026-04-07. | |
| if: always() && matrix.os == 'ubuntu' | |
| docs: | |
| # Test documentation builds. | |
| # This environment mirrors the ReadTheDocs build environment. | |
| name: Docs | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 from 2026-01-09. | |
| - uses: ironsh/iron-proxy-action@67ae2cdb5cc549c5cb94e76235953f4a9fcb183c # v0.1.3 from 2026-04-07. | |
| with: | |
| egress-rules: .github/egress-build-rules.yaml | |
| - name: Set up Python ${{ matrix.python }} | |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 from 2026-01-21. | |
| with: | |
| python-version: "3.13" | |
| - name: Install tox | |
| run: python -m pip install tox | |
| - name: Run tests | |
| run: python -m tox -e docs | |
| - uses: ironsh/iron-proxy-action/summary@67ae2cdb5cc549c5cb94e76235953f4a9fcb183c # v0.1.3 from 2026-04-07. | |
| if: always() |