Skip to content

Commit ecb405f

Browse files
authored
FIX: Pin Alpine ARM64 to 3.22 to fix msodbcsql arch mismatch issue (#366)
### Work Item / Issue Reference <!-- IMPORTANT: Please follow the PR template guidelines below. For mssql-python maintainers: Insert your ADO Work Item ID below (e.g. AB#37452) For external contributors: Insert Github Issue number below (e.g. #149) Only one reference is required - either GitHub issue OR ADO Work Item. --> <!-- mssql-python maintainers: ADO Work Item --> > [AB#40903](https://sqlclientdrivers.visualstudio.com/c6d89619-62de-46a0-8b46-70b92a84d85e/_workitems/edit/40903) <!-- External contributors: GitHub Issue --> > GitHub Issue: #<ISSUE_NUMBER> ------------------------------------------------------------------- ### Summary <!-- Insert your summary of changes below. Minimum 10 characters required. --> 1. 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. 2. 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. 3. 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. 4. 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. <!-- ### PR Title Guide > For feature requests FEAT: (short-description) > For non-feature requests like test case updates, config updates , dependency updates etc CHORE: (short-description) > For Fix requests FIX: (short-description) > For doc update requests DOC: (short-description) > For Formatting, indentation, or styling update STYLE: (short-description) > For Refactor, without any feature changes REFACTOR: (short-description) > For release related changes, without any feature changes RELEASE: #<RELEASE_VERSION> (short-description) ### Contribution Guidelines External contributors: - Create a GitHub issue first: https://github.com/microsoft/mssql-python/issues/new - Link the GitHub issue in the "GitHub Issue" section above - Follow the PR title format and provide a meaningful summary mssql-python maintainers: - Create an ADO Work Item following internal processes - Link the ADO Work Item in the "ADO Work Item" section above - Follow the PR title format and provide a meaningful summary -->
1 parent 5c77e3f commit ecb405f

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

eng/pipelines/pr-validation-pipeline.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1395,12 +1395,14 @@ jobs:
13951395
13961396
- script: |
13971397
# Create a Docker container for testing on x86_64
1398+
# TODO(AB#40901): Temporary pin to 3.22 due to msodbcsql ARM64 package arch mismatch
1399+
# Revert to alpine:latest once ODBC team releases fixed ARM64 package
13981400
docker run -d --name test-container-alpine \
13991401
--platform linux/amd64 \
14001402
-v $(Build.SourcesDirectory):/workspace \
14011403
-w /workspace \
14021404
--network bridge \
1403-
alpine:latest \
1405+
alpine:3.22 \
14041406
tail -f /dev/null
14051407
displayName: 'Create Alpine x86_64 container'
14061408
@@ -1637,12 +1639,14 @@ jobs:
16371639
16381640
- script: |
16391641
# Create a Docker container for testing on ARM64
1642+
# TODO(AB#40901): Temporary pin to 3.22 due to msodbcsql ARM64 package arch mismatch
1643+
# Revert to alpine:latest once ODBC team releases fixed ARM64 package
16401644
docker run -d --name test-container-alpine-arm64 \
16411645
--platform linux/arm64 \
16421646
-v $(Build.SourcesDirectory):/workspace \
16431647
-w /workspace \
16441648
--network bridge \
1645-
alpine:latest \
1649+
alpine:3.22 \
16461650
tail -f /dev/null
16471651
displayName: 'Create Alpine ARM64 container'
16481652

0 commit comments

Comments
 (0)