fix(ios): record cocoapods 1.17.0 podspec checksums in Podfile.lock - #2672
Conversation
Commit fba70b0 hand-edited the COCOAPODS version to 1.17.0 without regenerating the lockfile, so SPEC CHECKSUMS were still the 1.16.2 serialization and pod install --deployment rejected them in CI. Record the checksums CocoaPods 1.17.0 actually computes, as reported by the failed upload run.
|
Claude finished @ethicnology's task in 2m 19s —— View job Review: PR #2672 — record CocoaPods 1.17.0 podspec checksumsVerdict: LGTM. No correctness bugs, security issues, or regressions found. (Note: I can't post formal inline review comments — findings with file/line references are included here instead.) Todos
What I verifiedThe fix matches the pinning mechanism it serves. Security: no supply-chain weakening. SPEC CHECKSUMS are SHA-1s of the podspec JSON serialization, not a content-integrity control for the pod sources. The actual sources of all five affected plugins are pinned independently in
So accepting the checksums reported by the failed CI run doesn't let modified code in — a wrong checksum would only re-fail Consistency of the diff. The change is exactly +5/−5 in LimitationsI couldn't independently recompute the SHA-1 values (that requires CocoaPods 1.17.0's podspec JSON serialization on a macOS runner with the plugin podspecs resolved), and the shallow checkout prevented inspecting the referenced historical commits ( |
The "Upload App Store Connect" workflow fails at
pod install --deploymentwith lockfile checksum changes for the 5 CocoaPods plugins (flutter_secure_storage_legacy, rust_lib_bull_sdk, tor, universal_ble, webview_cookie_manager).Root cause
fba70b0 hand-edited the
COCOAPODS:line inios/Podfile.lockfrom 1.16.2 to 1.17.0 without regenerating the lockfile. The workflow pins CocoaPods to the version recorded in the lockfile, so CI now runs 1.17.0 — whose podspec JSON serialization differs from 1.16.2 (the exact behaviour the pin was added for in 84e478f). The committed SPEC CHECKSUMS were still the 1.16.2 values, so--deploymentcorrectly rejected them.The plugin sources themselves are unchanged: all five are pinned by ref/version in pubspec.lock and their podspec files are identical; only the checksum serialization changed.
Fix
Record the checksums CocoaPods 1.17.0 actually computes, as reported by the failed run (run #4, "New Lockfile" values). No other lockfile drift was reported (Flutter pod, PODFILE CHECKSUM, and the dependency graph all matched).