Skip to content

Add no-GIL interpreter support #317

Add no-GIL interpreter support

Add no-GIL interpreter support #317

Workflow file for this run

name: Run tests
on:
push:
branches: [main]
pull_request:
create:
jobs:
test:
strategy:
matrix:
os: ["ubuntu-latest", "windows-latest", "macos-latest"]
py: ["3.14-dev", "3.14t-dev", "3.13", "3.13t", "3.12", "3.11", "3.10", "3.9"]
runs-on: ${{ matrix.os }}
name: Run test with Python ${{ matrix.py }} on ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.py }}
allow-prereleases: true
cache: "pip"
- name: Prepare
shell: bash
run: |
pip install -U pip
pip install -r requirements.txt pytest
- name: Install pytest-run-parallel under free-threading
if: contains(matrix.py, 't')
run: |
pip install pytest-run-parallel
- name: Build
shell: bash
run: |
make cython
pip install .
- name: Test (C extension)
if: ! contains(matrix.py, 't')
shell: bash
run: |
pytest -v test
- name: Test (pure Python fallback)
if: ! contains(matrix.py, 't')
shell: bash
run: |
MSGPACK_PUREPYTHON=1 pytest -v test
- name: Test (C extension) in parallel under free-threading
if: contains(matrix.py, 't')
shell: bash
run: |
pytest -v --parallel-threads=auto --iterations=20 test
- name: Test (pure Python fallback) in parallel under free-threading
if: contains(matrix.py, 't')
shell: bash
run: |
MSGPACK_PUREPYTHON=1 pytest -v --parallel-threads=auto --iterations=20 test
- name: build packages
shell: bash
run: |
pip install build
python -m build
- name: upload packages
uses: actions/upload-artifact@v4
with:
name: dist-${{ matrix.os }}-${{ matrix.py }}
path: dist