Skip to content

fix(ci): pin virtualenv<21 to fix hatch environment creation failure #930

@LalatenduMohanty

Description

@LalatenduMohanty

Summary

All CI jobs using hatch run are failing with:

Environment `lint` is incompatible: module 'virtualenv.discovery.builtin' has no attribute 'propose_interpreters'

This affects every hatch-managed CI job: linter, mypy, pkglint, pre-commit, readthedocs, and all unit tests.

Root Cause

virtualenv 21.0.0 was released on February 25, 2026 with a breaking internal API change — it removed/renamed the propose_interpreters function from virtualenv.discovery.builtin.

Hatch 1.16.4 depends on virtualenv>=20.26.6 (no upper bound), so pip resolves it to virtualenv-21.0.0. When hatch tries to create any environment, it calls virtualenv.discovery.builtin.propose_interpreters, which no longer exists.

Upstream tracking

Metadata

Metadata

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