-
Notifications
You must be signed in to change notification settings - Fork 6k
Fixes the output path for release dsym. #35338
Conversation
The code path dealing with release information was not implementing the relative paths calculation correctly. Bug: flutter/flutter#81855
| subprocess.check_call([ | ||
| 'zip', '-r', | ||
| '%s/Flutter.dSYM.zip' % dst, | ||
| '%s/Flutter.dSYM/Contents' % dst |
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 this replacing something that will be moved from the recipe? I see https://flutter.googlesource.com/recipes/+/refs/heads/main/recipes/engine/engine.py#1375 but it's zipping the Flutter.dSYM, not the Contents subdirectory.
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.
Nice catch, updated!
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.
Let me know when this is all checked in and I can validate the final output, if you want.
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.
Also maybe https://github.com/flutter/engine/blob/main/testing/symbols/verify_exported.dart should be updated to check this zip exists?
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'm missing adding the verify exported check. Whether this script is run or not will depend on the configuration file. I may need to make some changes to verify_exported before I can add it to the config file. Let run it with led and share the build.
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.
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.
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.
Here is one successful led run: https://chromium-swarm.appspot.com/task?id=5cb1a2362e463c10
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.
How can I download the artifacts to check if the symbols are in the right place?
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.
You can click the gsutil.upload links at the end of the build, they will take you to the upload location in gcs.
| 'zip', '-r', 'artifacts.zip', 'gen_snapshot_arm64', 'Flutter.xcframework' | ||
| ], | ||
| cwd=dst) | ||
| if (os.path.exists(os.path.join(dst, 'Flutter.dSYM', 'Contents'))): |
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.
Do the scripts already know not to generate external symbols except in release mode?
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.
Not sure, but for engine_v2 recipes we are calling explicit ninja targets rather than building the full configuration. This is an example: https://github.com/flutter/engine/pull/35366/files
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.
It's not zipping this up correctly, it's unzipping a directory named opt that contains opt/s/w/ir/cache/builder/src/out/release/
Here's from the led command:
https://storage.googleapis.com/flutter_archives_v2/flutter_infra_release/flutter/cc2b4dbc0994fafe25752f32487a7ab52ca07a8d/ios-release/Flutter.dSYM.zip
opt/s/w/ir/cache/builder/src/out/release/Flutter.dSYM/Contents/Resources/DWARF/Flutter
Here's what it's supposed to look like:
https://storage.googleapis.com/flutter_infra_release/flutter/f16e757d5d68c164d084b61d84e3b7cd14eacba9/ios-release/Flutter.dSYM.zip
Flutter.dSYM/Contents/Resources/DWARF/Flutter
|
@godofredoc Can I get another |
It took several changes to get the zip file right. Here is the link: https://chromium-swarm.appspot.com/task?id=5cbda3086da64d10 |
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.
zip structure looks correct now.

The code path dealing with release information was not implementing the
relative paths calculation correctly.
Bug: flutter/flutter#81855
Pre-launch Checklist
writing and running engine tests.
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.