[Build] Retry git clone in exploration tests setup#8685
Conversation
BenchmarksBenchmark execution time: 2026-05-26 09:55:03 Comparing candidate commit 9daddcb in PR branch Found 1 performance improvements and 2 performance regressions! Performance is the same for 69 metrics, 0 unstable metrics, 57 known flaky benchmarks, 69 flaky benchmarks without significant changes.
|
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8685) and master. ✅ No regressions detected - check the details below Full Metrics ComparisonFakeDbCommand
HttpMessageHandler
Comparison explanationExecution-time benchmarks measure the whole time it takes to execute a program, and are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are highlighted in **red**. The following thresholds were used for comparing the execution times:
Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard. Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph). Duration chartsFakeDbCommand (.NET Framework 4.8)gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8685) - mean (75ms) : 70, 79
master - mean (73ms) : 70, 76
section Bailout
This PR (8685) - mean (78ms) : 75, 80
master - mean (79ms) : 75, 83
section CallTarget+Inlining+NGEN
This PR (8685) - mean (1,109ms) : 1053, 1164
master - mean (1,109ms) : 1061, 1157
FakeDbCommand (.NET Core 3.1)gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8685) - mean (115ms) : 109, 121
master - mean (115ms) : 109, 120
section Bailout
This PR (8685) - mean (115ms) : 113, 118
master - mean (117ms) : 112, 122
section CallTarget+Inlining+NGEN
This PR (8685) - mean (799ms) : 777, 822
master - mean (795ms) : 766, 824
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8685) - mean (101ms) : 98, 104
master - mean (101ms) : 98, 104
section Bailout
This PR (8685) - mean (105ms) : 99, 111
master - mean (101ms) : 99, 103
section CallTarget+Inlining+NGEN
This PR (8685) - mean (951ms) : 914, 988
master - mean (953ms) : 914, 992
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8685) - mean (101ms) : 97, 105
master - mean (103ms) : 97, 109
section Bailout
This PR (8685) - mean (101ms) : 99, 104
master - mean (103ms) : 99, 107
section CallTarget+Inlining+NGEN
This PR (8685) - mean (828ms) : 786, 870
master - mean (822ms) : 782, 862
HttpMessageHandler (.NET Framework 4.8)gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8685) - mean (198ms) : 192, 203
master - mean (198ms) : 194, 202
section Bailout
This PR (8685) - mean (200ms) : 196, 205
master - mean (201ms) : 198, 204
section CallTarget+Inlining+NGEN
This PR (8685) - mean (1,194ms) : 1157, 1230
master - mean (1,193ms) : 1141, 1245
HttpMessageHandler (.NET Core 3.1)gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8685) - mean (284ms) : 273, 295
master - mean (284ms) : 278, 291
section Bailout
This PR (8685) - mean (284ms) : 276, 293
master - mean (284ms) : 277, 292
section CallTarget+Inlining+NGEN
This PR (8685) - mean (955ms) : 927, 984
master - mean (967ms) : 944, 989
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8685) - mean (275ms) : 267, 284
master - mean (277ms) : 273, 282
section Bailout
This PR (8685) - mean (277ms) : 271, 282
master - mean (277ms) : 273, 281
section CallTarget+Inlining+NGEN
This PR (8685) - mean (1,152ms) : 1109, 1196
master - mean (1,155ms) : 1118, 1192
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8685) - mean (274ms) : 263, 284
master - mean (275ms) : 269, 281
section Bailout
This PR (8685) - mean (272ms) : 266, 278
master - mean (275ms) : 270, 280
section CallTarget+Inlining+NGEN
This PR (8685) - mean (1,037ms) : 999, 1075
master - mean (1,035ms) : 995, 1075
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Summary of changes
Adds retry logic and a fail-fast timeout around the
git clonecall in the exploration tests setup target.Reason for change
The
SetUpExplorationTeststarget clones third-party repos from github.com over the network, which can hang or fail transiently. We hit this on build 202170 cloningcake-build/cake:The clone hung ~10 minutes before the default git timeout kicked in, then failed the whole target with no retry.
Implementation details
In
Build.ExplorationTests.cs::GitCloneAndBuild:-c http.lowSpeedLimit=1000 -c http.lowSpeedTime=60to the clone command so git aborts after 60s of throughput below 1KB/s instead of waiting on the default ~10-minute timeout.DotNetBuildis unchanged.Worst-case clone time is now ~3 minutes instead of ~10 minutes, and a single transient network blip no longer fails the whole exploration tests run.
Test coverage
No new tests — this is build infrastructure for exploration tests, exercised by the existing exploration test pipelines.
Other details