Skip to content

ci: run the tests on Python 3.14 as well as 3.12; hello prints the same everywhere - #178

Merged
simontreanor merged 2 commits into
mainfrom
ci-python-3.14
Oct 17, 2026
Merged

simontreanor merged 2 commits into
mainfrom
ci-python-3.14

Conversation

@simontreanor

@simontreanor simontreanor commented Oct 17, 2026 •

Copy link
Copy Markdown
Owner

The test job ran only on 3.12, the oldest supported Python, while local runs use 3.14, so neither caught a behaviour that differs between the two ends of the range. #177 hit exactly that: 3.12's asyncio.run takes only a coroutine, where 3.14's takes any awaitable. The matrix keeps 3.12 on all three systems and adds 3.14 on Linux, one extra job. CONTRIBUTING says so.

None of the required status checks change. They come from the kernel and wheels workflows, and the test job isn't one of them.

Also: examples/hello.pyfun printed cbrt 27.0 and its comments promised 3.0, but glibc's cbrt isn't correctly rounded, so Linux and most cloud notebooks print 3.0000000000000004. It now uses 64.0 (exact on Linux and Windows), and the whole example prints the same on Windows/3.14 and Linux/3.12. DESIGN notes that, as in Python, a float maths function's last digit follows the platform's C library. The compiler's cbrt lowering is unchanged.

The test job ran only on 3.12, the oldest supported Python, while local runs
use 3.14, so a behaviour that differs between the two ends of the range was
caught by neither alone: 3.12's asyncio.run takes only a coroutine, where
3.14's takes any awaitable (#177). The matrix keeps 3.12 on all three systems
and adds 3.14 on Linux. CONTRIBUTING says so.
…atform

hello.pyfun printed cbrt 27.0 and its comments promised 3.0, but glibc's cbrt
is not correctly rounded, so Linux and most cloud notebooks print
3.0000000000000004. 64.0 gives 4.0 on Linux and Windows alike, and the example
now prints the same on both. DESIGN notes that, as in Python, a float maths
function's last digit follows the platform's C library.
@simontreanor simontreanor changed the title ci: run the tests on Python 3.14 as well as 3.12 ci: run the tests on Python 3.14 as well as 3.12; hello prints the same everywhere Oct 17, 2026
@simontreanor
simontreanor merged commit 18a4a31 into main Oct 17, 2026
21 checks passed
@simontreanor
simontreanor deleted the ci-python-3.14 branch October 17, 2026 22:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant