-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable building for EL 9 and support Python 3.12 #855
Conversation
Thank you for contributing to the Leapp project!Please note that every PR needs to comply with the Leapp Guidelines and must pass all tests in order to be mergeable.
To launch regression testing public members of oamg organization can leave the following comment:
Please open ticket in case you experience technical problem with the CI. (RH internal only) Note: In case there are problems with tests not being triggered automatically on new PR/commit or pending for a long time, please consider rerunning the CI by commenting leapp-ci build (might require several comments). If the problem persists, contact leapp-infra. |
/packit-build |
/packit copr-build |
@pirat89 You are missing packit refactor, please rebase against recent master |
@fernflower |
/packit copr-build |
8ae1d5c
to
143d268
Compare
/packit copr-build |
78c49a1
to
8befbed
Compare
/rerun |
This is initial commit delivering some ground work needed for leapp to be able to work with Python3.12 on EL 9 systems and prepare testing. Most of the work has been delivered by Matej Matuska (thanks!!) Summary of changes: * Add el9 build container * Add fake RHEL 10 container for local containerized tests As RHEL 10 UBI isn't available yet, use RHEL 9 UBI with Python 3.12 virtualenv. The container manually updates the pytest and six modules after installing requirements as the currently used pytest version is too old for Python 3.12. setup() functions defined at module level are unsupported in the newer pytest versions, these are replaced by autouse=True fixtures. * Makefile: include new EL and Fedora containers for tests and builds * Packit: build automatically for epel-9-x86_64 Co-authored-by: Matej Matuska <mmatuska@redhat.com>
The find_module function has been deprecated for a long time and it has been removed in Python3.12. To keep the backward compatibility, we introduce compat.load_module() function that is compatible with Python2.7 -> Python3.12 now. Replacing all previous load of module in code by this function. Similar applies for the pkgutil.get_loader() Co-authored-by: Matej Matuska <mmatuska@redhat.com>
AttributeError: module 'configparser' has no attribute 'SafeConfigParser'
Currently the fake RHEL 10 container is used (based on ubi9).
All changes seems good to me and last two unfinished tests are possibly broken - I haven't been able to pass them in last 20+ hours. Seems that all required changes have been delivered. |
## Packaging - Start building for EL 9 in the upstream repository on COPR (oamg#855) ## Framework ### Enhancements - Minor update in the summary overview to highlight what is present in the pre-upgrade report (oamg#858) - Store metadata about actors, workflows, and dialogs inside leapp audit db (oamg#847, oamg#867) ## Leapp (tool) ### Enhancements - Implement singleton leapp execution to prevent multiple running leapp instances on the system in the same time (oamg#851) ## stdlib ### Fixes - Close properly all file descriptors when executing shell commands via `run` (oamg#880) ## Modifications - Code is now Python3.12 compatible (oamg#855)
## Packaging - Start building for EL 9 in the upstream repository on COPR (#855) ## Framework ### Enhancements - Minor update in the summary overview to highlight what is present in the pre-upgrade report (#858) - Store metadata about actors, workflows, and dialogs inside leapp audit db (#847, #867) ## Leapp (tool) ### Enhancements - Implement singleton leapp execution to prevent multiple running leapp instances on the system in the same time (#851) ## stdlib ### Fixes - Close properly all file descriptors when executing shell commands via `run` (#880) ## Modifications - Code is now Python3.12 compatible (#855)
This patch enables building on EL9 along with the testing infrastructure and dev environment prepared for EL9 and EL10.
Included changes: