-
Notifications
You must be signed in to change notification settings - Fork 33
FIX: Upgrade RHEL 9 containers to Python 3.12 in CI #396
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
Conversation
- Updated both x86_64 and ARM64 RHEL 9 containers to use Python 3.12 - Changed from python3 (3.9) to python3.12 packages - Updated venv creation and include paths to python3.12 - Fixes test failures due to zip(strict=True) requiring Python 3.10+ - Python 3.12 available since RHEL 9.4
📊 Code Coverage Report
Diff CoverageDiff: main...HEAD, staged and unstaged changesNo lines with coverage information in this diff. 📋 Files Needing Attention📉 Files with overall lowest coverage (click to expand)mssql_python.pybind.logger_bridge.hpp: 58.8%
mssql_python.pybind.logger_bridge.cpp: 59.2%
mssql_python.row.py: 66.2%
mssql_python.helpers.py: 67.5%
mssql_python.pybind.ddbc_bindings.cpp: 69.4%
mssql_python.pybind.ddbc_bindings.h: 71.7%
mssql_python.pybind.connection.connection.cpp: 73.6%
mssql_python.ddbc_bindings.py: 79.6%
mssql_python.pybind.connection.connection_pool.cpp: 79.6%
mssql_python.connection.py: 83.9%🔗 Quick Links
|
- curl conflicts with pre-installed curl-minimal causing dnf install to fail - This prevented python3.12-devel from being installed - Consolidated Python packages into single dnf command - curl-minimal provides curl functionality, so no functionality lost
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request upgrades the Python version from 3.9 to 3.12 in RHEL 9-based CI containers to ensure compatibility with newer Python versions. The upgrade affects both x86_64 and ARM64 test environments in the PR validation pipeline.
Key changes:
- Updated Python package installations from
python3/python3.9topython3.12with corresponding development libraries - Modified virtual environment creation commands to explicitly use
python3.12 -m venv - Updated Python include directory paths from
/usr/include/python3.9to/usr/include/python3.12
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Added retryCountOnTaskFailure: 1 to all ARM64 build steps - Addresses segfaults during compilation under QEMU user-mode emulation - Affects Debian/Ubuntu ARM64, RHEL 9 ARM64, and Alpine ARM64
Work Item / Issue Reference
Summary
This pull request updates the PR validation pipeline to use Python 3.12 (available in RHEL 9.4+) instead of Python 3.9 for both x64 and ARM64 RHEL 9 containers. It also makes corresponding updates to the virtual environment setup and build steps, and omits certain packages to avoid conflicts.
Python version upgrade and environment updates:
python3/Python 3.9 topython3.12/Python 3.12 in the pipeline script, including virtual environment creation and dependency installation. [1] [2] [3] [4] [5] [6]Package management improvements:
curlandwgetto avoid conflicts withcurl-minimalwhen setting up the Python 3.12 environment. [1] [2]