-
Notifications
You must be signed in to change notification settings - Fork 6k
iOS: Add dSYM binaries to without_entitlements.txt #54576
Conversation
8a5b7bc
to
152e4b0
Compare
In flutter#54414, we added dSYM files for physical and simulator binaries in both regular and extension-safe framework builds, but did not add the dSYMs to the without_entitlements.txt list. This passed all engine pre/post-submit tests, as well as framework tests, but failed during release codesigning in Cocoon in a test here: https://github.com/flutter/cocoon/blob/d849b14bab90e0f90e2f7667e37c9f9a5696b918/cipd_packages/codesign/lib/src/file_codesign_visitor.dart#L305-L313 This adds the missing files to without_entitlements.txt, which fixes a codesigning error as seen in this build log: https://ci.chromium.org/ui/p/dart-internal/builders/flutter/Mac%20Production%20Engine%20Drone/13590/overview A corresponding change was landed on the flutter-3.24-candidate.1 branch: flutter#54573 The build associated with that patch correctly completed code signing in this build: https://ci.chromium.org/ui/p/dart-internal/builders/flutter/Mac%20engine_release_builder/688/overview And more specifically, this sub-build: https://ci.chromium.org/ui/p/dart-internal/builders/flutter/Mac%20Production%20Engine%20Drone/13650/overview And even more specifically, this build step: https://logs.chromium.org/logs/dart-internal/buildbucket/cr-buildbucket/8739493904842446705/+/u/Global_generators/Codesign__Volumes_Work_s_w_ir_cache_builder_src_out_release_unsigned_artifacts.zip/codesign_Apple_engine_binaries/stdout Additionally, this patch adds `sky_utils.assert_valid_codesign_config()` which fails the script (and thus the build) with an error message if any file in scope for code signing (i.e. Mach-O binaries) is not listed in the code-signing config (entitlements.txt, without_entitlements.txt), or any listed file is not found on disk. Issue: flutter/flutter#116493
152e4b0
to
ec52964
Compare
|
Eliminate duplicate value found in without_entitlements.txt
Ha look at that, checks already catching issues! We only produce dSYMs in release builds, in others the dSYM flag isn't passed. This is actually harmless since the only builds we sign are ones with dSYMs, but we should still generate these correctly. It's painful enough just testing the seven builds required to do release build testing locally, so hadn't been testing debug/profile cases locally on top of it. One more conditional and we should be good. |
Alrighty, here we go again. |
I may be misremembering but aren't dSYM usually only generated for release mode? I don't think it bakes the symbols into the debug binary (for linker speed) but there's some other mechanism for how it works? I don't exactly recall though. |
Yep that's exactly what I was saying here, though perhaps badly. We now (as of this commit) only add them if the engine/ci/builders/mac_ios_engine.json Line 511 in 97e990c
Debug/Profile builds aren't stripped, so they're properly symbolicated as-is. The release builds are the only ones we strip (here): engine/ci/builders/mac_ios_engine.json Line 512 in 97e990c
|
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.
Tests! Tests! Tests! Tests! Tests! Tests!
…153582) flutter/engine@d5bf3af...b66893e 2024-08-16 [email protected] iOS: Add dSYM binaries to without_entitlements.txt (flutter/engine#54576) 2024-08-16 [email protected] Manual roll Dart SDK from 44635f897535 to 8c02ad43e01a (3 revisions) (flutter/engine#54581) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…lutter#153582) flutter/engine@d5bf3af...b66893e 2024-08-16 [email protected] iOS: Add dSYM binaries to without_entitlements.txt (flutter/engine#54576) 2024-08-16 [email protected] Manual roll Dart SDK from 44635f897535 to 8c02ad43e01a (3 revisions) (flutter/engine#54581) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
In flutter/engine#54414, we added dSYM files for physical and simulator binaries in both regular and extension-safe framework builds. In flutter/engine#54576 we added the dSYMs to the without_entitlements.txt list. The `dev/bots/suite_runners/run_verify_binaries_codesigned_tests.dart` test was updated to reflect these changes in: * flutter#153787 * flutter#154027 This cherrypicks these two changes to the release branch. Issue: flutter#116493
In flutter/engine#54414, we added dSYM files for physical and simulator binaries in both regular and extension-safe framework builds. In flutter/engine#54576 we added the dSYMs to the without_entitlements.txt list. The `dev/bots/suite_runners/run_verify_binaries_codesigned_tests.dart` test was updated to reflect these changes in: * #153787 * #154027 This cherrypicks these two changes to the release branch. Issue: #116493
In flutter/engine#54414, we added dSYM files for physical and simulator binaries in both regular and extension-safe framework builds. In flutter/engine#54576 we added the dSYMs to the without_entitlements.txt list. The `dev/bots/suite_runners/run_verify_binaries_codesigned_tests.dart` test was updated to reflect these changes in: * flutter#153787 * flutter#154027 This cherrypicks these two changes to the release branch. Issue: flutter#116493
In #54414, we added dSYM files for physical and simulator binaries in both regular and extension-safe framework builds, but did not add the dSYMs to the without_entitlements.txt list.
This passed all engine pre/post-submit tests, as well as framework tests, but failed during release code signing in Cocoon in a test here:
https://github.com/flutter/cocoon/blob/d849b14bab90e0f90e2f7667e37c9f9a5696b918/cipd_packages/codesign/lib/src/file_codesign_visitor.dart#L305-L313
This adds the missing files to
without_entitlements.txt
, which fixes a code-signing error as seen in this build log:https://ci.chromium.org/ui/p/dart-internal/builders/flutter/Mac%20Production%20Engine%20Drone/13590/overview
A corresponding change was landed on the flutter-3.24-candidate.1 branch:
#54573
The build associated with that patch correctly completed code signing in this build:
https://ci.chromium.org/ui/p/dart-internal/builders/flutter/Mac%20engine_release_builder/688/overview
And more specifically, this sub-build:
https://ci.chromium.org/ui/p/dart-internal/builders/flutter/Mac%20Production%20Engine%20Drone/13650/overview
And even more specifically, this build step:
https://logs.chromium.org/logs/dart-internal/buildbucket/cr-buildbucket/8739493904842446705/+/u/Global_generators/Codesign__Volumes_Work_s_w_ir_cache_builder_src_out_release_unsigned_artifacts.zip/codesign_Apple_engine_binaries/stdout
Additionally, this patch adds
sky_utils.assert_valid_codesign_config()
which fails the script (and thus the build) with an error message if any file in scope for code signing (i.e. Mach-O binaries) is not listed in the code-signing config (entitlements.txt
,without_entitlements.txt
), or any listed file is not found on disk.Issue: flutter/flutter#116493
Issue: flutter/flutter#153532
Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.