-
Notifications
You must be signed in to change notification settings - Fork 31
FIX: Pin Alpine ARM64 to 3.22 to fix msodbcsql arch mismatch issue #366
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
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 PR implements a temporary workaround for an ARM64 ODBC driver architecture mismatch issue by pinning the Alpine container version used in ARM64 CI jobs. The issue stems from the ARM64 msodbcsql package incorrectly reporting its architecture as x86_64, causing installation failures on newer Alpine versions with stricter validation.
Key Changes:
- Pins Alpine ARM64 CI container from
alpine:latesttoalpine:3.22 - x86_64 Alpine CI jobs remain on
alpine:latest(unaffected by the ODBC driver issue)
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
📊 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.row.py: 66.2%
mssql_python.pybind.ddbc_bindings.cpp: 67.1%
mssql_python.helpers.py: 67.5%
mssql_python.pybind.connection.connection.cpp: 73.6%
mssql_python.pybind.ddbc_bindings.h: 76.9%
mssql_python.ddbc_bindings.py: 79.6%
mssql_python.pybind.connection.connection_pool.cpp: 79.6%
mssql_python.connection.py: 82.5%
mssql_python.cursor.py: 83.8%🔗 Quick Links
|
64b637f to
46092a9
Compare
aafe524 to
af608b3
Compare
Work Item / Issue Reference
Summary
ARM64 ODBC Package Issue:
• The ARM64 ODBC driver package (msodbcsql18_18.5.1.1-1_arm64.apk) contains arch = x86_64 in .PKGINFO.
• This is causing installation failures on newer Alpine versions where architecture validation is enforced.
• Local Docker testing confirmed that Alpine 3.22 installs the package successfully.
Compiler Warning Issue on Alpine:
• The CI also fails with alpine :latest due to a new compiler warning in std::wstring_convert (_GLIBCXX17_DEPRECATED) which is treated as an error.
• The current fix for this warning relies on Alpine 3.22, so we have pinned x86_64 CI to 3.22 too for now.
Temporary CI Fix:
• Both ARM64 and x86_64 CI jobs are now pinned to Alpine 3.22.
• This unblocks all pipelines while maintaining consistency across architectures.
We'll track ODBC team’s fix for ARM64 package and once fixed, we can safely move Alpine CI back to alpine:latest. Also, we have a proper fix for the compiler warning to allow CI to eventually move back to latest.