Skip to content
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

Alter amount of tests that run per PR for mono mobile configurations #60727

Merged
merged 16 commits into from
Oct 29, 2021

Conversation

steveisok
Copy link
Member

@steveisok steveisok commented Oct 21, 2021

In an effort to better utilize CI resources, this change will only run the System.Runtime library test per PR for Android and Wasm configurations. The full libraries and runtime tests will move to only run on the post-PR validation pipeline.

The summary of changes are:

  • System.Runtime tests will only trigger per PR for Android x86/x64 and Wasm AOT / EAT
  • All mono runtime builds will only run on the post PR validation build (rolling build)
  • WasmBuildTests will only run on the post PR validation build (rolling build)
  • Wasm on Windows will only build

Note: iOS/tvOS/MacCatalyst are excluded until #59503 lands

In an effort to better utilize CI resources, this change will only run the System.Runtime library test per PR for Android and Wasm configurations.  The full libraries and runtime tests will move to only run on the post-PR validation pipeline.

Note: iOS/tvOS/MacCatalyst are excluded until dotnet#59503 lands
@ghost
Copy link

ghost commented Oct 21, 2021

Tagging subscribers to this area: @directhex
See info in area-owners.md if you want to be subscribed.

Issue Details

In an effort to better utilize CI resources, this change will only run the System.Runtime library test per PR for Android and Wasm configurations. The full libraries and runtime tests will move to only run on the post-PR validation pipeline.

Note: iOS/tvOS/MacCatalyst are excluded until #59503 lands

Author: steveisok
Assignees: -
Labels:

area-Infrastructure-mono

Milestone: -

@lewing
Copy link
Member

lewing commented Oct 21, 2021

This will cause a lot of regressions to be discovered post PR.

@@ -323,7 +323,9 @@ jobs:
buildConfig: Release
runtimeFlavor: mono
platforms:
- Browser_wasm
# BuildWasmApps should only happen on the rolling build. No need to duplicate the build on PR's
${{ if eq(variables['isFullMatrix'], true) }}:
Copy link
Member

Choose a reason for hiding this comment

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

Maybe instead of this, we can have tighter constraints on which changes trigger running Wasm.Build.Tests? Eg. src/mono, src/tests/BuildWasmApps, src/tasks, etc? though it will get kinda detailed, because we would want to include the various nugets consumed for workloads.

Just fyi, this job does not run the library tests as we pass TestAssemblies=false, so it builds, and then runs only the Wasm.Build.Tests .
cc @lewing

Copy link
Member

@lewing lewing Oct 21, 2021

Choose a reason for hiding this comment

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

I'd rather drop Scenario='normal' from Browser_wasm and keep EAT with Scenario='normal', I think this is actually a little beyond guidance and it would catch a lot of test configuation changes that would otherwise cause us problems.

@@ -415,7 +417,7 @@ jobs:
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_AOT
buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=true
buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) $(_runSmokeTestsOnlyArg) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=true
Copy link
Member

Choose a reason for hiding this comment

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

If we don't want to run EAT/AOT tests for every PR, then it would be useful to have some way to opt-in, or trigger these builds on a PR.

Copy link
Member

Choose a reason for hiding this comment

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

Yeah, we need a way to trigger aot manually for sure, it would be nice to auto trigger it with any src/mono/mono change as well.

@fanyang-mono
Copy link
Member

I feel the same as Larry. Are we experiencing any machine shortage or PR running for too long?

@fanyang-mono
Copy link
Member

fanyang-mono commented Oct 21, 2021

I feel the same as Larry. Are we experiencing any machine shortage or PR running for too long?

I just thought about it again. Maybe it is okay, since you are only disabling runs on Android. (I am not sure how much it would impact WASM, since WASM is actively experiencing big changes.) The catch is that we will need to keep close eye on the rolling builds.

@steveisok
Copy link
Member Author

There has been some offline discussion where I think it makes sense to pull this back for the time being. I plan on resubmitting soon.

@steveisok steveisok closed this Oct 22, 2021
@steveisok steveisok reopened this Oct 27, 2021
@danmoseley
Copy link
Member

If we have the ability to select particular libraries to test pre commit, we could fault in more as and when we see regressions leak.

@steveisok steveisok force-pushed the full-tests-on-rolling branch 2 times, most recently from dd96e90 to f601e38 Compare October 29, 2021 02:48
src/libraries/tests.proj Outdated Show resolved Hide resolved
Copy link
Member

@lewing lewing left a comment

Choose a reason for hiding this comment

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

:shipit:

@lewing
Copy link
Member

lewing commented Oct 29, 2021

@steveisok should we have an issue to track the future adjustments/refinements?

@steveisok steveisok mentioned this pull request Oct 29, 2021
6 tasks
@steveisok steveisok merged commit 0cff4a2 into dotnet:main Oct 29, 2021
@lewing
Copy link
Member

lewing commented Oct 30, 2021

image
🤷

@ghost ghost locked as resolved and limited conversation to collaborators Nov 29, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants