Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions .github/workflows/CI.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,17 @@ jobs:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
runs-on: ["ubuntu-24.04"]
include:
- runs-on: "macos-15"
- runs-on: "ubuntu-24.04"
python-version: "3.13"
freethreaded: true
- runs-on: "ubuntu-24.04"
python-version: "3.14"
freethreaded: true
- runs-on: "macos-15"
python-version: "3.14"
freethreaded: true
- runs-on: "macos-15"
python-version: "3.14"
- runs-on: "macos-15"
python-version: "3.9"
# Pull in the test script from run_tests and distribute python from matrix versions
Expand All @@ -26,6 +35,7 @@ jobs:
python-version: ${{ matrix.python-version }}
runs-on: ${{ matrix.runs-on }}
requirements-file: ".github/requirements-${{ matrix.python-version }}.txt"
freethreaded: ${{ matrix.freethreaded }}

# run-tests-legacy-python:
# needs: run-tests-modern-python # Wait until tests pass on python 3.9+
Expand Down Expand Up @@ -60,6 +70,6 @@ jobs:
runs-on: ubuntu-24.04

steps:
- run: jq --exit-status 'all(.result == "success")' <<< '${{ toJson(needs) }}'
- name: Done
run: exit 0
- run: jq --exit-status 'all(.result == "success")' <<< '${{ toJson(needs) }}'
- name: Done
run: exit 0
6 changes: 6 additions & 0 deletions .github/workflows/run_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ on:
requirements-file:
required: true
type: string
freethreaded:
required: false
type: boolean
default: false

jobs:
run_test:
Expand All @@ -33,5 +37,7 @@ jobs:
uv pip install . -r ${{ inputs.requirements-file }} -v --reinstall --system
python -c "import parsnip; print('parsnip', parsnip.__version__)"

python -c "import sys; print('GIL:', getattr(sys, '_is_gil_enabled', lambda: 'unknown')())"

- name: Test with pytest
run: python -m ${{ runner.os != 'Windows' && 'pytest' || 'pytest tests' }} -v -n auto
Loading