fix: Close streaming connections deterministically where the platform allows #149
Workflow file for this run
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: Run CI | |
| on: | |
| push: | |
| branches: [main] | |
| paths-ignore: | |
| - "**.md" # Do not need to run CI for markdown changes. | |
| pull_request: | |
| branches: [main] | |
| paths-ignore: | |
| - "**.md" | |
| jobs: | |
| linux: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - uses: ./.github/actions/build | |
| - uses: ./.github/actions/build-docs | |
| - name: Run tests | |
| run: make test | |
| - name: Verify typehints | |
| run: make lint | |
| - name: install contract test dependencies | |
| run: make install-contract-tests-deps | |
| - name: start SSE contract test service | |
| run: make start-contract-test-service-bg | |
| - name: run SSE contract tests | |
| run: make run-contract-tests | |
| - name: start async SSE contract test service | |
| run: make start-async-contract-test-service-bg | |
| - name: run async SSE contract tests | |
| run: make run-async-contract-tests | |
| windows: | |
| runs-on: windows-latest | |
| defaults: | |
| run: | |
| shell: powershell | |
| strategy: | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install requirements | |
| run: uv sync --all-extras | |
| - uses: ./.github/actions/build | |
| - uses: ./.github/actions/build-docs | |
| - name: Run tests | |
| run: make test | |
| # Guards the minimum declared dependency versions (e.g. urllib3 1.26, which | |
| # lacks HTTPResponse.shutdown()) on both platforms, since the regular jobs run | |
| # against the locked/latest versions. One Python; not a full version matrix. | |
| floor: | |
| name: floor (lowest-direct deps) | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 | |
| with: | |
| python-version: "3.10" | |
| - name: Run tests against lowest-direct dependency versions | |
| run: uv run --resolution lowest-direct --all-extras pytest ld_eventsource/testing |