microsoft / microsoft/aspire

[automated] Investigate renamed-file handling in selective PR CI

Open
#19,786 1 comment 0 reactions 0 assignees View on GitHub
area-engineering-systems triage:bot-seen
Dominant language
C#
Stars
6.3k
Forks
991
Avg merge
2d 15h
Merged PRs (30d)
196

Description

[automated] PR #19486 showed that a same-commit rename can expose the old path as an unmatched deletion and safely fall back to `ALL`.

The investigation found that exempting unmatched old paths is unsafe: a directory rule can have consumers beyond the moved file, and the destination can be ignored or removed by prefiltering. Either case could silently under-select tests. The selector should therefore retain the run-all fallback.

PR #19790 contains adjacent safety fixes found during the investigation. Both selector layers now share NUL-delimited diff parsing, literal backslashes are preserved, raw paths are escaped for Markdown, and truncated diff streams fail loudly. It deliberately does not suppress the safe `ALL` result for PR #19486.

- [x] Reproduce the renamed-file fallback.
- [x] Evaluate whether old rename paths can be safely exempted.
- [x] Retain and document the safe run-all behavior.
- [ ] Land #19790.

Contributor guide

Open the contributing guide

Research direction

Review PR #19790 and the rename reproduction described in this issue first. Confirm that unmatched old paths still produce the safe ALL result, then verify the documented safety fixes and truncated-diff failure behavior before considering the issue done.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
ci-cd, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.