Skip to content
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

Ship FlutterMacOS.framework as unzipped inside the Mac host artifacts #110034

Closed
jmagman opened this issue Aug 22, 2022 · 3 comments
Closed

Ship FlutterMacOS.framework as unzipped inside the Mac host artifacts #110034

jmagman opened this issue Aug 22, 2022 · 3 comments
Labels
platform-mac Building on or for macOS specifically team-infra Owned by Infrastructure team tool Affects the "flutter" command-line tool. See also t: labels.

Comments

@jmagman
Copy link
Member

jmagman commented Aug 22, 2022

The FlutterMacOS.framework artifact is packaged as a zip that contains another zip.

FlutterMacOS.framework.zip

See example at https://storage.googleapis.com/flutter_infra_release/flutter/d1b9a6938ad77326ac3a94d92bbc77933ed829ed/darwin-x64-release/FlutterMacOS.framework.zip

Stop zipping FlutterMacOS.framework within the artifact zip. When complete, the zip should contain:

FlutterMacOS.framework

This requires an incremental step of shipping with both the FlutterMacOS.framework.zip and unzipped FlutterMacOS.framework in the same directory, which will double the size of the artifact from 11M to 22M. Having both will allow the tool and g3 roll to adopt the unzipped variant. Then, once adopted everywhere, delete the zip.

Tool changes (there may be more spots):

s.prepare_command = 'unzip FlutterMacOS.framework -d FlutterMacOS.framework'
and
operatingSystemUtils.unzip(frameworkZip, framework);

Roller changes:
https://source.corp.google.com/piper///depot/google3/mobile/flutter/tools/frob/roll_job/lib/src/cache_fetcher.dart;l=271-276?q=fluttermacos.framework&ss=piper%2FGoogle%2FPiper:google3%2Fmobile%2Fflutter%2Ftools%2F

https://source.corp.google.com/piper///depot/google3/mobile/flutter/tools/frob/roll_job/lib/src/cache_fetcher.dart;l=74-77?q=fluttermacos.framework&ss=piper%2FGoogle%2FPiper:google3%2Fmobile%2Fflutter%2Ftools%2F

This needs to be completed as part of #81855 per flutter/engine#35563.

See also where this was done for the Flutter.framework.zip to unzipped Flutter.xcframework:
Tool changes: #71495
Added unzip https://flutter-review.googlesource.com/c/recipes/+/9020
Related bug for roll script: b/issues/172736803#comment7
Removed zip https://flutter-review.googlesource.com/c/recipes/+/9560

@jmagman jmagman added tool Affects the "flutter" command-line tool. See also t: labels. platform-mac Building on or for macOS specifically team-infra Owned by Infrastructure team labels Aug 22, 2022
@jmagman
Copy link
Member Author

jmagman commented Aug 22, 2022

This requires an incremental step of shipping with both the FlutterMacOS.framework.zip and unzipped FlutterMacOS.framework in the same directory, which will double the size of the artifact from 11M to 22M. Having both will allow the tool and g3 roll to adopt the unzipped variant. Then, once adopted everywhere, delete the zip.

This needs to be completed as part of #81855 per flutter/engine#35563.

Alternatively, I can prep the tool work needed to be used when engine_v2 goes into effect, and the rollers can make the script changes when the engine_v2 artifacts first roll in.

@jmagman
Copy link
Member Author

jmagman commented Aug 23, 2022

Closing, this actually already happened in May. First seen in #103387, maybe somehow because of my change in https://flutter-review.googlesource.com/c/recipes/+/29840 ?

This is a more recent example than the link in my description: https://pantheon.corp.google.com/storage/browser/_details/flutter_infra_release/flutter/bbe0038e2a36e100bf0f0612cbb90163d02b257b/darwin-x64/FlutterMacOS.framework.zip;tab=live_object

@jmagman jmagman closed this as completed Aug 23, 2022
@github-actions
Copy link

github-actions bot commented Sep 6, 2022

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.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 6, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
platform-mac Building on or for macOS specifically team-infra Owned by Infrastructure team tool Affects the "flutter" command-line tool. See also t: labels.
Projects
None yet
Development

No branches or pull requests

1 participant