Skip to content

Conversation

@gargsaumya
Copy link
Contributor

@gargsaumya gargsaumya commented Dec 15, 2025

Work Item / Issue Reference

AB#40989

GitHub Issue: #<ISSUE_NUMBER>


Summary

Syncing commit history between ado and github.

bewithgaurav and others added 22 commits October 9, 2025 09:39
#### AI description  (iteration 1)
#### PR Classification
This pull request fixes the build pipeline by updating the code signing step to list signed files in a platform-specific manner.

#### PR Summary
The update refines the YAML step to separate Windows and Linux/macOS file listing commands, ensuring proper output and compatibility for the Python Driver migration to 1ES.
- `OneBranchPipelines/steps/compound-esrp-code-signing-step.yml`: Replaced a single script block with two conditional blocks that use cmd commands for Windows and bash for Linux/macOS.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #38066
#### AI description  (iteration 1)
#### PR Classification
This PR fixes the build pipeline configuration by updating the code signing steps to sign only wheel files for official builds.

#### PR Summary
The changes update the build pipeline YAML files for Windows, Linux, and macOS to remove unnecessary binary signing steps and enforce signing of only wheel files. This streamlines the code signing process by:
- Modifying `build-windows-single-stage.yml` to remove DLL-specific signing parameters.
- Adjusting `build-linux-single-stage.yml` to omit non-wheel artifact signing and note that ELF files cannot be signed with Windows SignTool.
- Updating `build-macos-single-stage.yml` to remove Mach-O/dylib signing, noting the correctness for PyPI wheel distribution.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #38066
#### AI description  (iteration 1)
#### PR Classification
This pull request fixes the release pipeline to ensure compliant and streamlined publishing of private symbols while migrating to 1ES for the Python driver.

#### PR Summary
The changes update the build pipeline to correctly set up and execute symbol publishing tasks fulfilling compliance requirements and build pipeline migration.
- In `OneBranchPipelines/steps/symbol-publishing-step.yml`, the PowerShell task setting the AccountName was updated, the symbol upload wait time reduced, and an additional Azure CLI task was added to publish symbols to the Microsoft Symbol Publishing Service.
- In `OneBranchPipelines/stages/build-windows-single-stage.yml`, a new Boolean parameter `publishSymbols` was introduced to conditionally trigger the symbol publishing step.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #37472, #38066
#### AI description  (iteration 1)
#### PR Classification
This feature enhancement migrates both the official and dummy release pipelines to use 1ES in alignment with the linked work items.

#### PR Summary
This pull request introduces new release pipelines for mssql-python, removes obsolete documentation, and refactors symbol publishing steps to support the 1ES migration.
- `OneBranch_Learnings/`: Removed outdated documentation files.
- `OneBranchPipelines/dummy-release-pipeline.yml`: Added a new dummy/test release pipeline configured for ESRP dummy releases using Maven.
- `OneBranchPipelines/official-release-pipeline.yml`: Added a new official release pipeline designed for production releases to PyPI.
- `OneBranchPipelines/steps/symbol-publishing-step.yml`: Updated symbol publishing steps with enhanced PowerShell and Azure CLI integration.
- `OneBranchPipelines/build-release-package-pipeline.yml` and `OneBranchPipelines/stages/build-windows-single-stage.yml`: Adjusted variable references and removed legacy symbol publishing to align with the new pipelines.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #38067, #38068
Add the baseline and suppression file to guide Guardian.

The guide is found here https://eng.ms/docs/coreai/devdiv/one-engineering-system-1es/1es-docs/1es-pipeline-templates/features/sdlanalysis/baselines

The baseline and suppression file tell Guardian about the expected results of the scan.
For credential scanning, the signatures of the credentials are coded in the guardian files.

The files were downloaded from the failing build at https://sqlclientdrivers.visualstudio.com/mssql-python/_build/results?buildId=129570&view=results

The process is to run the pipeline which will cause the failure. After doing due diligence to the credentials and making sure that they are safe to have in the source code, the baseline and suppression files can be updated.

Related work items: #39894
Related work items: #39534
…lse CredScan alerts

#### AI description  (iteration 1)
#### PR Classification
This pull request is a bug fix that resolves configuration issues for APIScan and BinSkim.

#### PR Summary
The changes ensure correct file paths for APIScan on Windows and add necessary parameters for BinSkim analysis in the build pipeline.
- `OneBranchPipelines/variables/symbol-variables.yml`: Updated the API scan DLL and PDB paths to use backslashes for Windows compatibility.
- `OneBranchPipelines/build-release-package-pipeline.yml`: Added parameters to configure BinSkim with the analyze target, recursion flag, and log file path.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->
#### AI description  (iteration 2)
#### PR Classification
This pull request fixes pipeline configuration issues by disabling BinSkim for Ubuntu and macOS builds.

