Skip to content

FIX: Finalize Conda build and release workflows - #842

Open
Gaurav Sharma (bewithgaurav) wants to merge 3 commits into
mainfrom
bewithgaurav/fix-conda-matrix-arm64-cross-build
Open

Gaurav Sharma (bewithgaurav) wants to merge 3 commits into
mainfrom
bewithgaurav/fix-conda-matrix-arm64-cross-build

Conversation

@bewithgaurav

@bewithgaurav Gaurav Sharma (bewithgaurav) commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

AB#48877

Summary

Sync the final ADO Conda fixes: Python matrix isolation, Windows ARM64 cross-builds, and the verified publisher/rehearsal workflow. Preserve provenance, native audits, and credential safeguards with focused regression coverage.

Validation

924 tests passed. Pinned Black and YAML/PowerShell syntax checks passed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

PR Performance Report

✅ No regression detected

No consistent slowdowns detected across all 2 environments.

0 IMPROVEMENTS 0 SLOWDOWNS 2/2 ENVIRONMENTS

Coverage: 2 of 2 environments completed. Advisory result; does not block merging.

Performance diagnostics

Phase times are inclusive diagnostics and must not be added together. They identify where measured time changed, not why it changed.

No affected phases or call-count changes were recorded.

All database tasks and timings

Unix / SQL Server 2022

Database task Before After Paired change Result
Connection opening 10.521 ms 10.598 ms +0.7% no signal
SELECT queries 1.078 ms 1.127 ms +5.0% no signal
Row insertion 34.737 ms 34.370 ms -1.1% no signal
Executemany inserts 156.916 ms 154.564 ms +0.3% no signal
Fetch-all queries 120.120 ms 119.661 ms +1.1% no signal
Row-by-row fetching 14.190 ms 14.208 ms -0.8% no signal
Batched row fetching 117.074 ms 119.480 ms +1.9% no signal
Transaction commit and rollback 115.702 ms 118.744 ms +4.3% no signal
Arrow row fetching 92.102 ms 94.678 ms +2.3% no signal
100,000-row insertion 442.583 ms 437.467 ms -0.6% no signal
Row fetching in batches of 100 121.714 ms 120.053 ms -1.5% no signal
Row fetching in batches of 10,000 137.203 ms 135.543 ms -5.4% no signal
Repeated positional queries 33.862 ms 33.557 ms -0.6% no signal
Repeated named-parameter queries 36.449 ms 35.387 ms -1.8% no signal
Legacy 100,000-row insertion 347.735 ms 348.932 ms +1.4% no signal
Insertion with explicit input sizes 489.586 ms 490.264 ms -1.1% no signal
Joined aggregation queries 176.003 ms 174.553 ms -0.4% no signal
Large joined-result fetching 194.768 ms 184.200 ms -6.0% no signal
1.2-million-row fetching 3512.728 ms 3521.318 ms -0.2% no signal
Common table expression queries 5.340 ms 5.434 ms +2.3% no signal
256 KiB VARCHAR(MAX) / fetchall() 1.303 ms 1.262 ms +1.8% no signal
10,000 scalar values / fetchval() (debug disabled) 104.332 ms 106.614 ms +1.5% no signal

Unix / SQL Server 2025

Database task Before After Paired change Result
Connection opening 97.172 ms 99.475 ms +2.2% no signal
SELECT queries 1.065 ms 1.022 ms +1.7% no signal
Row insertion 33.814 ms 33.770 ms -0.3% no signal
Executemany inserts 150.803 ms 149.113 ms -1.1% no signal
Fetch-all queries 121.347 ms 120.488 ms -2.1% no signal
Row-by-row fetching 14.468 ms 14.528 ms -0.2% no signal
Batched row fetching 116.840 ms 116.335 ms -0.4% no signal
Transaction commit and rollback 112.518 ms 111.754 ms -0.4% no signal
Arrow row fetching 94.108 ms 93.823 ms -0.3% no signal
100,000-row insertion 462.106 ms 428.017 ms -5.8% no signal
Row fetching in batches of 100 121.444 ms 121.369 ms +0.8% no signal
Row fetching in batches of 10,000 127.866 ms 133.783 ms +12.4% no signal
Repeated positional queries 32.970 ms 32.904 ms -0.1% no signal
Repeated named-parameter queries 35.479 ms 35.501 ms +2.7% no signal
Legacy 100,000-row insertion 348.657 ms 351.407 ms +0.8% no signal
Insertion with explicit input sizes 492.526 ms 483.220 ms -3.0% no signal
Joined aggregation queries 161.228 ms 160.502 ms -0.5% no signal
Large joined-result fetching 174.548 ms 174.961 ms -1.3% no signal
1.2-million-row fetching 3592.145 ms 3579.831 ms -1.7% no signal
Common table expression queries 5.028 ms 5.034 ms +0.5% no signal
256 KiB VARCHAR(MAX) / fetchall() 1.469 ms 1.474 ms +0.3% no signal
10,000 scalar values / fetchval() (debug disabled) 106.865 ms 106.982 ms +0.1% no signal
Build and measurement details

ADO build 182581

PR head: ca6ceace4149a0929aebbb6a91cc6ab494d31ec6
Base: d7a4a9928d00ebd88fcfae5a3fdd4dc5c5ae7d46
Measured merge: 5c3b12fe891ce3005a08d31b22ac7ec5d669790f

  • Unix / SQL Server 2022: Python 3.12.3, x86_64, SQL 16.0.4305.5; 5 paired comparisons and 1 warmup.
  • Unix / SQL Server 2025: Python 3.12.3, x86_64, SQL 17.0.5015.4; 5 paired comparisons and 1 warmup.

A consistent change requires more than 20% median paired movement, at least 1 ms between the median runtimes, and at least 80% of pairs exceeding the relative threshold in the same direction. A slowdown without enough pair agreement is reported as inconsistent.

The displayed change is the median of paired before-and-after ratios. It is not recalculated from the two displayed median runtimes.

Both revisions use profiling-enabled builds on the same agent and database, with alternating order and discarded warmups. Results are diagnostic and do not represent production-wheel latency.

Raw samples and logs are attached to the ADO run as profiler-* artifacts.

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.

🟢 Approval recommended

The targeted fixes are consistent, documented, and covered by focused regression tests.

0 open findings

What changed in this PR

Corrects Conda matrix propagation and Windows ARM64 cross-build targeting.

Changes:

  • Isolates POSIX Python matrix variables.
  • Uses target_platform while keeping Windows builds native.
  • Adds documentation and regression coverage.
File Description
OneBranchPipelines/​steps/​conda-build-validate-step-posix.yml Isolates the Python matrix input.
eng/​conda_tools/​build.py Separates Windows build and target platforms.
eng/​conda_tools/​environment.py Documents build/verification environment behavior.
conda/​README.md Documents cross-build and matrix handling.
tests/​test_027_conda_release_metadata.py Tests POSIX matrix propagation.
tests/​test_034_conda_verify_cwd.py Tests build and verification environments.

🧠 Review effort: Balanced


💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

gargsaumya
gargsaumya previously approved these changes Oct 13, 2026
Port the remaining final Conda changes from ADO c436c39ba5080bfdde4fb7298e07846638ba76e2 while preserving the existing build fixes and unrelated GitHub source versions. Keep focused regression coverage for the matrix and publisher credential boundaries.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 13, 2026 16:20
@github-actions github-actions Bot added pr-size: large Substantial code update and removed pr-size: medium Moderate update size labels Oct 13, 2026
@jahnvi480 Jahnvi Thakkar (jahnvi480) changed the title FIX: Correct Conda Python matrix and Windows ARM64 cross-build FIX: Finalize Conda build and release workflows Oct 13, 2026

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.

🟡 Changes recommended

The publisher crosses container boundaries incorrectly, redirect suppression is ineffective, and major release-pipeline changes are absent from the stated scope.

3 open findings

🧠 Review effort: Balanced

Comment thread OneBranchPipelines/steps/conda-publish-step.yml
Comment thread eng/conda_tools/publication.py Outdated
Comment thread OneBranchPipelines/conda-release-pipeline.yml
Override request call-time defaults so Requests Session.get cannot re-enable redirects. Extend the existing focused rehearsal regression to cover its redirect default.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

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.

🔵 Needs a closer look

The production release, credential boundary, and hosted OneBranch container behavior require final human validation.

2 open findings
1 resolved since last review

🧠 Review effort: Balanced

@github-actions

Copy link
Copy Markdown

📊 Code Coverage Report

🔥 Diff Coverage

100%


🎯 Overall Coverage

85%


📈 Total Lines Covered: 9443 out of 11092
📁 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.performance_counter.hpp: 0.7%
mssql_python.pybind.logger_bridge.cpp: 57.9%
mssql_python.pybind.ddbc_bindings.h: 62.6%
mssql_python.pybind.logger_bridge.hpp: 70.8%
mssql_python.pybind.connection.connection_pool.cpp: 82.3%
mssql_python.pybind.connection.connection.cpp: 83.1%
mssql_python.logging.py: 86.2%
mssql_python.pooling.py: 90.1%
mssql_python.pybind.fetch_temporal.hpp: 92.1%
mssql_python.cursor.py: 92.5%

🔗 Quick Links

⚙️ Build Summary 📋 Coverage Details

View Azure DevOps Build

Browse Full Coverage Report

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

Labels

pr-size: large Substantial code update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants