Skip to content

Commit d63d3f0

Browse files
QuLogicandfoy
andcommitted
CI: Add CI to test matplotlib against free-threaded Python
Co-authored-by: Edgar Andrés Margffoy Tuay <andfoy@gmail.com>
1 parent f96b4f3 commit d63d3f0

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

.github/workflows/tests.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,13 @@ jobs:
9191
pyqt6-ver: '!=6.6.0'
9292
# https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-2346
9393
pyside6-ver: '!=6.5.1'
94+
- name-suffix: "Free-threaded"
95+
os: ubuntu-22.04
96+
python-version: '3.13t'
97+
# https://www.riverbankcomputing.com/pipermail/pyqt/2023-November/045606.html
98+
pyqt6-ver: '!=6.6.0'
99+
# https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-2346
100+
pyside6-ver: '!=6.5.1'
94101
- os: macos-12 # This runner is on Intel chips.
95102
python-version: '3.10'
96103
# https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-2346
@@ -111,10 +118,18 @@ jobs:
111118

112119
- name: Set up Python ${{ matrix.python-version }}
113120
uses: actions/setup-python@v5
121+
if: matrix.python-version != '3.13t'
114122
with:
115123
python-version: ${{ matrix.python-version }}
116124
allow-prereleases: true
117125

126+
- name: Set up Python ${{ matrix.python-version }}
127+
uses: deadsnakes/action@6c8b9b82fe0b4344f4b98f2775fcc395df45e494 # v3.1.0
128+
if: matrix.python-version == '3.13t'
129+
with:
130+
python-version: '3.13'
131+
nogil: true
132+
118133
- name: Install OS dependencies
119134
run: |
120135
case "${{ runner.os }}" in
@@ -160,6 +175,11 @@ jobs:
160175
texlive-luatex \
161176
texlive-pictures \
162177
texlive-xetex
178+
if [[ "${{ matrix.python-version }}" = '3.13t' ]]; then
179+
# TODO: Remove this once setup-python supports nogil distributions.
180+
sudo apt-get install -yy --no-install-recommends \
181+
python3.13-tk-nogil
182+
fi
163183
if [[ "${{ matrix.os }}" = ubuntu-20.04 ]]; then
164184
sudo apt-get install -yy --no-install-recommends libopengl0
165185
else # ubuntu-22.04
@@ -318,6 +338,9 @@ jobs:
318338

319339
- name: Run pytest
320340
run: |
341+
if [[ "${{ matrix.python-version }}" == '3.13t' ]]; then
342+
export PYTHON_GIL=0
343+
fi
321344
pytest -rfEsXR -n auto \
322345
--maxfail=50 --timeout=300 --durations=25 \
323346
--cov-report=xml --cov=lib --log-level=DEBUG --color=yes

0 commit comments

Comments
 (0)