-
Notifications
You must be signed in to change notification settings - Fork 21
FEAT: Alpine Support #169
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
FEAT: Alpine Support #169
Conversation
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…b.com/microsoft/mssql-python into bewithgaurav/refactor_get_driver_path
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 adds Alpine Linux support to the mssql-python library by resolving circular import issues that occurred during module initialization on Alpine's musl-based system. The key change moves driver path resolution from Python to C++ to avoid importing Python helpers during critical initialization phases.
- Implemented C++ driver path resolution to replace Python-based approach
- Added Alpine Linux distribution detection and driver loading support
- Included comprehensive Alpine ARM64 testing pipeline with containerized environment
Reviewed Changes
Copilot reviewed 4 out of 7 changed files in this pull request and generated 5 comments.
File | Description |
---|---|
mssql_python/pybind/ddbc_bindings.cpp | Replaced Python-based driver path resolution with pure C++ implementation including Alpine detection |
mssql_python/helpers.py | Removed Python helper functions for driver path resolution and Linux distro detection |
tests/test_000_dependencies.py | Updated tests to use new C++ driver path function and added Alpine detection logic |
eng/pipelines/pr-validation-pipeline.yml | Added Alpine ARM64 testing pipeline and renamed existing Linux jobs for clarity |
Work Item / Issue Reference
Summary
Introducing Alpine Support