← All tasks
pythonhvac/hvac #1237Not a task: already works

CI builds are failing when Python 3.14 is used due to `greenlet==3.1.1` not supporting Python 3.14.

envgap__hvac__hvac-1237

01 / FAILURE SIGNATURE

As reported upstream

No identifying execution failure has been captured.
Not a benchmark task.
  • The project already builds and runs before the fix, so there is nothing to repair.

02 / ENVIRONMENT RECIPE

Base commit
2f1a58f754526b6baeee43d8763917d308ca2997
Manifest
pyproject.toml
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

hvac/hvac #1237 · read the original issue
Basically, greenlet is trying to use some Python internals that changed in 3.14, and the version we have (3.1.1) hasn't been updated for it yet.

## Why this is happening

In `.github/workflows/build-test.yml`, we have `allow-prereleases: true` set for the Python setup step. This means when GitHub Actions sets up Python, it might grab Python 3.14 if that's available, even though we only officially support up to 3.12 according to our `pyproject.toml`.

## Some ways to fix this

**Option 1: Turn off prereleases** (probably the easiest)

Just change `allow-prereleases: true` to `false` in the workflow file. This way CI will stick to stable Python versions that we actually support.

**Option 2: Update greenlet**

Check if there's a newer version of greenlet that supports 3.14:ash
poetry show greenlet --allIf there is, we can update it. But I'm not sure if greenlet has added 3.14 support yet.

**Option 3: Explicitly exclude 3.14**

Keep prereleases enabled but add an exclude to the matrix so we skip 3.14 specifically. This is more verbose but gives us more control.

I'd probably go with Option 1 since we're not officially supporting 3.14 anyway, and it's the simplest fix. But happy to go with whatever makes sense!

## Context

- greenlet is in dev dependencies, so this only affects dev/test environments
- The project officially supports Python 3.8-3.12 per the classifiers
- This could also affect local dev if someone has Python 3.14 installed
- This also is currently affect PR for https://github.com/hvac/hvac/pull/1236
Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]