Conversation
There was a problem hiding this comment.
Pull request overview
Final cleanup pass for the Azure split work, focusing on small code tidy-ups and pipeline/template adjustments for Azure/AKV/signing/PR validation.
Changes:
- Minor test/source cleanup (namespace alignment, formatting, retry-after millisecond conversion).
- Pipeline/template refactors to consolidate
.NET SDKinstallation and simplify signing/package validation steps. - Updates to PR validation and CodeQL trigger configuration.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Microsoft.Data.SqlClient/tests/UnitTests/Microsoft/Data/SqlClient/SqlAuthenticationProviderManagerTests.cs | Aligns unit test namespace/formatting with the rest of the UnitTests tree. |
| src/Microsoft.Data.SqlClient.Extensions/Azure/test/StringExtensions.cs | Adds XML docs for Empty() (currently attached to the wrong symbol). |
| src/Microsoft.Data.SqlClient.Extensions/Azure/src/ActiveDirectoryAuthenticationProvider.cs | Fixes retry-after delta conversion to use total milliseconds; whitespace cleanup. |
| src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/SqlAuthenticationProviderException.cs | Formatting-only change for ternary expression. |
| eng/pipelines/steps/compound-build-akv-step.yml | Removes redundant SDK install step from the AKV compound step. |
| eng/pipelines/sqlclient-pr-project-ref-pipeline.yml | Adjusts PR branch include pattern for dev/*. |
| eng/pipelines/sqlclient-pr-package-ref-pipeline.yml | Adjusts PR branch include pattern for dev/*. |
| eng/pipelines/jobs/test-azure-package-ci-job.yml | YAML formatting cleanup (folded block style) for debug output step. |
| eng/pipelines/jobs/build-akv-official-job.yml | Adds explicit .NET SDK install before AKV build/analyzers. |
| eng/pipelines/dotnet-sqlclient-signing-pipeline.yml | Updates artifact folder naming and simplifies validation job invocation. |
| eng/pipelines/common/templates/steps/code-analyze-step.yml | Changes analyzer MSBuild invocation to explicitly target BuildAllConfigurations. |
| eng/pipelines/common/templates/steps/build-all-configurations-signed-dlls-step.yml | Removes redundant SDK install from this step template. |
| eng/pipelines/common/templates/jobs/validate-signed-package-job.yml | Simplifies parameters and inlines the artifact download step. |
| eng/pipelines/common/templates/jobs/build-signed-package-job.yml | Switches to pwsh, installs SDK, passes Abstractions version property, and sets build-type output variable (currently broken). |
| .github/workflows/codeql.yml | Updates CodeQL triggers/comments (push trigger now unscoped). |
src/Microsoft.Data.SqlClient.Extensions/Azure/test/StringExtensions.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Azure/src/ActiveDirectoryAuthenticationProvider.cs
Outdated
Show resolved
Hide resolved
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3917 +/- ##
==========================================
- Coverage 74.53% 67.90% -6.64%
==========================================
Files 266 260 -6
Lines 42915 65724 +22809
==========================================
+ Hits 31987 44627 +12640
- Misses 10928 21097 +10169
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
25590be to
ad7ea2f
Compare
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Connection/SqlConnectionInternal.cs
Outdated
Show resolved
Hide resolved
- Addressed comments from Step 3 PR.
- Addressed Copilot comments from Step 3 PR.
a0c896b to
26031e4
Compare
|
@paulmedynski any updates on the status of preview 4? |
|
Preview 4 will be pushed back, and likely combined with Preview 5. There is still significant infrastructure/engineering work to do for the new Abstractions and Azure packages. Meeting this week to decide on new dates/milestones/etc. |
|
Thanks for the update |
src/Microsoft.Data.SqlClient.Extensions/Azure/src/ActiveDirectoryAuthenticationProvider.cs
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Azure/src/ActiveDirectoryAuthenticationProvider.cs
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Connection/SqlConnectionInternal.cs
Show resolved
Hide resolved
- Addressed comments in the PR.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
eng/pipelines/common/templates/jobs/validate-signed-package-job.yml:84
- The
packageTypeparameter was removed from the template, but PowerShell scripts at lines 76 and 80 still reference the undefined$packageTypevariable. Since the parameter's default was 'both', the scripts should either:
- Remove the conditionals and always verify both dll and pdb (nuget verify for .nupkg and .snupkg), or
- Define a hardcoded variable at the start of the script like
$packageType = 'both'
Without this fix, the nuget verify commands will not execute because $packageType will be null/empty.
- powershell: |
Write-Host "--------------------------------------------------"
Write-Host "This will verify the artifact signature" -ForegroundColor Green
Write-Host "--------------------------------------------------"
if ($packageType -eq 'dll' -or $packageType -eq 'both')
{
nuget verify -All $(pathToDownloadedNuget)\*.nupkg
}
if ($packageType -eq 'pdb' -or $packageType -eq 'both')
{
nuget verify -All $(pathToDownloadedNuget)\*.snupkg
}
displayName: 'Verify nuget signature'
- Addressed Copilot comments.
- Fixed nuget verification steps.
|
@paulmedynski Great work with the Azure split 💯. I noticed that SqlClient still carries dependencies on As part of the ongoing Azure Split initiative, is there a plan to move this provider to the Azure extensions package? This would significantly reduce the dependency footprint for users not utilizing Always Encrypted with Azure Attestation |
|
@PauloHMattos - Yes, that is a later phase of work that we will be exploring. |
|
@paulmedynski Congrats! Any chance to test this from a local pipeline package? |
|
@ErikEJ - Here's the CI run that produced the packages related to this PR: You will need to download the following packages:
Note that I haven't had a chance to vet any of these or try them out in a sample app myself yet. However, the package-reference-based tests for the Azure package do use the Abstractions and MDS NuGet packages - so there's hope! For example, here is the sibling package-based CI run: https://sqlclientdrivers.visualstudio.com/public/_build/results?buildId=139596&view=results I can see the Azure tests pulling in the Abstractions and MDS packages locally:
And then tests like this one are calling MDS APIs which use the Azure package implementation to acquire Entra ID tokens: Please use the above artifacts and let me know how it goes! You can start a new Discussion or open an Issue if you run into any problems. |
|
@paulmedynski Thanks, I have created a couple of issues |
Description
This PR includes any remaining cleanup:
PR series:
Testing