fix(python-build): disable tests bcond to fix BR-unresolvable nightly failure#17560
fix(python-build): disable tests bcond to fix BR-unresolvable nightly failure#17560WithEnoughCoffee wants to merge 1 commit into
Conversation
The tests bcond (enabled by default when %rhel is undefined) causes %pyproject_buildrequires -g test to generate dynamic BuildRequires for test dependencies (filelock, pytest-mock, setuptools_scm, etc.) that may not be published in the Koji build tag at build time, resulting in mock exit status 30 (BR-unresolvable). Disable tests and extras via build.without, aligning with RHEL behavior as the spec was designed for. The %pyproject_check_import basic sanity check still runs. Fixes: Koji task 2593995 Related: AB#20330
c438370 to
efa7560
Compare
There was a problem hiding this comment.
Pull request overview
Disables extras and tests build conditionals for the python-build component to avoid dynamically generated test/extra BuildRequires that can be missing from the Koji nightly tag, while retaining a basic %pyproject_check_import sanity check.
Changes:
- Add
build.without = ["extras", "tests"]forpython-buildvia a dedicated component definition file. - Re-render
python-buildspec output to include the generated.azl.macrosfile and updated rpmautospec release/changelog. - Update the
python-buildlock input fingerprint to match the new component configuration, and removepython-buildfrom the “unmodified inline” component list.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
base/comps/python-build/python-build.comp.toml |
Adds component build configuration to disable extras/tests bconds with rationale. |
base/comps/components.toml |
Removes python-build from the inline “unmodified” component list since it’s now customized. |
locks/python-build.lock |
Updates input-fingerprint to reflect the new component config inputs. |
specs/p/python-build/python-build.spec |
Rendered spec updated to load generated macros, add Source9999, and bump release/changelog. |
specs/p/python-build/python-build.azl.macros |
Generated macros file defining %_without_extras and %_without_tests. |
| @@ -0,0 +1,11 @@ | |||
| # AZL does not ship python3-uv or python3-build+uv/+virtualenv extras subpackages. | |||
There was a problem hiding this comment.
uv is present in AZL4, and it provides python3-uv. I think the real issue is that uv isn't building correctly.
Unless we're proposing removal of uv, let's try to address that root cause.
| # via %pyproject_buildrequires -x virtualenv,uv, causing BR-unresolvable failures. | ||
| # | ||
| # Tests are disabled to align with RHEL — the spec notes "not all test dependencies | ||
| # are included in RHEL: filelock, pytest-mock". The dynamic test BRs (via -g test) |
There was a problem hiding this comment.
Does AZL4 provide filelock, pytest-mock*, though? That's relevant.
| # | ||
| # Tests are disabled to align with RHEL — the spec notes "not all test dependencies | ||
| # are included in RHEL: filelock, pytest-mock". The dynamic test BRs (via -g test) | ||
| # create fragile ordering dependencies in the Koji nightly build tag, causing |
There was a problem hiding this comment.
What's meant by "fragile ordering dependencies"?
Summary
Disables the
testsandextrasbconds for python-build to fix BR-unresolvable failures in the Koji nightly build (task 2593995).Root Cause
The
testsbcond (enabled by default when%rhelis undefined) causes%pyproject_buildrequires -g testto generate dynamic BuildRequires for test dependencies (filelock, pytest-mock, setuptools_scm, etc.) that may not be published in the Koji build tag at build time, resulting in mock exit status 30.Fix
Add
build.without = ["extras", "tests"]— aligning with RHEL behavior as the spec was designed for. The%pyproject_check_importbasic sanity check still runs.Testing
pyproject-build --version→build 1.3.0✓build,ProjectBuilder,DefaultIsolatedEnv) all work ✓References