Conversation
There was a problem hiding this comment.
Pull request overview
This PR introduces a dedicated stress testing pipeline that triggers automatically after successful PR/CI package pipeline runs, decoupling stress tests from blocking PR merges. The stress tests now run asynchronously in a separate pipeline.
Key changes:
- Created a new standalone stress-tests-pipeline.yml that triggers on successful completion of upstream package pipelines
- Removed the
enableStressTestsparameter from all PR and CI pipelines - Updated stress test infrastructure to parse MDS package version from artifacts when not explicitly provided
- Added support for .NET 10.0 runtime in stress tests
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| eng/pipelines/stress-tests-pipeline.yml | Updated header formatting, renamed pipeline identifiers to be more descriptive (e.g., Public-ADO-PR-SqlClient-Package), replaced placeholder stage with actual stress test stage template |
| eng/pipelines/stages/stress-tests-ci-stage.yml | Removed displayName attributes from parameters, removed dependsOn parameter, added .NET 10.0 to default runtimes, fixed variable name casing (ConfigContent → configContent), updated template paths to use absolute paths with @self |
| eng/pipelines/jobs/stress-tests-ci-job.yml | Removed default: '' from required parameters, added mdsPackageVersion parameter with logic to parse version from artifact filename, updated .NET SDK to 10.0, added logic to download artifacts from triggering pipeline, added MdsPackageVersion property to all dotnet CLI commands |
| eng/pipelines/sqlclient-pr-project-ref-pipeline.yml | Removed enableStressTests parameter |
| eng/pipelines/sqlclient-pr-package-ref-pipeline.yml | Removed enableStressTests parameter |
| eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml | Removed enableStressTests parameter |
| eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml | Removed enableStressTests parameter |
| eng/pipelines/dotnet-sqlclient-ci-core.yml | Removed enableStressTests parameter and the conditional stress test stage that depended on it |
23d23c3 to
22cb8c1
Compare
- Added initial placeholder pipeline entry point file. - Wired up the new top-level stress test pipeline to the existing stages/jobs. - Using human friendly triggering pipeline names. - Removed PR pipeline as upstream trigger. - When triggered manually, we must choose one of the upstream pipelines to use for artifact download. - Temporarily added PR-SqlClient-Package to help with PR-based testing. - Sorted template parameters alphabetically. - Added debugging for artifact details.
22cb8c1 to
9a44529
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 17 out of 17 changed files in this pull request and generated 8 comments.
Comments suppressed due to low confidence (1)
src/Microsoft.Data.SqlClient/tests/StressTests/StressTests.slnx:1
- This file has been emptied but not removed. An empty
.slnxis not a valid solution definition and can confuse tooling and contributors. If the solution is no longer used, delete the file; otherwise restore its<Solution>contents.
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 17 out of 17 changed files in this pull request and generated 3 comments.
You can also share your feedback on Copilot code review. Take the survey.
| value: $(Build.StagingDirectory)/dotnetArtifacts | ||
|
|
||
| # The top-level project file to build and run. | ||
| - name: project |
There was a problem hiding this comment.
The StressTests project(s) no longer use package references, so the whole pipeline becomes much simpler. We are now just building the top-level Runner project, which builds everything else transitively.
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## main #3867 +/- ##
==========================================
- Coverage 75.09% 68.17% -6.93%
==========================================
Files 280 275 -5
Lines 43830 66924 +23094
==========================================
+ Hits 32914 45623 +12709
- Misses 10916 21301 +10385
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 adds a dedicated stress pipeline, and removes stress testing from all other pipelines. The new pipeline is triggered by successful runs of the PR/CI project-reference pipelines. It will not prevent PRs from merging.
Testing
We won't be able to test this new pipeline due to limitations in Azure DevOps that require the YAML file exist on the default branch before you can create a pipeline. So we expect a follow-up PR to fine-tune things once the new stress-tests-pipeline.yml file merges to main.