-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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] Clean up iOS simulators #3458
Conversation
Balances the simulator creation step with a removal step, since LUCI bots aren't automatically restored to a clean slate after every run. Fixes flutter/flutter#122416
This doesn't attempt to go back and clean up old cruft, but it'll avoid things from building up over time going forward. |
@@ -22,3 +22,5 @@ tasks: | |||
# So we run `drive-examples` after `native-test`; changing the order will result ci failure. | |||
script: script/tool_runner.sh | |||
args: ["drive-examples", "--ios", "--exclude=script/configs/exclude_integration_ios.yaml"] | |||
- name: remove simulator | |||
script: .ci/scripts/remove_simulator.sh |
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.
Should this be run in an always:
block? https://cirrus-ci.org/guide/writing-tasks/
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.
Ha never mind this is luci, is there a cleanup mechanism in this fancy yaml system that moved everything out of the recipe?
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.
is there a cleanup mechanism in this fancy yaml system that moved everything out of the recipe?
You may be overestimating the level of fanciness here :)
Now that you mention it, I don't actually know if currently it'll stop on the first failing step, or run everything. I should upload a build-breaking PR and see what runs.
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.
Answer: no, there's no cleanup mechanism 😬
I filed flutter/flutter#122629. Should we land this as-is to at least slow the bleeding of simulators, and then adjust it later once we have a cleanup stage?
xcrun simctl shutdown "$DEVICE_NAME" | ||
xcrun simctl delete "$DEVICE_NAME" |
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 think you can delete without shutting down?
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.
Actually this matches what we do in the framework:
https://github.com/flutter/flutter/blob/dfab19c1fe9d2e2f359494700c80633f0404cf31/dev/devicelab/lib/framework/ios.dart#L115-L131
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
xcrun simctl shutdown "$DEVICE_NAME" | ||
xcrun simctl delete "$DEVICE_NAME" |
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.
Actually this matches what we do in the framework:
https://github.com/flutter/flutter/blob/dfab19c1fe9d2e2f359494700c80633f0404cf31/dev/devicelab/lib/framework/ios.dart#L115-L131
Overriding stale tree status. |
* 7636eb7 [go_router_builder] Support default value for `Set`, `List` and `Iterable` route parameters (flutter/packages#3391) * 26c95da [image_picker] Move HashSet construction within if-statement (flutter/packages#3448) * f5687b2 [image_picker] fix typos in comments (flutter/packages#3413) * 84afba7 [image_picker] Migrate Android to Pigeon (flutter/packages#3476) * 42927fc [image_picker]: Bump androidx.exifinterface:exifinterface from 1.3.3 to 1.3.6 in /packages/image_picker/image_picker_android/android (flutter/packages#3238) * 9a44bdf Require Dart SDK 2.14, because of using APIs. (flutter/packages#3468) * 12609a2 [ci] Clean up iOS simulators (flutter/packages#3458) * 9b136a9 [ci/tool] Add external dependency validation (flutter/packages#3466) * 11aab47 Manual roll Flutter from fb7e828 to 67e5f66 (8 revisions) (flutter/packages#3482) * 784291b Update goldens (flutter/packages#3442) * 43a42d1 [webview_flutter_android] Updates Dart and Java InstanceManagers (flutter/packages#3282) * d0de136 [camera] Reland android flip/change camera while recording (flutter/packages#3460) * 74fd094 [image_picker_android] Adjust file extension in FileUtils when it does not match its mime type (flutter/packages#3409) * d2f1d2d [flutter_adaptive_scaffold] : 🐛 [FIX] : Issue: 121135. (flutter/packages#3253) * 3d078b5 Roll Flutter from 67e5f66 to 53dfd23 (39 revisions) (flutter/packages#3484) * 3b3a09d [url_launcher] Convert iOS to Pigeon (flutter/packages#3481) * 80cd50a Roll Flutter from 53dfd23 to 6bd2b3c (17 revisions) (flutter/packages#3486) * 998bb29 [webview_flutter] Updates the README with the migration of `WebView.initialCookies` and Hybrid Composition on (flutter/packages#3470) * bbf86a7 Roll Flutter from 6bd2b3c to 3e4e092 (7 revisions) (flutter/packages#3490)
[ci] Clean up iOS simulators
Balances the simulator creation step with a removal step, since LUCI bots aren't automatically restored to a clean slate after every run.
Fixes flutter/flutter#122416