-
Notifications
You must be signed in to change notification settings - Fork 6k
[Fuchsia] Create dedicated testers to run tests and deprecate femu_test #50697
Conversation
8893d4a
to
d1e1cb8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, thanks!
\cc @keyonghan as we can remove https://flutter.googlesource.com/recipes/+/refs/heads/main/recipes/engine/femu_test.py after this lands.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The linux_fuchsia builder is currently the slowest builder at >40 minutes on average. Before we continue work in this direction, I would like to understand the plan for getting this builder back down below 30 minutes.
Yes, Zachary, as we discussed before, I do believe the current setup is not ideal.
So it's pretty obvious, both the try & prod builds do not need to run every step above. I.e.
Prod: run build, archive & upload only. The cost reduction may not be noticeable, since the lto build usually is the slowest, and they are running in parallel.
But the above improvements need to make the try and prod builds different, I am not very sure if it's easily doable in the current setup. Or another solution is to fully detach the testers with the builders. Same as the new For the immediate action, I can go through several latest prod runs and see if any noticeable slow tests can be excluded as low hanging fruit, and update this CL. Let me know your opinion. |
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact "@test-exemption-reviewer" in the #hackers channel in Chat (don't just cc them here, they won't see it! Use Discord!). If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
Reducing are sharding the tests that are running sounds like the right approach to me. The appropriate differences between prod and try would need to be coordinated with @CaseyHillers. |
Done |
I see https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20linux_fuchsia/6672/overview completed in 18 minutes. Awesome! |
I will wait for next Monday to submit this change. |
…143783) flutter/engine@2782805...1ae2c10 2024-02-20 matanlurey@users.noreply.github.com Move the `scenario_app` running Impeller+OpenGLES to `bringup: triue` (flutter/engine#50789) 2024-02-20 jason-simmons@users.noreply.github.com Implement the render_to_surface flag in GPUSurfaceGLImpeller (flutter/engine#50669) 2024-02-20 zanderso@users.noreply.github.com [et] Adds a .bat entrypoint for Windows (flutter/engine#50784) 2024-02-20 6844906+zijiehe-google-com@users.noreply.github.com [Fuchsia] Create dedicated testers to run tests and deprecate femu_test (flutter/engine#50697) 2024-02-20 skia-flutter-autoroll@skia.org Roll Skia from 50e1b709781c to 9d86359b5fe8 (2 revisions) (flutter/engine#50786) 2024-02-20 skia-flutter-autoroll@skia.org Roll Skia from 2dc00a705f1c to 50e1b709781c (5 revisions) (flutter/engine#50785) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC jimgraham@google.com,rmistry@google.com,zra@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
This change creates a fuchsia_profile_arm64_tester builder inside of the existing linux_fuchsia group. Comparing with fuchsia_profile_arm64, it uses
--no-lto
to limit the cost of compilation of test suites.Similar to the fuchsia_profile_x64, it runs release build test cases + aot test.
E.g. https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20Engine%20Drone/1998852/overview or more accurately https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8755990392554423809/+/u/test:_arm64_emulator_based_profile___aot_tests/stdout.
The same approach also applied to other builders. Now each fuchsia builder has its own tester which compiles test cases without lto. The change reduces the time cost of linux_fuchsia to around 20 min, e.g. https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20linux_fuchsia/6662/overview
After this change, linux_fuchsia group has a higher coverage than the combination of linux fuchsia emu + linux fuchsia emu arm64. So I removed both builders from the
.ci.yaml
as well.Bug: flutter/flutter#140179
Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.