-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Run build tests on both x64 and arm64. #141206
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
Conversation
|
These builds should be using the regular mac top level configuration but keeping mac_x64 for now for easy reverting. |
.ci.yaml
Outdated
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.
This makes mac_x64 the same as mac. Switching these mac_x64 targets to mac?
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.
Never mind. I missed the lastest comment.
Considering we have only 5 mac_x64 targets, do we want to led to validate they pass to avoid potential revert if this causes tree red? We are missing them in pre-submit.
Or alternatively, we can update those mac_x64 targets to mac with brigup: true, which is more safer.
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.
I'll send a second PR for that once we ensure all the tests pass correctly and we don't need to revert.
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.
I guess my point here is: do we want to land this PR and revert if it causes tree red, or do we want to validate them in staging pool without potentially breaking the tree. I would prefer the former option.
We have been doing similarly when switching targets from linux_android to linux_pixel_7pro:
https://github.com/flutter/flutter/pull/140389/files
https://github.com/flutter/flutter/pull/140438/files
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.
Updated them to use bringup.
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 mac_x64 is used to deliberately run the tools test on x86_64 machines to validate Flutter runs on those host Macs. tool_host_cross_arch_tests for example validates that the tool can build a valid and well-formed iOS and macOS app on either host machine. verify_binaries_codesigned validates the engine artifacts are codesigned once they make it to the tool. hot_mode_dev_cycle_macos_target__benchmark validates a macOS app on either platform can be hot-reloaded.
Until the tool deprecates support for Flutter developers using x64 Macs we should keep these tests. cc @christopherfujino
|
Agree with Jenn, I think we should audit the existing x64 targets one by one, and at least the following legitimately should use x64, IMO:
I'm not sure about:
|
Check out go/flutter-mac-test-architectures |
Most of the builds for mac_x64 can actually run on any available architecture. This is required to use capacity more efficiently.
|
@jmagman @christopherfujino and @keyonghan please take another look at this PR I updated to run build_tests on arm and x64 as recommended by go/flutter-mac-test-architectures. I'll follow with a few more PRs to update the other tests in the document list. |
keyonghan
left a comment
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.
LGTM
christopherfujino
left a comment
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.
LGTM
jmagman
left a comment
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.
If we have capacity issues this may be a good one to re-evaluate to run on either.
flutter/flutter@def6af0...f77f824 2024-01-18 [email protected] Roll Flutter Engine from 49fa2cb9024f to b75d6d80d813 (1 revision) (flutter/flutter#141771) 2024-01-18 [email protected] Roll Flutter Engine from 49c6ca211aa4 to 49fa2cb9024f (1 revision) (flutter/flutter#141762) 2024-01-18 [email protected] Roll Flutter Engine from 873449c27d5a to 49c6ca211aa4 (1 revision) (flutter/flutter#141760) 2024-01-18 [email protected] Roll Flutter Engine from bfdc0c5b2826 to 873449c27d5a (1 revision) (flutter/flutter#141759) 2024-01-18 [email protected] Catch UnsupportedError thrown when user provides an asset directory path containing invalid characters (flutter/flutter#141214) 2024-01-18 [email protected] Roll Flutter Engine from 48f89ac064ac to bfdc0c5b2826 (1 revision) (flutter/flutter#141752) 2024-01-18 [email protected] Roll Flutter Engine from 924c17245a78 to 48f89ac064ac (2 revisions) (flutter/flutter#141751) 2024-01-18 [email protected] Roll Flutter Engine from 98c16b430e6b to 924c17245a78 (1 revision) (flutter/flutter#141749) 2024-01-18 [email protected] Roll Flutter Engine from 73a2de5da53f to 98c16b430e6b (16 revisions) (flutter/flutter#141744) 2024-01-18 [email protected] Move mac pixel 7 pro test to presubmit: false (flutter/flutter#141747) 2024-01-18 [email protected] [web] prepare layers_test.dart for flutter/engine#49786 (flutter/flutter#141731) 2024-01-17 [email protected] Remove non-needed bot and increase time out for leak_tracking. (flutter/flutter#141712) 2024-01-17 [email protected] Add `headerHeight` for `SearchAnchor` (flutter/flutter#141223) 2024-01-17 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 3.23.0 to 3.23.1 (flutter/flutter#141715) 2024-01-17 [email protected] Make test file systems/platforms used in asset_bundle_test.dart less dependent on the host platform (flutter/flutter#141657) 2024-01-17 [email protected] Native assets: roll deps (flutter/flutter#141684) 2024-01-17 [email protected] Run build tests on both x64 and arm64. (flutter/flutter#141206) 2024-01-17 [email protected] Update tests to Xcode 15 (flutter/flutter#141706) 2024-01-17 [email protected] [web] prepare for flutter/engine#49786 (flutter/flutter#141700) 2024-01-17 [email protected] Marks Windows framework_tests_misc_leak_tracking to be unflaky (flutter/flutter#141676) 2024-01-17 [email protected] Label "flutter_localizations" PRs with "framework" (flutter/flutter#141654) 2024-01-17 [email protected] Fix Tooltip show delay when mouse moves to one Tooltip from another (flutter/flutter#141656) 2024-01-17 [email protected] Roll Packages from 7dd0fcb to 1a2b780 (6 revisions) (flutter/flutter#141683) 2024-01-17 [email protected] Fix the --empty flag to not try working with non-app templates (flutter/flutter#141632) 2024-01-17 [email protected] Revert "Roll Flutter Engine from 73a2de5da53f to c7e328518bc0 (5 revisions)" (flutter/flutter#141691) 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],[email protected],[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
It shouldn't be very common for x64 example projects to not build if they built on arm64. We have other tool tests that would probably catch those issues in presubmit. Instead run them on postsubmit only to free up limited x64 staging resources. Follow up from #141206
Most of the builds for mac_x64 can actually run on any available architecture. This is required to use capacity more efficiently.
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.