#### PR Summary
The changes update pipeline YAML files to disable the BinSkim security tool where it is not applicable, adjust variable declaration formats, and refine configuration comments.
- **`OneBranchPipelines/stages/build-linux-single-stage.yml`**: Reformats variable definitions and adds a template context to disable BinSkim for Linux with a clear justification.
- **`OneBranchPipelines/stages/build-macos-single-stage.yml`**: Revises variable declarations and inserts a template context to disable BinSkim for macOS with an appropriate explanation.
- **`OneBranchPipelines/build-release-package-pipeline.yml`**: Updates the APIScan section with modified comments and adds a justification for its disablement.
- **`tests/test_006_exceptions.py`**: Contains merge conflict markers, indicating unresolved conflict sections that require attention.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #40398
#### AI description  (iteration 1)
#### PR Classification
This pull request is a code migration and cleanup effort that overhauls the logging framework across the repository.

#### PR Summary
The changes replace the legacy logging system (including the removed `logging_config.py`) with a new, unified logging module and logger bridge for both Python and C++ code, improving performance, consistency, and coverage reporting.
- **`mssql_python/logging.py`**: Introduces a new logger module that defines logger APIs (debug/info/warning/error) and deprecates the old logging configuration.
- **`mssql_python/pybind/logger_bridge.cpp` and `.hpp`**: Add a new logger bridge to efficiently propagate C++ log messages to the Python logging system.
- **Core modules (e.g., connection, auth, pooling, cursor) and test files (e.g., tests for logging, performance, and integration)** have been updated to use the new logging API.
- Several obsolete files, including `logging_config.py`, `.config/SDL_CONFIGURATION.md`, and `unix_buffers.h`, were removed to clean up the codebase.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #40479
…uring Build

#### AI description  (iteration 1)
#### PR Classification
This pull request is a code improvement and cleanup that overhauls the logging system and updates build and test configurations.

#### PR Summary
The changes replace the legacy logging configuration with a new, unified logging infrastructure based on a dedicated `mssql_python/logging.py` module and a C++ logger bridge (`pybind/logger_bridge.cpp`/`logger_bridge.hpp`), and the modules throughout the codebase (e.g. connection, cursor, pooling, exceptions) now use the new logging macros instead of the old `logging_config.py` approach. In addition, the build pipelines (in `build-windows-single-stage.yml`) have been updated to download Windows Python ARM64 libraries from NuGet and several new performance, stress, and integration tests have been added or updated.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #40402
…Support, Security Compliance & Test Infrastructure

#### AI description  (iteration 1)
#### PR Classification
This PR modernizes the build pipeline to support multi-platform builds with enhanced security compliance and improved test isolation.

#### PR Summary
The changes update and refine the CI/CD pipeline infrastructure across Windows, Linux, and macOS to enable versioned support, integrated security scanning, and isolated testing.
- **`build-release-package-pipeline.yml`**: Revised template extensions and parameterization to drive cross-platform builds and enforce comprehensive SDL security scanning.
- **`build-linux-single-stage.yml`**: Introduced SQL Server container startup with robust looping for building and testing wheels (now including Python 3.14) to ensure isolated validations.
- **`build-windows-single-stage.yml`**: Added NuGet-based installation for Python 3.14 along with enhanced build, testing, and security scanning configurations for production-grade compliance.
- **`build-macos-single-stage.yml`**: Updated the universal2 binary build process with Colima-based Docker setup for SQL Server testing and integrated additional security and artifact publishing steps.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #40501
#### AI description  (iteration 1)
#### PR Classification
This pull request is a release update that introduces new features, bug fixes, and a breaking change.

#### PR Summary
The release notes for version 0.14.0 have been updated to highlight significant performance improvements, enhanced functionality, and critical bug fixes, and the project version has been bumped accordingly.
- `PyPI_Description.md`: Updated the release documentation to include new features (faster fetching, connection string validation, enhanced DECIMAL precision, comprehensive logging, connection attribute control, XML support) along with bug fixes and a breaking change on connection string validation.
- `setup.py`: Updated the version number from 0.13.1 to 0.14.0.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #40507
#### AI description  (iteration 1)
#### PR Classification
This PR performs a cleanup of release pipeline configurations by removing redundant parameters and standardizing log output.

#### PR Summary
The PR streamlines the YAML definitions for both dummy and official release pipelines by eliminating duplicate package version parameters and variables, updating default settings, and standardizing logging messages.
- `OneBranchPipelines/dummy-release-pipeline.yml`: Removed the redundant `packageVersion` parameter and its associated variables, changed the default `publishSymbols` value to `false`, and cleaned up logging statements by removing extra formatting and version printouts.
- `OneBranchPipelines/official-release-pipeline.yml`: Eliminated duplicate package version parameters and variables, and refined logging in release and dry run scripts by removing version messages and excess formatting.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #40517
#### AI description  (iteration 1)
#### PR Classification
This pull request is a bug fix that corrects the dummy release pipeline configuration to default to a non-official setup.

#### PR Summary
The changes update the dummy release pipeline to extend a non-official template and remove outdated TSA settings, ensuring consistency with the refactored release pipelines and preventing accidental production configurations.
- In `OneBranchPipelines/dummy-release-pipeline.yml`, the extension is switched from the official template (`v2/OneBranch.Official.CrossPlat.yml`) to the non-official template (`v2/OneBranch.NonOfficial.CrossPlat.yml`).
- In `OneBranchPipelines/dummy-release-pipeline.yml`, TSA configuration settings have been removed.
- In `OneBranchPipelines/dummy-release-pipeline.yml`, header comments and descriptions were updated to accurately reflect the non-official, testing-only nature of this pipeline.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #40517
#### AI description  (iteration 1)
#### PR Classification
Release update transitioning the driver from Public Preview to General Availability (GA) with version and documentation updates.

#### PR Summary
This pull request finalizes the GA release of the mssql‑python driver (version 1.0.0) by updating user-facing documentation, version metadata, and CI pipelines to support Python 3.14.
- **`PyPI_Description.md`**: Revised release notes to highlight the GA status and new features while removing Public Preview references.
- **`README.md`**: Updated authentication details, connection examples, and GA messaging to reflect production readiness.
- **`mssql_python/__init__.py` and `setup.py`**: Updated the driver version from 0.14.0 to 1.0.0.
- **Pipeline files** (`build-release-package-pipeline.yml`, `build-linux-single-stage.yml`): Enabled Python 3.14 builds for Windows, macOS, and Linux.
- **`ROADMAP.md`**: Streamlined the roadmap into a concise table of upcoming features.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #40559
Automated sync from GitHub main branch. This PR contains the latest changes from the public GitHub repository. Please review and merge to complete the sync.

Related work items: #40703
This PR introduces an automated daily pipeline to sync the public GitHub repository (microsoft/mssql-python) with our internal Azure DevOps repository.

## What's New
- **Pipeline**: `OneBranchPipelines/github-ado-sync.yml`
- **Schedule**: Runs daily at 5pm IST (11:30 UTC)
- **Automation**: Clones GitHub main, merges into ADO, creates PR with reviewers

## Key Features
- No manual sync needed - fully automated
- Secret scanning protection (blocks pushes with secrets)
- Timestamp-based branch naming (supports multiple runs/day)
- Auto conflict resolution (always takes GitHub version)
- OneBranch compliance checks enforced

## Testing
- Successfully tested with manual runs
- Verified secret scanning catches violations before ADO sync
- PR creation and reviewer assignment working correctly

----
#### AI description  (iteration 1)
#### PR Classification
Major feature release and extensive refactoring with new build, release, and pipeline integrations.

#### PR Summary
This pull request transitions mssql‑python from public preview to a generally available release by overhauling core driver components, enhancing logging and DBAPI compliance, and adding comprehensive OneBranch pipelines for building, testing, and releasing across Windows, macOS, and Linux.
- `mssql_python/`: Core modules such as `cursor.py`, `connection.py`, `exceptions.py` and `auth.py` have been refactored for improved error handling and DBAPI v2.0 compliance.
- New logging infrastructure is implemented in `mssql_python/logging.py` with robust singleton management and sensitive data sanitization.
- Extensive additions of pipeline definitions and variable files (e.g. in `/OneBranchPipelines/`, GitHub workflows, and CI/CD YAML files) to support cross‑platform automated builds, code coverage, and dummy/official release processes.
- New helper modules for connection string parsing and building (`connection_string_parser.py`, `connection_string_builder.py`) have been added.
- Documentation files (`README.md`, `ROADMAP.md`, `CONTRIBUTING.md`) have been updated to reflect GA status and expanded platform support, while obsolete files (like `bcp_options.py`) have been removed.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->

Related work items: #40703
Copilot AI review requested due to automatic review settings December 15, 2025 11:38
Copy link
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.

Copilot wasn't able to review any files in this pull request.


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

@gargsaumya gargsaumya changed the title Saumya/sync new Fix: Ado github sync Dec 15, 2025
@gargsaumya gargsaumya changed the title Fix: Ado github sync Fix: Syncing commit history between ado and github Dec 15, 2025
@gargsaumya
Copy link
Contributor Author

Not needed anymore, closing this.

@gargsaumya gargsaumya closed this Dec 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants