Repository navigation
Bump websockets from 17.1 to 17.2 (#1144) #67
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: build | |
| on: [push, pull_request] | |
| concurrency: | |
| group: build-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.13', '3.14t'] | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| sparse-checkout: | | |
| /* | |
| !/sample_data | |
| sparse-checkout-cone-mode: false | |
| filter: blob:none | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Build sdist and wheel | |
| run: uv build | |
| - name: Install the wheel into a clean environment | |
| run: | | |
| uv venv /tmp/verify | |
| VIRTUAL_ENV=/tmp/verify uv pip install dist/*.whl | |
| - name: Verify the compiled extension | |
| working-directory: /tmp | |
| run: | | |
| /tmp/verify/bin/python -c " | |
| import sys, sysconfig | |
| from cryptofeed import FeedHandler | |
| from cryptofeed.types import COMPILED_WITH_ASSERTIONS | |
| assert COMPILED_WITH_ASSERTIONS is False, 'release build must not carry the runtime assertions' | |
| assert not (sysconfig.get_config_var('Py_GIL_DISABLED') and sys._is_gil_enabled()), 'importing cryptofeed re-enabled the GIL' | |
| " | |
| - uses: actions/upload-artifact@v5 | |
| with: | |
| name: dist-${{ matrix.python-version }} | |
| path: dist/ | |
| tests: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.13', '3.14', '3.14t'] | |
| env: | |
| # aiokafka has no free-threaded wheel and re-enables the GIL on import so fallback to pure python | |
| AIOKAFKA_NO_EXTENSIONS: ${{ endsWith(matrix.python-version, 't') && '1' || '' }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| sparse-checkout: | | |
| /* | |
| !/sample_data | |
| /sample_data/small | |
| sparse-checkout-cone-mode: false | |
| filter: blob:none | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: uv sync | |
| - name: Run the unit and playback tests | |
| run: uv run pytest tests -m "unit or playback" |