tree e8f8a452827b321f807ef6e9d55aec75363c3400
parent 39c6dc9bdd3ba2bc387e6e14b72fce5f46abfcae
author godofredoc <godofredoc@google.com> 1704417722 -0800
committer GitHub <noreply@github.com> 1704417722 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJll1m6CRBK7hj4Ov3rIwAABIoIABJj8zPDJ/0zrpp0lli4biEX
 p2RcSgoiHntBIYJK/25qxm1MuYHkrwYLGKePh8M6zl16JFtpdoq3sOON1AfzlCA3
 86XWnZ57s8NxfrBFyG9as++X0NwTe/gjuK/S0bFv6cwdcbRpDmqVil4Xu0KDVKAF
 rVpS6wu48PiIEJqoVB3D5R328kb4crcWBDyBGrx1321VQj4mDQ0BiODTt/QAAdhc
 otleCqCNI0v48rwzg+M6DtL1Fe6iEYjEl2tg7w5Abx8B51V2ch4vJ4J9ti+IFfg8
 dSPO92h/0iYotxziefC0tPboxQCxkxSLn1/QGIRn+rqeq6hKzDFHUvYZ7XpUnVk=
 =0ypn
 -----END PGP SIGNATURE-----
 

CP: Use Mac M1s or x86 wherever possible. (#49540) (#49545)

Arch type was fixed to x86 because release candidate branches didn't
have rosetta installed. Rosetta was enabled on December unblocking the
use of M1 machines in most of mac ios sub-builds.

Bug: https://github.com/flutter/flutter/issues/133207

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I signed the [CLA].
- [X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat