Skip to content

Commit

Permalink
[iOS] Do not archive/upload Flutter.dSYM to cloud (flutter#54492)
Browse files Browse the repository at this point in the history
As of the following three patches, we now bundle Flutter.framework.dSYM as part of Flutter.xcframework and bundle them in the .xcarchive bundles produced by `flutter build ipa` / Xcode Product > Archive for upload to the iOS App Store.

* flutter#54414
* flutter#54458
* flutter/flutter#153215

The .dSYM bundle is now available both in the uploaded .xcarchive and in the xcframework in Flutter's internal artifact cache. For developers with CI toolchains that do additional manual handling or local archiving of .dSYMs, the dSYMs no longer need to be downloaded from cloud storage as previously detailed in `docs/Crashes.md`, but can instead be copied up from the appropriate dSYM subdirectory in the framework cache:

* `flutter/bin/cache/artifacts/engine/ios-release/Flutter.xcframework`

Issue: flutter/flutter#116493
Credo: [Embrace the yak shave](https://suno.com/song/37cb7c43-85ad-40f2-87e6-9aec7baa0419)

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
  • Loading branch information
cbracken authored Aug 10, 2024
1 parent 2c910fc commit c11fe48
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 30 deletions.
10 changes: 0 additions & 10 deletions ci/builders/mac_ios_engine.json
Original file line number Diff line number Diff line change
Expand Up @@ -540,16 +540,6 @@
"source": "out/release/artifacts.zip",
"destination": "ios-release/artifacts.zip",
"realm": "production"
},
{
"source": "out/release/Flutter.dSYM.zip",
"destination": "ios-release/Flutter.dSYM.zip",
"realm": "production"
},
{
"source": "out/release/extension_safe_Flutter.dSYM.zip",
"destination": "ios-release/extension_safe_Flutter.dSYM.zip",
"realm": "production"
}
]
}
20 changes: 0 additions & 20 deletions sky/tools/create_full_ios_framework.py
Original file line number Diff line number Diff line change
Expand Up @@ -219,26 +219,6 @@ def zip_archive(dst):
],
cwd=dst)

# Generate Flutter.dSYM.zip for manual symbolification.
#
# Historically, the framework dSYM was named Flutter.dSYM, so in order to
# remain backward-compatible with existing instructions in docs/Crashes.md
# and existing tooling such as dart-lang/dart_ci, we rename back to that name
#
# TODO(cbracken): remove these archives and the upload steps once we bundle
# dSYMs in app archives. https://github.com/flutter/flutter/issues/116493
framework_dsym = os.path.join(dst, 'Flutter.framework.dSYM')
if os.path.exists(framework_dsym):
renamed_dsym = framework_dsym.replace('Flutter.framework.dSYM', 'Flutter.dSYM')
os.rename(framework_dsym, renamed_dsym)
subprocess.check_call(['zip', '-r', 'Flutter.dSYM.zip', 'Flutter.dSYM'], cwd=dst)

extension_safe_dsym = os.path.join(dst, 'extension_safe', 'Flutter.framework.dSYM')
if os.path.exists(extension_safe_dsym):
renamed_dsym = extension_safe_dsym.replace('Flutter.framework.dSYM', 'Flutter.dSYM')
os.rename(extension_safe_dsym, renamed_dsym)
subprocess.check_call(['zip', '-r', 'extension_safe_Flutter.dSYM.zip', 'Flutter.dSYM'], cwd=dst)


def process_framework(args, dst, framework_binary, dsym):
if dsym:
Expand Down

0 comments on commit c11fe48

Please sign in to comment.