-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Enable running tests on Helix (distributed workload platform) #4248
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Note: currently submitting the helix job with the 92 work items for extensions (test projects * net461/netcore20/21) just on windows takes 20 minutes. Each publish directory is around 15megs so that's around 1.3gigs which might account for why it takes so long :/ |
That number is likely to be even higher on aspnet/AspNetCore. We should coordinate with the Helix and corefx guys to see if there are tricks we can use to reduce the size of payloads. |
Yeah, each target queue is another multiple too, so if we are targeting mac/linux/windows queues that's already an hour just to publish the 3 jobs for extensions :( |
@natemcmaster good to close this or do we want this open to track further helix work? There are a lot of projects/tests disabled (individual issues are tracking them but there's no meta issue tracking the full set), and there's also the open question of next steps, as keeping helix green is going to be a constant battle in the short term (between new tests that just don't work, and sporadic flaky tests which I've mostly skipped already) |
There are still important action items on this. I wouldn't close it yet. From my perspective, the remaining work is
|
Files with skipped tests on helix (Total of 24 on 4/22)
|
@HaoK / @aspnet/build / @ajcvickers - what milestone should this be in? |
Moved it to 6 for now. |
@natemcmaster do we still need this meta issue open? Moving to preview7 for now since preview6 is done |
There are a bunch of checkbox lists in the comments above. If there are individual issues tracking those work, then I guess we could close this. I've been tracking this issue as I haven't seen any other issues open tracking the work get make Helix the default method of testing. Right now it's still an optional check that only runs on PRs. |
Okay sounds like this is still the main issue tracking helix to be the default then |
@HaoK we keep pushing this down the road without making changes to the issue. What is the current status? If much is left open, especially if too much is on your plate to make further progress, suggest creating smaller issues and spreading them to team members with the most context in each test area. |
Since I think we have tracking items for all of the tests that aren't running on helix yet, this issue is mostly about making helix required for merging PRs, which is somewhat subjective. The build team probably has more overall insight on how consistently the helix tests have been green. But for my own personal PRs in the past month or so, helix runs have still almost always been red, which leads me to conclude its not ready to be a required check yet. I will spend some time this week gathering more info and seeing what's causing the consistent failures (last time I looked it was a high amount of helix tests timing out due to queue contention) |
Okay I think the issue with helix checks showing as red when tests pass with an automatic retries, for example in this PR today https://dev.azure.com/dnceng/public/_build/results?buildId=266896 Two tests passed on retry and the overview of the job shows green for these two tests (since they passed on rerun), but if you go to the individual work items you see the failures All green overview: Fireballs (even though they passed on rerun): I'll follow up with the helix folks to figure out how to ignore the failures if they pass on retry |
@dougbu Has Helix become a priority again? My last understanding was that we were not prioritizing Helix currently. |
@ajcvickers I commented because it wasn't clear whether the empty checkboxes were a true reflection of the current state nor whether this was now irrelevant given other issues. I didn't say we should change the issue's priority. In any case, I don't remember exactly how we left Helix. I would be very interested in the technology if
Side note: The Helix tests have found a few platform-specific issues we'd have otherwise missed. A topic for our sync this afternoon… |
@dougbu We do need to move to Helix; that is the plan. It's just not currently something we are spending time on. |
Moving out of 3.0 |
Parked in backlog (not sure if 3.1 is more appropriate) |
Closing this in favor of smaller tracking items now that helix is part of the required checks for builds |
Currently, running all ASP.NET Core tests can take hours, even with assembly parallelization. Other large .NET repos have used Helix, a platform for distributing and running workloads in parallel. We should setup our PRs and CI builds to use this.
Scenarios
Running tests without helix.
This must continue to work so contributors do not need to run tests on Helix. This should work via
dotnet test
for most projects (and/or Visual Studio Test Explorer).Microsoft developers: running tests on Helix. Those with an access token to Helix should be able to run tests on Helix with a few simple parameters, such as
build.cmd -helixTest /p:HelixApiToken=xyz123
CI: by default, PRs and CI builds run tests on Helix.
build.cmd -ci
.Configuring Helix test settings can be done in the test's .csproj file.
cref https://github.com/aspnet/AspNetCore-Internal/issues/981 - additional details for the implementer
The text was updated successfully, but these errors were encountered: