Skip to content

Proposal: Remove engine top-level orchestrator builders that only kick off and collect sub-builds (no generators), and hoist sub-build to "standalone" #155041

@jmagman

Description

@jmagman

Some "top-level" orchestrator builds only kick off sub-builds and then do nothing but wait for the results. Mac mac_unopt is an example of this:

Screenshot 2024-09-11 at 12 43 27 PM

Note there are no "Global generators" or tests.

GitHub currently only allows reruns on these top-level builds when there's a failure in the subbuild. In the case of mac_unopt that means all the sub-builds are re-run, even though most of them succeeded (example). Rerunning all of them ties up CI resources and makes the rerun longer, if the failing test isn't the long-pole of the top-level build total time. It also means the top-level orchestrator build idles bot while it waits on the builds to finish.

mac_ios_engine is an example of a build that can't be trivially replaced by it subviews (like ci/ios_debug_sim) because it has generators that operate on the archives:
https://github.com/flutter/engine/blob/38e37ce9879b2efe4890a8d09f4207dc5686a1bd/ci/builders/mac_ios_engine.json#L488C6-L488C16

This proposes removing all top-level builds that only kick off subbuilds, and hoisting the sub-builds into the .ci.yaml.

cc @zanderso @jtmcdole

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listc: proposalA detailed proposal for a change to Flutterengineflutter/engine related. See also e: labels.team-engineOwned by Engine teamtriaged-engineTriaged by Engine team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions