Skip to content

Start skipping helix ready tests on azdo runs #17109

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

Merged
merged 51 commits into from
Jan 23, 2020
Merged

Start skipping helix ready tests on azdo runs #17109

merged 51 commits into from
Jan 23, 2020

Conversation

HaoK
Copy link
Member

@HaoK HaoK commented Nov 14, 2019

Skips all tests on azdo by default, selectively enables test projects that currently don't work on helix (BuildHelixPayload = false).

Note: we only run ubuntu and windows helix queues on every PR, so we would no longer be running mac OS tests as frequently

Per discussion in build sync: initial plan will be:
Required for every PR: Windows 10 and Ubuntu
Rolling builds for all other helix queues

@github-actions github-actions bot added area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework area-servers area-identity Includes: Identity and providers area-dataprotection Includes: DataProtection area-blazor Includes: Blazor, Razor Components area-mvc Includes: MVC, Actions and Controllers, Localization, CORS, most templates feature-platform Deprecated: Cross-cutting issues related to ASP.NET Core as a platform labels Nov 14, 2019
@HaoK
Copy link
Member Author

HaoK commented Nov 18, 2019

Test count with this change goes to: 25889 total reported on azdo compared to 115806 today

@HaoK HaoK marked this pull request as ready for review November 19, 2019 07:34
@Tratcher
Copy link
Member

Are all of the tests that are now skipped on azdo part of a blocking helix run, or are some of them still only run in the optional helix run? They should be required on helix before being disabled on azdo, not just optional.

@@ -5,6 +5,7 @@

<!-- Tests do not work on Helix or when bin/ directory is not in project directory due to undeclared dependency on test content. -->
<BuildHelixPayload>false</BuildHelixPayload>
<SkipTests>false</SkipTests>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't you just query BuildHelixPayload?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Possibly, what are you suggesting?

Copy link
Member

@Tratcher Tratcher Nov 19, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to define SkipTests globally based on BuildHelixPayload?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not a msbuild pro at all, my naive understanding is that its just evaluating files in order, so there's no way to default it dynamically globally so when its turned off later in a particular project it just works, which is why I just went with blasting it both flags to false. There's no way to defer evaluation by reference like that, I don't think.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@HaoK suggest you move the setting to the root Directory.Build.targets file (after line 110 or so, where $(BuildHelixPayload) gets its default) and change the condition to

<SkipTests Condition="'$(SkipHelixReadyTests)' == 'true' AND '$(BuildHelixPayload)' == 'true'">true</SkipTests>

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome this is much better!

@HaoK
Copy link
Member Author

HaoK commented Nov 19, 2019

The ubuntu queue is a blocking PR check, I believe there are some windows only tests that are being run in the optional helix queue still, we probably should make all (or some) windows queues required as part of this switch

@HaoK
Copy link
Member Author

HaoK commented Nov 20, 2019

Adding Win10 and OSX1014 to the mandatory helix green checks to match what we had in azdo

@HaoK
Copy link
Member Author

HaoK commented Dec 3, 2019

@aspnet/build everything seems to be passing now, I think this PR is ready for final review

@dougbu
Copy link
Contributor

dougbu commented Dec 4, 2019

BTW this looks fine to me but I'd like someone more familiar w/ Helix to review more closely

@dougbu
Copy link
Contributor

dougbu commented Dec 4, 2019

FYI CannotInvokeJSInvokableMethodsWithWrongNumberOfArguments has had a flaky history according to https://github.com/search?q=CannotInvokeJSInvokableMethodsWithWrongNumberOfArguments&type=Issues but all four related issues are closed. This looks like something new…

@dougbu
Copy link
Contributor

dougbu commented Dec 4, 2019

@HaoK
Copy link
Member Author

HaoK commented Jan 21, 2020

Now that #18274 has been merged, logging should be available on helix runs for test bugging, we should be ready for final sign on off on this PR @dotnet/aspnet-build

Copy link
Contributor

@dougbu dougbu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good and I suspect the macOS failure is a temporary network issue. Retried that job…

@HaoK HaoK merged commit 524bba8 into master Jan 23, 2020
@HaoK HaoK deleted the helix-skip branch January 23, 2020 23:58
@amcasey amcasey added the area-hosting Includes Hosting label Jun 1, 2023
@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Aug 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-blazor Includes: Blazor, Razor Components area-dataprotection Includes: DataProtection area-hosting Includes Hosting area-identity Includes: Identity and providers area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework area-mvc Includes: MVC, Actions and Controllers, Localization, CORS, most templates area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions feature-platform Deprecated: Cross-cutting issues related to ASP.NET Core as a platform
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants