fix(deps): declare setuptools in dev extra for packaging tests (#34851)

* fix(deps): declare setuptools in dev extra for packaging tests

tests/test_packaging_metadata.py imports `from setuptools import
find_packages` at module scope to validate package discovery against
the live tree. setuptools was being picked up ambiently from the CI
runner image, but recent ubuntu-latest images no longer ship it in the
test venv, so collection fails with ModuleNotFoundError on every PR.

Declare setuptools==82.0.1 in the dev optional-dependencies so `.[all,dev]`
installs it explicitly rather than relying on the runner environment.

* test(packaging): skip packaging-metadata tests when setuptools absent

Belt-and-suspenders alongside declaring setuptools in [dev]: guard the
module-level `from setuptools import find_packages` with
pytest.importorskip so a runner missing setuptools SKIPS these checks
instead of erroring out collection for the entire test shard.

* chore(deps): sync uv.lock for setuptools dev dependency
This commit is contained in:
Teknium
2026-05-29 17:24:23 -07:00
committed by GitHub
parent 689ef5e233
commit f9daa4a41d
3 changed files with 12 additions and 2 deletions

3
uv.lock generated
View File

@ -1638,6 +1638,7 @@ all = [
{ name = "pytest-timeout" },
{ name = "pywinpty", marker = "sys_platform == 'win32'" },
{ name = "ruff" },
{ name = "setuptools" },
{ name = "simple-term-menu" },
{ name = "ty" },
{ name = "uvicorn", extra = ["standard"] },
@ -1668,6 +1669,7 @@ dev = [
{ name = "pytest-asyncio" },
{ name = "pytest-timeout" },
{ name = "ruff" },
{ name = "setuptools" },
{ name = "ty" },
]
dingtalk = [
@ -1877,6 +1879,7 @@ requires-dist = [
{ name = "rich", specifier = "==14.3.3" },
{ name = "ruamel-yaml", specifier = "==0.18.17" },
{ name = "ruff", marker = "extra == 'dev'", specifier = "==0.15.10" },
{ name = "setuptools", marker = "extra == 'dev'", specifier = "==82.0.1" },
{ name = "simple-term-menu", marker = "extra == 'cli'", specifier = "==1.6.6" },
{ name = "slack-bolt", marker = "extra == 'messaging'", specifier = "==1.27.0" },
{ name = "slack-bolt", marker = "extra == 'slack'", specifier = "==1.27.0" },