-
Notifications
You must be signed in to change notification settings - Fork 28.5k
Separate engine builds to build, test archive components #81855
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
\cc @zanderso |
@gw280 is this something you can help us with? |
Definitely. When are you going to need this by? |
I'm planning to start working on this on Thu | Fri this week. |
OK, I'll get this sorted out today/tomorrow. |
@gw280 thanks for creating the dependency graph. To follow up on this topic we will need to create three different recipes: Note: I'll refer to a single combination of build flags as flavor. eg ios_debug, ios_debug_arm
So far this is the configuration used by the builder recipe:
The next step is to create the artifacts packager, to optimize the execution time we'll need to package only what is required. @gw280 can you please help us identify which directories from out are needed for each flavor? |
I suspect it's easier to identify the directories that aren't needed, like |
Removing those two directories are probably a good enough optimization, I'll start with that. |
So for packaging itself, I think we all need is the https://github.com/flutter/engine/blob/master/sky/tools/create_ios_framework.py#L32 In particular, this is the actual packaging script and it looks for For running tests, ultimately we just need the |
I wonder if we can use gn to list the runtime deps and package them in the most efficient way possible, I've seen that approach used by different teams. |
This is a configuration required to separate builds from tests in the engine repo. Bug: flutter/flutter#81855
This is part of the implementation of build/test separation. Bug: flutter/flutter#81855
…8038) Web engine required more complex generator configurations which forced us change the generator values from list to a dict. Bug: flutter/flutter#81855
This is a configuration required to separate builds from tests in the engine repo. Bug: flutter/flutter#81855
https://flutter-review.googlesource.com/c/infra/+/34500 adding prod drone builders. |
* Move the two remaining engine v2 builds to prod. This is also removing the environment variable as it is not needed anymore. Bug: flutter/flutter#81855 * Remove remaining env variables.
* Archive windows gen_snapshot.exe. This is required to enable engine_v2 recipes for windows platform. Bug: flutter/flutter#81855 * Add dep to generate gen_snapshot.exe. * Use target platform name rather than host. * Use prebuilt_arch. * Use platform_name instead of is_win. * Remove android check. * Fix output name. * Separate platform and cpu in name. * Remove failing line. * Use dart_target_arch rather than target_cpu in windows. * Add dart_target_arch to scope. * Add support for android_cpu. * Fix android_cpu variable name. * Rebase to ToT * Try to use target cpu directly. * Use host os instead of is_win. * Build engine artifacts for win. * Update build/archives/BUILD.gn Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com> * Update build/archives/BUILD.gn Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com> * Update build/archives/BUILD.gn Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com> Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>
This enables archives generation of gen_snapshot for windows AOT. Bug: flutter/flutter#81855
* Move the two remaining engine v2 builds to prod. This is also removing the environment variable as it is not needed anymore. Bug: flutter/flutter#81855 * Remove remaining env variables.
* Archive windows gen_snapshot.exe. This is required to enable engine_v2 recipes for windows platform. Bug: flutter/flutter#81855 * Add dep to generate gen_snapshot.exe. * Use target platform name rather than host. * Use prebuilt_arch. * Use platform_name instead of is_win. * Remove android check. * Fix output name. * Separate platform and cpu in name. * Remove failing line. * Use dart_target_arch rather than target_cpu in windows. * Add dart_target_arch to scope. * Add support for android_cpu. * Fix android_cpu variable name. * Rebase to ToT * Try to use target cpu directly. * Use host os instead of is_win. * Build engine artifacts for win. * Update build/archives/BUILD.gn Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com> * Update build/archives/BUILD.gn Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com> * Update build/archives/BUILD.gn Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com> Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>
This enables archives generation of gen_snapshot for windows AOT. Bug: flutter/flutter#81855
Windows engine_v2 are now generating the expected artifacts and ready to be moved to the production environment. Bug: flutter/flutter#81855
An initial implementation of a tester recipe has been created, that runs Flutter tests on the engine builds uploaded by the engine_v2 recipes. Further work will be done on deciding whether this recipe can be combined with the existing flutter/flutter_drone recipe that is currently used to run tests, using an alternate way of downloading artifacts. Follow this on the tracking issue: #116906 |
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of |
We are planning to split the Mac iOS builds into multiple smaller pieces to optimize resource usage and be able to build/test/archive in less than 30 mins.
In order to start splitting the build it would be great if we can get a dependency graph to help us identify how can we split the gn, ninja, test, archive steps of the recipe.
The text was updated successfully, but these errors were encountered: