fix: install setuptools for the packaging guard

This commit is contained in:
Abdessamad Derraz committed 2026-11-06 03:32:26 +01:00
1 parent af3c90e448
commit cb17145665
5 files changed
+12 -3

No files matched your search

+2 -1
View File
@@ -223,8 +223,9 @@ jobs:
# heading guard's premise, and skipped on every run without it. pyte
# reads the installer's full screen back in its end-to-end tests,
# hypothesis fuzzes its key decoder, and vermin holds install.py to 3.8.
# setuptools reads pyproject.toml for the packaging guard.
- name: Install dependencies
run: pip install pyyaml "jsonschema[format-nongpl]==4.26.0" "markdown==3.10.2" "pyte==0.8.2" "hypothesis==6.170.8" "vermin==1.9.2"
run: pip install pyyaml "jsonschema[format-nongpl]==4.26.0" "markdown==3.10.2" "pyte==0.8.2" "hypothesis==6.170.8" "vermin==1.9.2" "setuptools==80.9.0"
# The full screen also runs under the 3.8 floor: the end-to-end tests
# start install.py with the interpreter that runs them.
+1 -1
View File
@@ -68,7 +68,7 @@ validation above is its check. For code, profiles or platform files, these are
the checks CI runs on a pull request (Python 3.12 or newer):
```bash
pip install pyyaml "jsonschema[format-nongpl]" markdown pyte hypothesis vermin
pip install pyyaml "jsonschema[format-nongpl]" markdown pyte hypothesis vermin setuptools
python scripts/validate_pr.py --changed # the BIOS files the branch adds
python scripts/validate_schemas.py --source-only # profiles and platform files
python scripts/profile_sync.py --added --base upstream/main --strict # each profile the branch adds
+4
View File
@@ -33,6 +33,10 @@ dev = [
"pyte>=0.8.2",
"hypothesis>=6.100",
"vermin>=1.9",
# The packaging guard reads this file through setuptools, which pip
# installs only in its isolated build environment and 3.12 no longer
# bundles: without it the guard skipped on every CI run.
"setuptools>=61",
]
# The site is built by Astro Starlight from website/package.json and its
# lockfile (npm ci --prefix website): no Python package builds it.
+1 -1
View File
@@ -974,7 +974,7 @@ validation above is its check. For code, profiles or platform files, these are
the checks CI runs on a pull request (Python 3.12 or newer):
```bash
pip install pyyaml "jsonschema[format-nongpl]" markdown pyte hypothesis vermin
pip install pyyaml "jsonschema[format-nongpl]" markdown pyte hypothesis vermin setuptools
python scripts/validate_pr.py --changed # the BIOS files the branch adds
python scripts/validate_schemas.py --source-only # profiles and platform files
python scripts/profile_sync.py --added --base upstream/main --strict # each profile the branch adds
+4
View File
@@ -2766,6 +2766,10 @@ class TheProjectInstallsWithPip(unittest.TestCase):
import importlib.util # noqa: PLC0415
if importlib.util.find_spec("setuptools") is None:
# The dev extra and CI install it: skipped there, the guard held
# nothing on any run.
if os.environ.get("CI"):
self.fail("CI must install setuptools")
self.skipTest("setuptools is not installed")
program = (
"from setuptools.dist import Distribution\n"