(→Detailed Description: fix quote) |
(→Owner: merge owners) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 16: | Line 16: | ||
This should link to your home wiki page so we know who you are. | This should link to your home wiki page so we know who you are. | ||
--> | --> | ||
* Name: [[User:salimma|Michel Lind]] | * Name: [[User:salimma|Michel Lind]], [[User:music|Ben Beasley]] | ||
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. --> | <!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. --> | ||
* Email: michel@michel-slm.name | * Email: michel@michel-slm.name, code@musicinmybrain.net | ||
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo) | <!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo) | ||
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address> | * FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address> | ||
--> | --> | ||
== Current status == | == Current status == | ||
[[Category: | [[Category:ChangeReadyForWrangler]] | ||
<!-- When your change proposal page is completed and ready for review and announcement --> | <!-- When your change proposal page is completed and ready for review and announcement --> | ||
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | <!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | ||
Line 59: | Line 58: | ||
{{quote| | {{quote| | ||
pytest-runner depends on deprecated features of setuptools and relies on features that break security mechanisms in pip. For example `setup_requires` and `tests_require` bypass `pip --require-hashes`. | pytest-runner depends on deprecated features of setuptools and relies on features that break security mechanisms in pip. For example `setup_requires` and `tests_require` bypass `pip --require-hashes`. | ||
See also https://github.com/pypa/setuptools/issues/1684.}} | See also https://github.com/pypa/setuptools/issues/1684. | ||
|source=pytest-runner github|}} | |||
=== How to migrate to pytest === | === How to migrate to pytest === | ||
Line 66: | Line 66: | ||
* Remove 'pytest' and any other testing requirements from 'tests_require', preferably removing the `setup_requires` option. | * Remove 'pytest' and any other testing requirements from 'tests_require', preferably removing the `setup_requires` option. | ||
* Use a requirement-test.txt file to hold test dependencies | * Use a requirement-test.txt file to hold test dependencies | ||
* Invoke tests with | * Invoke tests with `pytest` | ||
* Another good option is to configure a | * Another good option is to configure a `tox.ini` next to your `setup.cfg`. https://tox.readthedocs.io/en/latest/ | ||
== Feedback == | == Feedback == | ||
Line 118: | Line 118: | ||
--> | --> | ||
<code> | |||
$ fedrq pkgs python3-pytest-runner -F provides | grep deprecated | $ fedrq pkgs python3-pytest-runner -F provides | grep deprecated | ||
deprecated() | deprecated() | ||
</code> | |||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> |
Latest revision as of 22:27, 24 December 2024
Deprecate python-pytest-runner
Summary
The python-pytest-runner
(python3-pytest-runner
) package will be deprecated in Fedora Linux 42. Dependent packages are encouraged to switch to using pytest
directly.
Owner
- Name: Michel Lind, Ben Beasley
- Email: michel@michel-slm.name, code@musicinmybrain.net
Current status
- Targeted release: Fedora Linux 42
- Last updated: 2024-12-24
- [<link to devel-announce post will be added by Wrangler> Announced]
- [<will be assigned by the Wrangler> Discussion thread]
- FESCo issue: <will be assigned by the Wrangler>
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
Detailed Description
pytest-runner has been considered deprecated upstream since 2019 and the repo upstream was archived over a year ago (December 3, 2023).
Per upstream,
|
How to migrate to pytest
- Remove 'pytest-runner' from your 'setup_requires', preferably removing the
setup_requires
option. - Remove 'pytest' and any other testing requirements from 'tests_require', preferably removing the
setup_requires
option. - Use a requirement-test.txt file to hold test dependencies
- Invoke tests with
pytest
- Another good option is to configure a
tox.ini
next to yoursetup.cfg
. https://tox.readthedocs.io/en/latest/
Feedback
Benefit to Fedora
The security benefits mostly do not apply to us, as we install dependencies from RPM packages. But preventing additional packages from depending on a package with a dead upstream that might increasingly become incompatible with newer setuptools
releases would avoid us accumulating tech debt and having to deal with potential test runner failures in the future.
Scope
- Proposal owners:
- Mark
python-pytest-runner
as deprecated inrawhide
- Send PRs to affected packages to remove dependencies on this package
- Mark
- Other developers:
- If your package depends on {{package|python-pytest-runner}, adjust it to drop the dependency
- Release engineering: no impact anticipated
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with the Fedora Strategy: N/A
Upgrade/compatibility impact
N/A. This just deprecates the package, and stops it from being used in new dependencies.
Early Testing (Optional)
Do you require 'QA Blueprint' support? N
How To Test
$ fedrq pkgs python3-pytest-runner -F provides | grep deprecated
deprecated()
User Experience
No changes
Dependencies
N/A (not a system-wide change)
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change), Yes/No
Documentation
N/A (not a System Wide Change)