dotnet / dotnet/install-scripts

PR validation Windows leg takes ~50 minutes

Open
#699 0 comments 2 reactions 1 assignee Assigned to @Copilot View on GitHub
area-infra
Dominant language
PowerShell
Stars
213
Forks
120
PR merge metrics
No merged PRs in 30d

Description

PR validation builds are slow, particularly the Windows leg which takes ~50 minutes compared to ~20 minutes for Linux and Mac. Example: build 1400224. The Windows pipeline timeout is already configured at 90 minutes.

Observations:

- All tests run sequentially — no parallelism configured (no xunit.runner.json, single dotnet test per platform)
- Each test downloads a full SDK or runtime — 14 Theory methods × 15 channels/10 branches = 100+ individual download-and-verify cycles
- Same channel matrix tested across multiple runtime types — SDK, dotnet, aspnetcore, windowsdesktop all download independently
- PowerShell startup overhead — each test spawns a new powershell.exe process; adds up over 100+ invocations
- Windows runs additional tests — windowsdesktop + tar support tests only execute on Windows

Areas to consider:

- Test parallelism (in-process or pipeline-level)
- Whether every channel × runtime combination is needed
- PowerShell host choice (pwsh vs powershell.exe)
- Separation of fast vs slow tests
- Pipeline structure across multiple agents

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.