Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion OneBranchPipelines/build-release-package-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -130,9 +130,12 @@ parameters:
- name: linuxConfigs
type: object
default:
# manylinux (glibc-based) for x86_64 and ARM64
# manylinux_2_34 (glibc 2.34, AlmaLinux 9) for x86_64 and ARM64
- { tag: 'manylinux', arch: 'x86_64', platform: 'linux/amd64' }
Comment thread
gargsaumya marked this conversation as resolved.
Outdated
- { tag: 'manylinux', arch: 'aarch64', platform: 'linux/arm64' }
Comment thread
gargsaumya marked this conversation as resolved.
Outdated
# manylinux_2_28 (glibc 2.28, AlmaLinux 8 / RHEL 8 compatible) for x86_64 and ARM64
- { tag: 'manylinux_2_28', arch: 'x86_64', platform: 'linux/amd64' }
- { tag: 'manylinux_2_28', arch: 'aarch64', platform: 'linux/arm64' }
Comment thread
gargsaumya marked this conversation as resolved.
Outdated
# musllinux (musl-based) for x86_64 and ARM64
- { tag: 'musllinux', arch: 'x86_64', platform: 'linux/amd64' }
- { tag: 'musllinux', arch: 'aarch64', platform: 'linux/arm64' }
Expand Down
15 changes: 9 additions & 6 deletions OneBranchPipelines/stages/build-linux-single-stage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,10 +114,13 @@ stages:
- script: |
# Determine image based on LINUX_TAG and ARCH
# Images are mirrored weekly from Quay.io into tdslibrs.azurecr.io
# manylinux_2_34 = AlmaLinux 9 (glibc 2.34)
# musllinux_1_2 = Alpine-based (musl libc)
# manylinux_2_34 = AlmaLinux 9 (glibc 2.34)
# manylinux_2_28 = AlmaLinux 8 / RHEL 8 compatible (glibc 2.28)
# musllinux_1_2 = Alpine-based (musl libc)
if [[ "$(LINUX_TAG)" == "musllinux" ]]; then
IMAGE="tdslibrs.azurecr.io/import/python-build/musllinux_1_2_$(ARCH):latest"
elif [[ "$(LINUX_TAG)" == "manylinux_2_28" ]]; then
IMAGE="tdslibrs.azurecr.io/import/python-build/manylinux_2_28_$(ARCH):latest"
else
IMAGE="tdslibrs.azurecr.io/import/python-build/manylinux_2_34_$(ARCH):latest"
Comment thread
gargsaumya marked this conversation as resolved.
Outdated
fi
Expand All @@ -133,7 +136,7 @@ stages:
- script: |
set -euxo pipefail
export PATH=$PATH:`pwd`/docker
if [[ "$(LINUX_TAG)" == "manylinux" ]]; then
if [[ "$(LINUX_TAG)" == "manylinux" || "$(LINUX_TAG)" == "manylinux_2_28" ]]; then
docker exec build-$(LINUX_TAG)-$(ARCH) bash -lc '
set -euxo pipefail
if command -v dnf >/dev/null 2>&1; then
Expand Down Expand Up @@ -191,7 +194,7 @@ stages:
# Build wheels for all Python versions (3.10-3.14) and test each one
- script: |
set -euxo pipefail
if [[ "$(LINUX_TAG)" == "manylinux" ]]; then SHELL_EXE=bash; else SHELL_EXE=sh; fi
if [[ "$(LINUX_TAG)" == "manylinux" || "$(LINUX_TAG)" == "manylinux_2_28" ]]; then SHELL_EXE=bash; else SHELL_EXE=sh; fi
docker exec build-$(LINUX_TAG)-$(ARCH) $SHELL_EXE -lc 'mkdir -p /workspace/dist'

# Loop through all Python versions: build wheel -> test wheel -> repeat
Expand All @@ -201,7 +204,7 @@ stages:
echo "Building and testing $PYBIN on $(LINUX_TAG)/$(ARCH)"
echo "====================================================="

if [[ "$(LINUX_TAG)" == "manylinux" ]]; then
if [[ "$(LINUX_TAG)" == "manylinux" || "$(LINUX_TAG)" == "manylinux_2_28" ]]; then
# Manylinux (glibc-based) - use bash
docker exec -e PYBIN=$PYBIN -e SQL_IP=$(SQL_IP) -e DB_PASSWORD="$(DB_PASSWORD)" build-$(LINUX_TAG)-$(ARCH) bash -lc '
Comment thread
gargsaumya marked this conversation as resolved.
Outdated
set -euxo pipefail;
Expand Down Expand Up @@ -361,7 +364,7 @@ stages:
# Copy native .so bindings for artifact archival
echo "Copying .so bindings to host..."
mkdir -p "$(ob_outputDirectory)/bindings/$(LINUX_TAG)-$(ARCH)"
docker exec build-$(LINUX_TAG)-$(ARCH) $([[ "$(LINUX_TAG)" == "manylinux" ]] && echo bash -lc || echo sh -lc) '
docker exec build-$(LINUX_TAG)-$(ARCH) $([[ "$(LINUX_TAG)" == "manylinux" || "$(LINUX_TAG)" == "manylinux_2_28" ]] && echo bash -lc || echo sh -lc) '
OUT="/tmp/ddbc-out";
rm -rf "$OUT"; mkdir -p "$OUT";
find /workspace/mssql_python -maxdepth 1 -type f -name "*.so" -exec cp -v {} "$OUT"/ \; || true
Expand Down
Loading