Skip to content

Adding ARM iOS simulator times out the engine artifacts build #82736

Closed

Description

@jmagman

Adding the ARM iOS simulator to the Mac iOS Engine builder causes the tasks to take an additional 15 minutes, which pushes the build over the timeout limit. This is particularly long because currently the ARM builds do not use goma.

This is blocking iOS ARM simulator and native M1 macOS development.
#60113
#60118

Activity

  1. added
    engineflutter/engine related. See also e: labels.
    team-infraOwned by Infrastructure team
    on May 17, 2021
  2. jmagman commented on May 17, 2021

    @jmagman
    MemberAuthor

    Some solutions that have been discussed:

    1. Refactor recipes to handle build dependencies. Frameworks can be built in parallel, and then a final publication build will gather, package, and publish the artifacts. This work is currently in the infra team's Q3 OKRs. @gw280 has already outlined the dependency graph Separate engine builds to build, test archive components #81855
    2. Add a build conductor to kick off the dependencies, idle, then gather, package, and publish the artifacts. This wastes a builder that waits for the sub builds to finish, and it very similar to the sharded test functionality that was deprecated in the Flutter framework. This would be an easier refactor than option 1, but would waste a resource.
    3. Adopt goma for iOS/macOS bitcode builds. This may push the entire builder under the timeout limit. Update the buildroot to use our own clang when building with bitcode-marker #39281. GOMA team says this isn't currently possible Adding ARM iOS simulator times out the engine artifacts build #82736 (comment)

    Any of these changes would have the added eng-prod benefit of improving engine testing time. Option 1 or 2 would also allow future framework variants to be built in parallel (openGL for example).

  3. jmagman commented on May 17, 2021

    @jmagman
    MemberAuthor
  4. changed the title [-]Adding ARM iOS simulator builds makes the engine artifacts builder time out[/-] [+]Adding ARM iOS simulator times out the engine artifacts build[/+] on May 17, 2021
  5. dnfield commented on May 17, 2021

    @dnfield
    Contributor

    I know the last time we asked, it was not possible to add the clang versions we to support this on GOMA - but maybe now that it's on RBE that's changed. I'll see if we can reach out to the Fuchsia GOMA folks about that...

  6. dnfield commented on May 17, 2021

    @dnfield
    Contributor

    I know the last time we asked, it was not possible to add the clang versions we to support this on GOMA - but maybe now that it's on RBE that's changed. I'll see if we can reach out to the Fuchsia GOMA folks about that...

    Per GOMA team, this isn't possible due to GOMA's architecture. Mac compilation is done by cross compiling with a compatible Linux based toolchain. There's no such thing for the Xcode toolchains.

  7. jmagman commented on May 17, 2021

    @jmagman
    MemberAuthor

    Thanks for checking @dnfield

  8. added
    P2Important issues not at the top of the work list
    on May 24, 2021
  9. jmagman commented on Jun 22, 2021

    @jmagman
    MemberAuthor

    The engine build does not time out when the ARM simulator step was added in https://flutter-review.googlesource.com/c/recipes/+/14780.
    Closing.

  10. github-actions commented on Jul 31, 2021

    @github-actions

    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 flutter doctor -v and a minimal reproduction of the issue.

  11. locked as resolved and limited conversation to collaborators on Jul 31, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listengineflutter/engine related. See also e: labels.team-infraOwned by Infrastructure team

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions