Skip to content

Commit bb63c53

Browse files
authored
Unbreak CI (3.14 + cython) (#3264)
* skip static introspection on 3.14.0b1 * also skip sees_all_symbols, pin cython to <3.1.0 * name 3.14 with -dev to pass if failing. Also restrict cython version in ci * continue-on-error for windows3.14, add non-strict xfail for test_error_in_run_loop, add overeager strict xfail on export tests * switch back to skipif ... maybe unbreak CI? * unbreak CI * summer is finally here ☀
1 parent ac7b93f commit bb63c53

File tree

4 files changed

+25
-3
lines changed

4 files changed

+25
-3
lines changed

.github/workflows/ci.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,11 +181,14 @@ jobs:
181181
# lsp: 'http://download.pctools.com/mirror/updates/9.0.0.2308-SDavfree-lite_en.exe'
182182
# lsp_extract_file: ''
183183
# extra_name: ', with non-IFS LSP'
184+
185+
# ***REMEMBER*** to remove the 3.14 line once windows+cffi works again
184186
continue-on-error: >-
185187
${{
186188
(
187189
endsWith(matrix.python, '-dev')
188190
|| endsWith(matrix.python, '-nightly')
191+
|| matrix.python == '3.14'
189192
)
190193
&& true
191194
|| false
@@ -387,11 +390,13 @@ jobs:
387390
- python: '3.9' # We support running on cython 2 and 3 for 3.9
388391
cython: '<3' # cython 2
389392
- python: '3.9'
390-
cython: '>=3' # cython 3 (or greater)
393+
# cython 3.1.0 broke stuff https://github.com/cython/cython/issues/6865
394+
cython: '>=3,<3.1' # cython 3 (or greater)
391395
- python: '3.11' # 3.11 is the last version Cy2 supports
392396
cython: '<3' # cython 2
393397
- python: '3.13' # We support running cython3 on 3.13
394-
cython: '>=3' # cython 3 (or greater)
398+
# cython 3.1.0 broke stuff https://github.com/cython/cython/issues/6865
399+
cython: '>=3,<3.1' # cython 3 (or greater)
395400
steps:
396401
- name: Retrieve the project source from an sdist inside the GHA artifact
397402
uses: re-actors/checkout-python-sdist@release/v2

src/trio/_core/_tests/test_run.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -922,7 +922,13 @@ async def main() -> None:
922922
gc_collect_harder()
923923

924924

925+
# This segfaults, so we need to skipif. Remember to remove the skipif once
926+
# the upstream issue is resolved.
925927
@restore_unraisablehook()
928+
@pytest.mark.skipif(
929+
sys.version_info[:3] == (3, 14, 0),
930+
reason="https://github.com/python/cpython/issues/133932",
931+
)
926932
def test_error_in_run_loop() -> None:
927933
# Blow stuff up real good to check we at least get a TrioInternalError
928934
async def main() -> None:

src/trio/_tests/test_exports.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,11 @@ def iter_modules(
117117
# won't be reflected in trio.socket, and this shouldn't cause downstream test
118118
# runs to start failing.
119119
@pytest.mark.redistributors_should_skip
120+
@pytest.mark.skipif(
121+
sys.version_info[:4] == (3, 14, 0, "beta"),
122+
# 12 pass, 16 fail
123+
reason="several tools don't support 3.14",
124+
)
120125
# Static analysis tools often have trouble with alpha releases, where Python's
121126
# internals are in flux, grammar may not have settled down, etc.
122127
@pytest.mark.skipif(
@@ -243,6 +248,11 @@ def no_underscores(symbols: Iterable[str]) -> set[str]:
243248
@slow
244249
# see comment on test_static_tool_sees_all_symbols
245250
@pytest.mark.redistributors_should_skip
251+
@pytest.mark.skipif(
252+
sys.version_info[:4] == (3, 14, 0, "beta"),
253+
# 2 passes, 12 fails
254+
reason="several tools don't support 3.14.0",
255+
)
246256
# Static analysis tools often have trouble with alpha releases, where Python's
247257
# internals are in flux, grammar may not have settled down, etc.
248258
@pytest.mark.skipif(

tox.ini

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ commands =
5252
[testenv:py39-cython2,py39-cython,py311-cython2,py313-cython]
5353
description = "Run cython tests."
5454
deps =
55-
cython
55+
# cython 3.1.0 broke stuff https://github.com/cython/cython/issues/6865
56+
cython: cython<3.1.0
5657
cython2: cython<3
5758
setuptools ; python_version >= '3.12'
5859
commands_pre =

0 commit comments

Comments
 (0)