Skip to content

CHORE: Migrate Linux container image references from ACR to GHCR - #696

Open
saurabh500 wants to merge 3 commits into
mainfrom
saurabh500-refactored-robot
Open

CHORE: Migrate Linux container image references from ACR to GHCR#696
saurabh500 wants to merge 3 commits into
mainfrom
saurabh500-refactored-robot

Conversation

@saurabh500

@saurabh500 saurabh500 commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

#699

Summary

Migrates the Linux container images used by the OneBranch pipelines off tdslibrs.azurecr.io and onto the public GHCR packages published by github.com/microsoft/mssql-rs.

Image mapping (exact 1:1 with the ACR paths they replace):

Before After
tdslibrs.azurecr.io/import/python-build/manylinux_2_28_<arch>:latest ghcr.io/microsoft/mssql-rs/import/python-build/manylinux_2_28_<arch>:latest
tdslibrs.azurecr.io/import/python-build/musllinux_1_2_<arch>:latest ghcr.io/microsoft/mssql-rs/import/python-build/musllinux_1_2_<arch>:latest

Files changed:

  • OneBranchPipelines/stages/build-linux-single-stage.yml
  • OneBranchPipelines/stages/build-odbc-linux-stage.yml
  • OneBranchPipelines/stages/wheel-installation-test-stage.yml

Also removes the three AzureCLI@2 "Login to ACR (tdslibrs)" steps — the GHCR packages are public, so pulls are anonymous and the Magnitude Test-mssql-rs-mssql-python service connection is no longer needed for image access.

Notes for reviewers

  • These are the same vanilla PyPA base images as before, just served from GHCR instead of the ACR mirror. No change to the toolchain inside the containers.
  • $(ARCH) already resolves to x86_64 / aarch64, which matches the GHCR tag naming exactly.
  • Anonymous pullability of all four tags was verified against the GHCR registry API (HTTP 200 for manylinux_2_28_{x86_64,aarch64}:latest and musllinux_1_2_{x86_64,aarch64}:latest).
  • Successful run on Onebranch non-official pipeline

Point the Linux build, ODBC build, and wheel-installation-test stages at the
public GHCR images published by github.com/microsoft/mssql-rs instead of the
tdslibrs.azurecr.io mirrors.

- tdslibrs.azurecr.io/import/python-build/manylinux_2_28_<arch>:latest
  -> ghcr.io/microsoft/mssql-rs/python-build/manylinux_2_28_<arch>_rust:latest
- tdslibrs.azurecr.io/import/python-build/musllinux_1_2_<arch>:latest
  -> ghcr.io/microsoft/mssql-rs/python-build/musllinux_1_2_<arch>_rust:latest

The GHCR packages are public, so the AzureCLI 'az acr login --name tdslibrs'
steps (and their dependency on the 'Magnitude Test-mssql-rs-mssql-python'
service connection) are no longer needed and are removed.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 5a6965bb-277d-4969-b0d1-7d38eae70a5d
@github-actions github-actions Bot added the pr-size: small Minimal code update label Aug 3, 2026
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

📊 Code Coverage Report

🔥 Diff Coverage

100%


🎯 Overall Coverage

81%


📈 Total Lines Covered: 7268 out of 8885
📁 Project: mssql-python


Diff Coverage

Diff: main...HEAD, staged and unstaged changes

No 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: 59.9%
mssql_python.pybind.logger_bridge.hpp: 70.8%
mssql_python.pybind.ddbc_bindings.cpp: 76.2%
mssql_python.__init__.py: 77.3%
mssql_python.row.py: 77.6%
mssql_python.ddbc_bindings.py: 79.6%
mssql_python.pybind.connection.connection_pool.cpp: 81.4%
mssql_python.pybind.connection.connection.cpp: 83.7%
mssql_python.connection.py: 84.7%

🔗 Quick Links

⚙️ Build Summary 📋 Coverage Details

View Azure DevOps Build

Browse Full Coverage Report

saurabh500 and others added 2 commits August 4, 2026 10:19
The vanilla PyPA base images are now mirrored to GHCR alongside the _rust
variants, so point at those instead for an exact 1:1 match with the ACR paths
they replace (no unused Rust toolchain in the build/test containers).

  ghcr.io/microsoft/mssql-rs/import/python-build/manylinux_2_28_<arch>:latest
  ghcr.io/microsoft/mssql-rs/import/python-build/musllinux_1_2_<arch>:latest

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 5a6965bb-277d-4969-b0d1-7d38eae70a5d
@saurabh500
saurabh500 marked this pull request as ready for review August 4, 2026 23:35
Copilot AI lite review requested due to automatic review settings August 4, 2026 23:35

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 updates the OneBranch Linux CI stages to pull their PyPA base container images from public GitHub Container Registry (GHCR) packages published by microsoft/mssql-rs, replacing the previous private Azure Container Registry (ACR) mirror and removing the associated ACR login steps.

Changes:

  • Switched Linux container image references from tdslibrs.azurecr.io/... to ghcr.io/microsoft/mssql-rs/... for both manylinux_2_28 and musllinux_1_2 images (x86_64/aarch64).
  • Removed AzureCLI@2 ACR login steps (no longer needed for public GHCR pulls).
  • Updated inline comments to reflect the new image source and anonymous pull behavior.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
OneBranchPipelines/stages/build-linux-single-stage.yml Removes ACR login and updates the build container image reference to GHCR.
OneBranchPipelines/stages/build-odbc-linux-stage.yml Removes ACR login and updates the ODBC build container image reference to GHCR.
OneBranchPipelines/stages/wheel-installation-test-stage.yml Removes ACR login and updates the wheel installation test container image reference to GHCR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-size: small Minimal code update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants