Skip to content

Commit 1d5f970

Browse files
FEAT: Dummy Release Pipeline & Release 0.5.0 things (#84)
### Summary This pull request introduces updates to the Python driver for Microsoft SQL Server, including enhancements to its functionality, release pipeline configurations, and versioning. Key changes include transitioning the driver to Public Preview, adding macOS support, implementing connection pooling, and updating release pipelines for better distribution management. ### Updates to driver functionality: * [`PyPI_Description.md`](diffhunk://#diff-5236254592b2fea0773f17424b16acf82e3aa351ad8bae33871de5c98eb76eedL5-R19): Updated the documentation to announce the Public Preview release, highlighting new features such as macOS support for ARM-based systems and a robust connection pooling system for improved performance. ### Release pipeline updates: * [`eng/pipelines/dummy-release-pipeline.yml`](diffhunk://#diff-de3eb3d456dcb54748a65dfec8142a203b22d898a7f95930cfaffc5557d8d134R1-R48): Added a new release pipeline configuration (`mssql-python-official-release-pipeline`) to handle ESRP package distribution, including steps for downloading artifacts and releasing packages via ESRP. * [`eng/pipelines/official-release-pipeline.yml`](diffhunk://#diff-f296aaefe400fe34ca36f70a6678007397eeda60a5d3edde7594389f2391cc6fL30-R47): Reactivated and updated the ESRP release task for PyPI package distribution, ensuring proper configuration for publishing. ### Versioning update: * [`setup.py`](diffhunk://#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7L96-R96): Updated the version of the `mssql-python` package from `0.1.6` to `0.5.0`, reflecting the transition to Public Preview and the inclusion of significant new features. ### Issue Reference Fixes [AB#37751](https://sqlclientdrivers.visualstudio.com/c6d89619-62de-46a0-8b46-70b92a84d85e/_workitems/edit/37751) ### Checklist - [x] **Tests Passed** (if applicable) - [x] **Code is formatted** - [x] **Docs Updated** (if necessary) ### Testing Performed <!-- How was this fix tested? --> - [x] Unit Tests ### Additional Notes <!-- Any extra details or related links --> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent 9259b48 commit 1d5f970

File tree

4 files changed

+77
-26
lines changed

4 files changed

+77
-26
lines changed

PyPI_Description.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,23 @@
22

33
This is a new Python driver for Microsoft SQL Server currently in Alpha phase.
44

5-
## Alpha Version Release
5+
## Public Preview Release
66

7-
We are excited to announce the release of the alpha version of our driver. This marks a significant milestone in our development journey. While this version is still in the early stages, it includes the foundational code and initial logic that will drive future enhancements.
7+
We are making progress - The Public Preview of our driver is now available! This marks a significant milestone in our development journey. While we saw a few early adopters of our alpha release, we are introducing the following functionalities to support your applications in a more robust and reliable manner.
88

99
### What's Included:
1010

11-
- Basic functionality to get you started.
12-
- Initial implementation of core features.
13-
- Placeholder for future improvements and updates.
11+
- Everything from alpha
12+
- macOS Support: The mssql-python driver now supports macOS on ARM-based systems, enabling seamless development on Apple Silicon (M-series) devices. This milestone strengthens our cross-platform capabilities—and we’re just getting started. Linux support is on the horizon!
13+
- Connection Pooling: We've introduced a robust and configurable connection pooling system designed to significantly enhance performance and optimize resource utilization. This feature ensures more efficient management of database connections, especially under high-load scenarios
1414

1515
For more information, please visit the project link on Github: https://github.com/microsoft/mssql-python
1616

1717
### What's Next:
1818

19-
As we continue to develop and refine the driver, you can expect regular updates that will introduce new features, optimizations, and bug fixes. We encourage you to provide feedback and report any issues you encounter, as this will help us improve the driver for the final release.
19+
As we continue to develop and refine the driver, you can expect regular updates that will introduce new features, optimizations, and bug fixes. We encourage you to contribute, provide feedback and report any issues you encounter, as this will help us improve the driver for the final release.
2020

2121
### Stay Tuned:
2222

2323
We appreciate your interest and support in this project. Stay tuned for more updates and enhancements as we work towards delivering a robust and fully-featured driver in coming months.
24-
Thank you for being a part of our journey!
24+
Thank you for being a part of our journey!
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: mssql-python-official-release-pipeline
2+
3+
variables:
4+
- group: 'ESRP Federated Creds (AME)'
5+
6+
jobs:
7+
- job: ReleaseESRPPackage
8+
displayName: 'Release ESRP Package'
9+
pool:
10+
vmImage: 'windows-latest'
11+
12+
steps:
13+
- task: DownloadPipelineArtifact@2
14+
inputs:
15+
buildType: 'specific'
16+
project: '$(System.TeamProject)'
17+
definition: 2162
18+
buildVersionToDownload: 'latest'
19+
branchName: '$(Build.SourceBranch)'
20+
artifactName: 'mssql-python-wheels-dist'
21+
targetPath: '$(Build.SourcesDirectory)\dist'
22+
displayName: 'Download release wheel files artifact from latest successful run on main branch'
23+
24+
# Show content of the downloaded artifact
25+
- script: |
26+
echo "Contents of the dist directory:"
27+
dir "$(Build.SourcesDirectory)\dist"
28+
displayName: 'List contents of dist directory'
29+
30+
- task: EsrpRelease@9
31+
displayName: 'ESRP Release'
32+
inputs:
33+
connectedservicename: '$(ESRPConnectedServiceName)'
34+
usemanagedidentity: true
35+
keyvaultname: '$(AuthAKVName)'
36+
signcertname: '$(AuthSignCertName)'
37+
clientid: '$(EsrpClientId)'
38+
Intent: 'PackageDistribution'
39+
# Changing content type to Maven release (NOT PyPI) since we want to do dummy release
40+
# for ESRP testing purposes, not for actual PyPI distribution.
41+
# This is a workaround to allow ESRP to process the release without actual PyPI content
42+
# and to avoid ESRP validation errors.
43+
ContentType: 'Maven'
44+
ContentSource: 'Folder'
45+
FolderLocation: '$(Build.SourcesDirectory)/dist'
46+
WaitForReleaseCompletion: true
47+
Owners: '$(owner)'
48+
Approvers: '$(approver)'
49+
ServiceEndpointUrl: 'https://api.esrp.microsoft.com'
50+
MainPublisher: 'ESRPRELPACMAN'
51+
DomainTenantId: '$(DomainTenantId)'

eng/pipelines/official-release-pipeline.yml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,21 @@ jobs:
2727
dir "$(Build.SourcesDirectory)\dist"
2828
displayName: 'List contents of dist directory'
2929
30-
# - task: EsrpRelease@9
31-
# displayName: 'ESRP Release'
32-
# inputs:
33-
# connectedservicename: '$(ESRPConnectedServiceName)'
34-
# usemanagedidentity: true
35-
# keyvaultname: '$(AuthAKVName)'
36-
# signcertname: '$(AuthSignCertName)'
37-
# clientid: '$(EsrpClientId)'
38-
# Intent: 'PackageDistribution'
39-
# ContentType: 'PyPI'
40-
# ContentSource: 'Folder'
41-
# FolderLocation: '$(Build.SourcesDirectory)/dist'
42-
# WaitForReleaseCompletion: true
43-
# Owners: '$(owner)'
44-
# Approvers: '$(approver)'
45-
# ServiceEndpointUrl: 'https://api.esrp.microsoft.com'
46-
# MainPublisher: 'ESRPRELPACMAN'
47-
# DomainTenantId: '$(DomainTenantId)'
30+
- task: EsrpRelease@9
31+
displayName: 'ESRP Release'
32+
inputs:
33+
connectedservicename: '$(ESRPConnectedServiceName)'
34+
usemanagedidentity: true
35+
keyvaultname: '$(AuthAKVName)'
36+
signcertname: '$(AuthSignCertName)'
37+
clientid: '$(EsrpClientId)'
38+
Intent: 'PackageDistribution'
39+
ContentType: 'PyPI'
40+
ContentSource: 'Folder'
41+
FolderLocation: '$(Build.SourcesDirectory)/dist'
42+
WaitForReleaseCompletion: true
43+
Owners: '$(owner)'
44+
Approvers: '$(approver)'
45+
ServiceEndpointUrl: 'https://api.esrp.microsoft.com'
46+
MainPublisher: 'ESRPRELPACMAN'
47+
DomainTenantId: '$(DomainTenantId)'

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ def finalize_options(self):
9696

9797
setup(
9898
name='mssql-python',
99-
version='0.1.6',
99+
version='0.5.0',
100100
description='A Python library for interacting with Microsoft SQL Server',
101101
long_description=open('PyPI_Description.md', encoding='utf-8').read(),
102102
long_description_content_type='text/markdown',

0 commit comments

Comments
 (0)