Skip to content

CHORE: Update test matrix - upgrade Ubuntu 22.04 to 24.04, add Python 3.14 to macOS#591

Open
gargsaumya wants to merge 6 commits into
mainfrom
saumya/update-test-matrix
Open

CHORE: Update test matrix - upgrade Ubuntu 22.04 to 24.04, add Python 3.14 to macOS#591
gargsaumya wants to merge 6 commits into
mainfrom
saumya/update-test-matrix

Conversation

@gargsaumya
Copy link
Copy Markdown
Contributor

@gargsaumya gargsaumya commented May 19, 2026

Work Item / Issue Reference

AB#45036
AB#45037

GitHub Issue: #<ISSUE_NUMBER>


Summary

This pull request updates the CI pipeline and related configurations to support newer versions of Python and Ubuntu. The main focus is on upgrading the Python versions used for builds and testing, and updating Ubuntu environments from 22.04 to 24.04. These changes ensure continued compatibility and take advantage of improvements in the latest language and OS releases.

Python version upgrades:

  • Updated the supported Python versions in common-variables.yml and pyproject.toml to include 3.11, 3.12, 3.13, and 3.14, removing older versions. [1] [2]
  • Modified the PR validation pipeline to dynamically select the Python version for SQL Server jobs and added explicit support for Python 3.13 and 3.14 in the matrix.

Ubuntu version upgrades:

  • Changed all pipeline jobs and matrix entries to use ubuntu:24.04 instead of ubuntu:22.04 for both x64 and ARM64 builds. [1] [2]
  • Updated URLs for Microsoft repository configuration and package lists to target Ubuntu 24.04, ensuring compatibility with the new OS version. [1] [2] [3]

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 performance improvements
PERF: (short-description)

For release related changes, without any feature changes
RELEASE: #<RELEASE_VERSION> (short-description)

Contribution Guidelines

External contributors:

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
    -->

Copilot AI review requested due to automatic review settings May 19, 2026 08:52
@gargsaumya gargsaumya changed the base branch from main to saumya/upgrade-odbc May 19, 2026 08:53
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the CI test matrix to drop EOL Python 3.10, add Python 3.14, upgrade Ubuntu base images from 22.04 to 24.04, and expand macOS Python coverage to test both 3.13 and 3.14.

Changes:

  • Bump Python versions: drop 3.10, add 3.14 in PYTHON_VERSIONS and Black target-version.
  • Upgrade Ubuntu Docker images and Microsoft package repo URLs from 22.04 to 24.04.
  • Parameterize macOS Python version per matrix entry (SQL2022→3.13, SQL2025→3.14).

Reviewed changes

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

File Description
pyproject.toml Update Black target-version to py311–py314.
OneBranchPipelines/variables/common-variables.yml Update PYTHON_VERSIONS to 3.11–3.14.
eng/pipelines/pr-validation-pipeline.yml Parameterize macOS Python version per matrix; bump Ubuntu image and MS repo URLs to 24.04.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions github-actions Bot added the pr-size: small Minimal code update label May 19, 2026
@gargsaumya gargsaumya changed the base branch from saumya/upgrade-odbc to main May 25, 2026 06:49
@github-actions github-actions Bot added pr-size: large Substantial code update and removed pr-size: small Minimal code update labels May 25, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 25, 2026

📊 Code Coverage Report

🔥 Diff Coverage

100%


🎯 Overall Coverage

79%


📈 Total Lines Covered: 6820 out of 8591
📁 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.7%
mssql_python.row.py: 70.5%
mssql_python.pybind.logger_bridge.hpp: 70.8%
mssql_python.pybind.ddbc_bindings.cpp: 74.2%
mssql_python.__init__.py: 77.3%
mssql_python.pybind.connection.connection.cpp: 77.6%
mssql_python.ddbc_bindings.py: 79.6%
mssql_python.connection.py: 85.4%
mssql_python.logging.py: 85.5%

🔗 Quick Links

⚙️ Build Summary 📋 Coverage Details

View Azure DevOps Build

Browse Full Coverage Report

@gargsaumya gargsaumya changed the title CHORE: Update test matrix - drop Python 3.10, upgrade Ubuntu 22.04 to 24.04, add Python 3.14 to macOS CHORE: Update test matrix - upgrade Ubuntu 22.04 to 24.04, add Python 3.14 to macOS May 26, 2026
@github-actions github-actions Bot added pr-size: small Minimal code update and removed pr-size: large Substantial code update labels May 26, 2026
@subrata-ms
Copy link
Copy Markdown
Contributor

The changes looks fine to me but the validation of this change in CI/CD pipeline is failing due to dependency resolution. Please check that. You may need to include dependency packages for new version support.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

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

Comment on lines 745 to 749
# Download the package to configure the Microsoft repo
if [ '$(distroName)' = 'Ubuntu' ]; then
curl -sSL -O https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb
curl -sSL -O https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb
else
# Debian 12
Comment on lines 479 to +483
- task: UsePythonVersion@0
inputs:
versionSpec: '3.13'
versionSpec: '$(pythonVersion)'
addToPath: true
displayName: 'Use Python 3.13 on macOS'
displayName: 'Use Python $(pythonVersion) on macOS'
Comment thread pyproject.toml
[tool.black]
line-length = 100
target-version = ['py38', 'py39', 'py310', 'py311']
target-version = ['py311', 'py312', 'py313', 'py314']
Comment thread OneBranchPipelines/variables/common-variables.yml
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