FIX: Add manylinux_2_28 build targets for RHEL 8 / glibc 2.28 compatibility#548
FIX: Add manylinux_2_28 build targets for RHEL 8 / glibc 2.28 compatibility#548gargsaumya wants to merge 5 commits intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR extends the OneBranch Linux wheel build matrix to include manylinux_2_28 (glibc 2.28 / RHEL 8–compatible) alongside the existing glibc-based manylinux build and musllinux builds.
Changes:
- Add
manylinux_2_28(x86_64 + aarch64) to the Linux build configuration matrix. - Update Linux stage template to select the correct Docker image for
manylinux_2_28. - Update shell/command conditionals so
manylinux_2_28follows the same bash-based execution path as the existing manylinux builds.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| OneBranchPipelines/stages/build-linux-single-stage.yml | Adds manylinux_2_28 container image selection and treats it like manylinux for bash-based steps. |
| OneBranchPipelines/build-release-package-pipeline.yml | Expands the Linux build matrix to include manylinux_2_28 for both architectures. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # manylinux_2_34 (glibc 2.34, AlmaLinux 9) for x86_64 and ARM64 | ||
| - { tag: 'manylinux', arch: 'x86_64', platform: 'linux/amd64' } | ||
| - { tag: 'manylinux', arch: 'aarch64', platform: 'linux/arm64' } |
There was a problem hiding this comment.
The comment says this section is for "manylinux_2_34" but the actual tag value is still manylinux (and stage names will be Linux_manylinux_*). Please clarify the mapping in the comment (e.g., tag: manylinux => manylinux_2_34 image) or rename the tag to manylinux_2_34 consistently across linuxConfigs + build-linux-single-stage image selection so the tag name matches the platform being built.
📊 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.cpp: 59.2%
mssql_python.pybind.ddbc_bindings.h: 67.9%
mssql_python.row.py: 70.5%
mssql_python.pybind.logger_bridge.hpp: 70.8%
mssql_python.pybind.ddbc_bindings.cpp: 74.6%
mssql_python.pybind.connection.connection.cpp: 76.2%
mssql_python.__init__.py: 77.3%
mssql_python.ddbc_bindings.py: 79.6%
mssql_python.pybind.connection.connection_pool.cpp: 79.6%
mssql_python.connection.py: 85.3%🔗 Quick Links
|
Work Item / Issue Reference
Summary
This pull request adds support for building and testing Python wheels on the
manylinux_2_28(glibc 2.28, AlmaLinux 8 / RHEL 8 compatible) platform for both x86_64 and ARM64 architectures. The changes ensure that the build pipeline, Docker image selection, and all related scripts handle the new platform in the same way as the existingmanylinux(now clarified asmanylinux_2_34) support.Platform support enhancements:
manylinux_2_28(glibc 2.28, AlmaLinux 8 / RHEL 8 compatible) for bothx86_64andaarch64architectures to thelinuxConfigsparameter inbuild-release-package-pipeline.yml.build-linux-single-stage.ymlto use the appropriate Docker image formanylinux_2_28.Script and build logic updates:
build-linux-single-stage.ymlto treatmanylinux_2_28the same asmanylinux(nowmanylinux_2_34) for shell selection and command execution. [1] [2] [3] [4]