What WindowsDesktop runtime does WPF actually test CIRunDrts against?
- Dominant language
- C#
- Stars
- 7.7k
- Forks
- 1.3k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 61
Description
I was looking at CI failures and have some questions. https://dev.azure.com/dnceng-public/public/_build/results?buildId=776507&view=results
WPF installs dotnet to `Program Files`:
https://github.com/dotnet/wpf/blob/ce8e3041f94469a4fd2aa5948905c2b70852fe55/eng/pipeline-pr.yml#L202-L227
It then replaces WPF binaries in `.dotnet` folder:
https://github.com/dotnet/wpf/blob/ce8e3041f94469a4fd2aa5948905c2b70852fe55/eng/pipeline-pr.yml#L229-L234
It then runs some tests without specifying a different `dotnet` root, so I think this will run against the `Program Files` location
https://github.com/dotnet/wpf/blob/ce8e3041f94469a4fd2aa5948905c2b70852fe55/eng/pipeline-pr.yml#L258-L264
I can't see the content of `CIRunDrts` to see if it happens to find the repo local `.dotnet` folder, so I can't be certain, but to me it really looks like this would not be running against the WPF bits it just built and instead be running against the daily build installed machine-wide.
Contributor guide
Research direction
Start with eng/pipeline-pr.yml at lines 202-264 and inspect how the CI job installs dotnet, replaces binaries, and invokes CIRunDrts. Trace the runtime and dotnet-root resolution used by those tests, then compare it with the repository-local .dotnet contents. Done means documenting which WindowsDesktop runtime is tested and correcting the pipeline if it does not use the intended WPF-built bits.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, 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