-
Notifications
You must be signed in to change notification settings - Fork 4k
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
ci: move to macOS 13 runner #10841
ci: move to macOS 13 runner #10841
Conversation
id: avd-cache | ||
with: | ||
path: | | ||
~/.android/avd/* | ||
~/.android/adb* | ||
key: avd | ||
- name: Generate AVD snapshot for caching |
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 am surprised this yields a positive result! Really cool if so.
What I observed on multiple runs where the AVD cache was pre-generated (before API33 at least...) was lower performance on the first run (obviously) but if the AVD cache was pushed on main branch only so it wasn't evicted from github's cache, subsequent runs on main and all PR branches were much faster as a performance benefit
What I further observed was that the emulator performs lots of "first run" type things on it's first boot, so when I gave the emulator time to do that during AVD cache generation - meaning it was already "warm" for cache hits, I actually had greater stability as well, since there were some "first run" type things that failed sometimes (Zygote initial memory setting, for instance, or just race conditions with test operations) that resulted in better AVD stability on cache-hit runs / less flakes, as a stability benefit
If your new CI AVD strategy results in similar or better performance and stability, I need to look at this in react-native-firebase
Description
Thanks to macOS 13 images we can also run macos ci on the latest version of Flutter.
Related Issues
Replace this paragraph with a list of issues related to this PR from the issue database. Indicate, which of these issues are resolved or fixed by this PR. Note that you'll have to prefix the issue numbers with flutter/flutter#.
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (
[x]
).This will ensure a smooth and quick review process. Updating the
pubspec.yaml
and changelogs is not required.///
).melos run analyze
) does not report any problems on my PR.Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?