Skip to content

Conversation

@matanlurey
Copy link
Contributor

Towards #161406.

This PR does the following:

  • Removes tests: [ ... ]
  • Removes --build-embedder-examples
  • Entirely removes host_profile, as it did not contribute artifacts (built on other builders)
  • Some light sorting/re-ordering to make it more obvious which GN target contributed to which include path

The tests for these builds are located in linux_host_engine_test.json.

@github-actions github-actions bot added the engine flutter/engine related. See also e: labels. label Jan 17, 2025
@matanlurey
Copy link
Contributor Author

matanlurey commented Jan 17, 2025

At HEAD, Linux linux_host_engine takes about 25m to 30m: https://ci.chromium.org/ui/p/flutter/builders/luci.flutter.prod/Linux%20linux_host_engine.


At this PR, there is about a delta of ~5 minutes in the presubmit run:

For example, the host_debug build took less than 2 minutes, but in total took nearly 9 minutes due to overhead ("Mount Caches": ~2m, "Check Source Code": ~3m, and more. host_release was even faster, taking less than 1 minute but nearly 7 minutes when including overhead.

We should complete this arc of work, a ~50% improvement (~30m to ~15m) is nothing to sneeze at (and it helps the release process as well), but I was really hoping for a larger improvement - we'll need to pursue other optimizations to reduce the overhead for framework-only changes.

@jtmcdole
Copy link
Member

For example, the host_debug build took less than 2 minutes, but in total took nearly 9 minutes due to overhead ("Mount Caches": ~2m, "Check Source Code": ~3m, and more. host_release was even faster, taking less than 1 minute but nearly 7 minutes when including overhead.

It looks like it took 45 seconds just to checkout the tree with history at about 30MiB/s

git --git-dir /b/s/w/ir/cache/git/github.com-flutter-flutter fetch -v --progress --prune origin +refs/heads/*:refs/heads/*" in "/b/s/w/ir/cache/git/github.com-flutter-flutter"
...
fetch +refs/heads/*:refs/heads/* took 0.7 minutes

gclient adds on top of that.

We should complete this arc of work, a ~50% improvement (~30m to ~15m) is nothing to sneeze at (and it helps the release process as well), but I was really hoping for a larger improvement - we'll need to pursue other optimizations to reduce the overhead for framework-only changes.

We could look at shallow clones and see if that helps reduce this further. It's worth it even if it only runs on engine PRs. Great job!

@matanlurey matanlurey added the autosubmit Merge PR when tree becomes green via auto submit App label Jan 17, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Jan 18, 2025
Merged via the queue into flutter:master with commit 9bf4e89 Jan 18, 2025
180 of 181 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Jan 18, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jan 18, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jan 18, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jan 19, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Jan 20, 2025
flutter/flutter@5517cc9...b9e86a5

2025-01-18 [email protected] Fix link to Linux custom embedder artifacts (flutter/flutter#161699)
2025-01-18 [email protected] Remove tests, GLFW examples, and non-artifact builds from `linux_host_engine`. (flutter/flutter#161786)
2025-01-18 [email protected] [Impeller] when mips are disabled, also disable from sampler options. (flutter/flutter#161765)
2025-01-18 [email protected] revert removing Twitter, retain BlueSky (flutter/flutter#161803)
2025-01-17 [email protected] fix reorderable_list_test.dart (flutter/flutter#161836)
2025-01-17 [email protected] [Release] Update the cherry-pick process. (flutter/flutter#161771)
2025-01-17 [email protected] Reland "#143249 Autocomplete options width" (flutter/flutter#161695)
2025-01-17 [email protected] Roll Dart to Version 3.8.0-1.0.dev (flutter/flutter#161781)
2025-01-17 [email protected] [Impeller] use 3 fences to synchronize AHB swapchains (like we do for KHR). (flutter/flutter#161767)
2025-01-17 [email protected] [Impeller] remove Adreno denylist entries. (flutter/flutter#161740)
2025-01-17 [email protected] Refactor event redispatching (flutter/flutter#161701)
2025-01-17 [email protected] [Impellerc] correctly pad arrays of vec3s in reflector. (flutter/flutter#161697)
2025-01-17 [email protected] Initialize dartLoader.rootDirectories so the Web stack trace mapper can convert package source paths (flutter/flutter#160383)
2025-01-16 [email protected] Make fl_keyboard_manager_handle_event async (flutter/flutter#161637)
2025-01-16 [email protected] Update social links in readme (flutter/flutter#161778)
2025-01-16 [email protected] Remove some stray printf debugging (flutter/flutter#161706)
2025-01-16 [email protected] Set meta tag in default index (flutter/flutter#161493)
2025-01-16 [email protected] remove usage of `Usage` from build system (flutter/flutter#160663)
2025-01-16 [email protected] route CLI command usage information through the logger instead of using `print` (flutter/flutter#161533)
2025-01-16 [email protected] Enable duplicate `linux_host_engine_test`. (flutter/flutter#161613)
2025-01-16 [email protected] Do not block vertical drag gestures in CupertinoSheetRoute body (flutter/flutter#161696)
2025-01-16 [email protected] [Impeller] Update partial repaint to use a fullsize onscreen. (flutter/flutter#161626)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: 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
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 21, 2025
androidseb pushed a commit to androidseb/packages that referenced this pull request Jun 8, 2025
flutter/flutter@5517cc9...b9e86a5

2025-01-18 [email protected] Fix link to Linux custom embedder artifacts (flutter/flutter#161699)
2025-01-18 [email protected] Remove tests, GLFW examples, and non-artifact builds from `linux_host_engine`. (flutter/flutter#161786)
2025-01-18 [email protected] [Impeller] when mips are disabled, also disable from sampler options. (flutter/flutter#161765)
2025-01-18 [email protected] revert removing Twitter, retain BlueSky (flutter/flutter#161803)
2025-01-17 [email protected] fix reorderable_list_test.dart (flutter/flutter#161836)
2025-01-17 [email protected] [Release] Update the cherry-pick process. (flutter/flutter#161771)
2025-01-17 [email protected] Reland "#143249 Autocomplete options width" (flutter/flutter#161695)
2025-01-17 [email protected] Roll Dart to Version 3.8.0-1.0.dev (flutter/flutter#161781)
2025-01-17 [email protected] [Impeller] use 3 fences to synchronize AHB swapchains (like we do for KHR). (flutter/flutter#161767)
2025-01-17 [email protected] [Impeller] remove Adreno denylist entries. (flutter/flutter#161740)
2025-01-17 [email protected] Refactor event redispatching (flutter/flutter#161701)
2025-01-17 [email protected] [Impellerc] correctly pad arrays of vec3s in reflector. (flutter/flutter#161697)
2025-01-17 [email protected] Initialize dartLoader.rootDirectories so the Web stack trace mapper can convert package source paths (flutter/flutter#160383)
2025-01-16 [email protected] Make fl_keyboard_manager_handle_event async (flutter/flutter#161637)
2025-01-16 [email protected] Update social links in readme (flutter/flutter#161778)
2025-01-16 [email protected] Remove some stray printf debugging (flutter/flutter#161706)
2025-01-16 [email protected] Set meta tag in default index (flutter/flutter#161493)
2025-01-16 [email protected] remove usage of `Usage` from build system (flutter/flutter#160663)
2025-01-16 [email protected] route CLI command usage information through the logger instead of using `print` (flutter/flutter#161533)
2025-01-16 [email protected] Enable duplicate `linux_host_engine_test`. (flutter/flutter#161613)
2025-01-16 [email protected] Do not block vertical drag gestures in CupertinoSheetRoute body (flutter/flutter#161696)
2025-01-16 [email protected] [Impeller] Update partial repaint to use a fullsize onscreen. (flutter/flutter#161626)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: 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
FMorschel pushed a commit to FMorschel/packages that referenced this pull request Jun 9, 2025
flutter/flutter@5517cc9...b9e86a5

2025-01-18 [email protected] Fix link to Linux custom embedder artifacts (flutter/flutter#161699)
2025-01-18 [email protected] Remove tests, GLFW examples, and non-artifact builds from `linux_host_engine`. (flutter/flutter#161786)
2025-01-18 [email protected] [Impeller] when mips are disabled, also disable from sampler options. (flutter/flutter#161765)
2025-01-18 [email protected] revert removing Twitter, retain BlueSky (flutter/flutter#161803)
2025-01-17 [email protected] fix reorderable_list_test.dart (flutter/flutter#161836)
2025-01-17 [email protected] [Release] Update the cherry-pick process. (flutter/flutter#161771)
2025-01-17 [email protected] Reland "#143249 Autocomplete options width" (flutter/flutter#161695)
2025-01-17 [email protected] Roll Dart to Version 3.8.0-1.0.dev (flutter/flutter#161781)
2025-01-17 [email protected] [Impeller] use 3 fences to synchronize AHB swapchains (like we do for KHR). (flutter/flutter#161767)
2025-01-17 [email protected] [Impeller] remove Adreno denylist entries. (flutter/flutter#161740)
2025-01-17 [email protected] Refactor event redispatching (flutter/flutter#161701)
2025-01-17 [email protected] [Impellerc] correctly pad arrays of vec3s in reflector. (flutter/flutter#161697)
2025-01-17 [email protected] Initialize dartLoader.rootDirectories so the Web stack trace mapper can convert package source paths (flutter/flutter#160383)
2025-01-16 [email protected] Make fl_keyboard_manager_handle_event async (flutter/flutter#161637)
2025-01-16 [email protected] Update social links in readme (flutter/flutter#161778)
2025-01-16 [email protected] Remove some stray printf debugging (flutter/flutter#161706)
2025-01-16 [email protected] Set meta tag in default index (flutter/flutter#161493)
2025-01-16 [email protected] remove usage of `Usage` from build system (flutter/flutter#160663)
2025-01-16 [email protected] route CLI command usage information through the logger instead of using `print` (flutter/flutter#161533)
2025-01-16 [email protected] Enable duplicate `linux_host_engine_test`. (flutter/flutter#161613)
2025-01-16 [email protected] Do not block vertical drag gestures in CupertinoSheetRoute body (flutter/flutter#161696)
2025-01-16 [email protected] [Impeller] Update partial repaint to use a fullsize onscreen. (flutter/flutter#161626)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

engine flutter/engine related. See also e: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants