Skip to content

CI: 3.14t integration jobs fail after gevent 26.4.0 release #815

@dkropachev

Description

@dkropachev

Summary

The 3.14t integration-test matrix jobs started failing during the uv sync step after gevent 26.4.0 was published to PyPI.

This is not caused by the tablets change in 50941184b1c8e5a3aed2b23fc392a50bc540d63b; the job fails before project code is built or tests run.

Failure

Failing run:
https://github.com/scylladb/python-driver/actions/runs/24181832622

Failing job:
https://github.com/scylladb/python-driver/actions/runs/24181832622/job/70576498419

Error:

error: Distribution `gevent==26.4.0 @ registry+https://pypi.org/simple` can't be installed because it doesn't have a source distribution or wheel for the current platform

The affected jobs are the free-threaded Python lanes, for example:

test asyncio (3.14t)
test libev (3.14t)

Regression Window

Previous green master integration run:
https://github.com/scylladb/python-driver/actions/runs/24151571818

That run used commit db317eb3645495232664f99c4a452da67b74903e and completed successfully on 2026-04-08 before the gevent 26.4.0 release.

gevent 26.4.0 was published to PyPI on 2026-04-08 at 21:54:11 UTC.

First observed failing run:
https://github.com/scylladb/python-driver/actions/runs/24181832622

That run started on 2026-04-09 at 09:01 UTC and resolved gevent==26.4.0.

Cause

gevent is currently unpinned in the dev dependency group. The integration workflow runs uv sync for every matrix job, including the 3.14t jobs, so free-threaded Python CI picks up the latest gevent release even for lanes that do not need gevent directly.

gevent 26.4.0 has regular cp314 wheels, but no matching cp314t wheel for the free-threaded Python ABI. That makes uv sync fail before tests begin.

Relevant upstream gevent issues:

Proposed Fix

Cap gevent below the problematic release in pyproject.toml:

# gevent free-threading support is still unsettled upstream; keep the
# version below 26.4.0 until gevent/gevent#2087 and gevent/gevent#2127
# are resolved for CPython 3.14t CI jobs.
"gevent<26.4.0",

This restores resolution to gevent==25.9.1, which was verified to install successfully in a clean 3.14t environment with uv.

Validation

Verified locally:

uv venv /tmp/... --python 3.14t
uv pip install --python /tmp/.../bin/python 'gevent<26.4.0'

Result:

Installed 4 packages
 + gevent==25.9.1
 + greenlet==3.4.0
 + zope-event==6.1
 + zope-interface==8.3

Full integration matrix was not run locally.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions