dotnet / dotnet/sdk

Make dotnet-watch test execution conditional in PR validation

Open
#55,462 8 comments 1 reaction 3 assignees Claimed by @nagilson View on GitHub
Area-Watch cookie
Dominant language
C#
Stars
3.2k
Forks
1.3k
PR merge metrics
PR metrics pending

Description

### Is your feature request related to a problem? Please describe.
The [SDK PR test filtering design](https://github.com/dotnet/sdk/blob/main/documentation/project-docs/pr-test-filtering.md) allows us to run fewer tests on PRs by only running suites when relevant paths change, while still running full coverage on CI (`main`/release). This is intended to reduce Helix consumption and improve PR turnaround without reducing safety on non-PR builds.

For motivation, I pulled a recent successful SDK PR validation run targeting `main` (**build 1524953 / PR 55453**) and measured watch-related Helix work item duration across all legs. The cumulative wall-clock compute for watch-related tests in that run was **31m 38s** (about **31.6 minutes**).
Notable contributors in that run were:
- `Microsoft.AspNetCore.Watch.BrowserRefresh.Tests*`
- `Microsoft.DotNet.HotReload.Watch.Aspire.Tests*`

### Describe the solution you'd like
Adopt conditional PR test filtering for the dotnet-watch test surface so these tests run only when watch-related trigger paths change, while preserving full execution on non-PR CI builds.

This proposal follows the existing PR test-filtering design and uses declarative scope configuration as the source of truth.

Related to https://github.com/dotnet/sdk/issues/55203

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.