PR Pipeline - Azure + AE#4338
Conversation
# Conflicts: # src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/SqlBulkCopyTest.cs
There was a problem hiding this comment.
Pull request overview
This PR extends the new PR validation pipeline to run additional SqlClient manual test coverage in CI-like PR validation scenarios, specifically adding Azure SQL manual test runs and an Always Encrypted (AE) manual test run in Release configuration.
Changes:
- Adds SqlClient manual test set
123execution against Azure SQL, alongside existing localhost manual coverage. - Adds a localhost Always Encrypted manual test run (
TestSet=AE) forced to Release configuration. - Simplifies PR pipeline templates by removing PR-specific wrapper step templates and switching PR jobs/stages to directly use the shared
eng/pipelines/common/steps/*templates.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Microsoft.Data.SqlClient/tests/ManualTests/BulkCopy/CopyAllFromReaderConnectionCloseOnEventAsync.cs | Skips this BulkCopy manual test on Azure servers via an additional IsNotAzureServer condition. |
| eng/pipelines/pr/stages/test-stages.yml | Adds Azure manual test execution for set 123, and adds localhost AE manual execution (AE) in Release mode. |
| eng/pipelines/pr/jobs/test-sqlclientmanual-job.yml | Parameterizes manual test jobs by config/test set; adds conditional local server setup and passes TestSet to build.proj. |
| eng/pipelines/pr/jobs/test-buildproj-job.yml | Updates job bootstrap to use shared install/restore steps and inlines the build.proj test invocation. |
| eng/pipelines/pr/stages/pack-stage.yml | Replaces PR-specific dotnet install wrapper with shared common install + tool restore steps. |
| eng/pipelines/pr/steps/pack-buildproj-step.yml | Renames the task display name to clarify it performs packing. |
| eng/pipelines/pr/steps/test-buildproj-step.yml | Deleted (previously a PR-specific wrapper step for running build.proj test targets). |
| eng/pipelines/pr/steps/install-dotnet.yml | Deleted (previously a PR-specific wrapper around the common install-dotnet and tool restore steps). |
| eng/pipelines/pr/steps/build-buildproj-step.yml | Deleted (previously a PR-specific wrapper step for running build.proj build targets). |
| - task: DotNetCoreCLI@2 | ||
| displayName: 'Test: ${{ parameters.packageShortName }}${{ parameters.testProject }}' | ||
| inputs: | ||
| command: build | ||
| projects: build.proj |
| - task: DotNetCoreCLI@2 | ||
| displayName: 'Test: SqlClientManual ${{ parameters.testSet }}' | ||
| inputs: | ||
| command: build | ||
| projects: build.proj |
| [Trait("Category", "flaky")] // Doesn't work well on Azure. | ||
| [ConditionalTheory(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] | ||
| [MemberData(nameof(SqlTypeTestData), DisableDiscoveryEnumeration = true)] |
| [Trait("Category", "flaky")] // Doesn't work well on Azure. | ||
| [ConditionalTheory(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] | ||
| [MemberData(nameof(SqlTypeTestData), DisableDiscoveryEnumeration = true)] |
| # Execute the test target | ||
| - task: DotNetCoreCLI@2 | ||
| displayName: 'Test: ${{ parameters.packageShortName }}${{ parameters.testProject }}' | ||
| inputs: | ||
| command: build | ||
| projects: build.proj | ||
| verbosity: detailed | ||
| arguments: >- | ||
| -t:Test${{ parameters.packageShortName }}${{ parameters.testProject }} | ||
| -p:Configuration=${{ parameters.buildConfiguration }} | ||
| -p:BuildNumber='$(Build.BuildNumber)' | ||
| -p:BuildSuffix='${{ parameters.buildSuffix }}' | ||
| -p:TestFramework=${{ parameters.platformDotnet }} |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4338 +/- ##
==========================================
- Coverage 66.69% 63.88% -2.81%
==========================================
Files 284 279 -5
Lines 43238 66069 +22831
==========================================
+ Hits 28836 42210 +13374
- Misses 14402 23859 +9457
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
| inputs: | ||
| command: build | ||
| projects: build.proj | ||
| verbosity: detailed |
There was a problem hiding this comment.
I think we want a top-level parameter for this (like the other pipelines), and default to normal.
Description
This PR adds to the PR pipeline in the previous PR #4308 and adds the following test jobs:
Testing