-
Notifications
You must be signed in to change notification settings - Fork 321
Azure Split - Step 4 - Cleanup #3917
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev/paul/azure/step3
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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). |
| /// <param name="str">The string to check; must not be null</param> | ||
| internal static class StringExtensions | ||
| { |
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The XML doc <param name="str"> is attached to the StringExtensions class, but param tags are only valid on members that have parameters (methods/constructors/indexers/delegates). This will generate an XML-doc compiler warning (and can fail builds if warnings are treated as errors). Move the <param> doc to the Empty(this string str) method (and optionally add <summary>/<returns> there).
| /// <param name="str">The string to check; must not be null</param> | |
| internal static class StringExtensions | |
| { | |
| internal static class StringExtensions | |
| { | |
| /// <summary> | |
| /// Determines whether the specified string is empty without performing a null check. | |
| /// </summary> | |
| /// <param name="str">The string to check; must not be null.</param> | |
| /// <returns><see langword="true"/> if the string is empty; otherwise, <see langword="false"/>.</returns> |
|
|
||
| - powershell: | | ||
| - pwsh: | | ||
| Write-Host "##vso[task.setvariable variable=CDP_BUILD_TYPE_COPY;isOutput=true]$($env:CDP_BUILD_TYPE)" |
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This step sets an output variable (isOutput=true), but it no longer has a name:. Downstream references use stageDependencies...outputs['GetBuildType.CDP_BUILD_TYPE_COPY'], which requires the step name to be GetBuildType. Add name: GetBuildType (keep displayName if desired) so the output can be consumed.
| Write-Host "##vso[task.setvariable variable=CDP_BUILD_TYPE_COPY;isOutput=true]$($env:CDP_BUILD_TYPE)" | |
| Write-Host "##vso[task.setvariable variable=CDP_BUILD_TYPE_COPY;isOutput=true]$($env:CDP_BUILD_TYPE)" | |
| name: GetBuildType |
| # Scan on pushes to the default branch and any protected branches. | ||
| push: | ||
| branches: [ "main", "feat/*", "dev/**/*" ] | ||
|
|
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
push: is now configured without a branches: filter, so CodeQL will run on pushes to all branches. That contradicts the comment (“default branch and any protected branches”) and can significantly increase CI load. Add an explicit push.branches filter (e.g., main, dev/**, feat/**) or update the comment/logic to match the intended scope.
| - dev/* | ||
| - feat/* | ||
| - main |
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This changes the PR trigger include pattern from dev/**/* to dev/*, which no longer matches nested dev branches like dev/foo/bar (Azure Pipelines glob semantics treat * as a single path segment). If nested dev/ branches are used, PR validation will stop running for them; consider using dev/** to preserve previous behavior.
| - dev/* | ||
| - feat/* | ||
| - main |
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This changes the PR trigger include pattern from dev/**/* to dev/*, which no longer matches nested dev branches like dev/foo/bar (Azure Pipelines glob semantics treat * as a single path segment). If nested dev/ branches are used, PR validation will stop running for them; consider using dev/** to preserve previous behavior.
| if (retryAfter.Delta.Value.TotalMilliseconds > int.MaxValue) | ||
| { | ||
| retryPeriod = int.MaxValue; | ||
| } | ||
| else | ||
| { | ||
| retryPeriod = Convert.ToInt32(retryAfter.Delta.Value.TotalMilliseconds); | ||
| } |
Copilot
AI
Jan 27, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both branches of this 'if' statement write to the same variable - consider using '?' to express intent better.
| if (retryAfter.Delta.Value.TotalMilliseconds > int.MaxValue) | |
| { | |
| retryPeriod = int.MaxValue; | |
| } | |
| else | |
| { | |
| retryPeriod = Convert.ToInt32(retryAfter.Delta.Value.TotalMilliseconds); | |
| } | |
| double totalMilliseconds = retryAfter.Delta.Value.TotalMilliseconds; | |
| retryPeriod = totalMilliseconds > int.MaxValue | |
| ? int.MaxValue | |
| : Convert.ToInt32(totalMilliseconds); |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev/paul/azure/step3 #3917 +/- ##
========================================================
- Coverage 69.78% 67.41% -2.38%
========================================================
Files 260 260
Lines 65694 65691 -3
========================================================
- Hits 45844 44284 -1560
- Misses 19850 21407 +1557
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:
|
Description
This PR includes any remaining cleanup:
PR series:
Testing