You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Discovered chasing down the last remaining CodeQL Swift failure on main.
Problem chain:
1. Package.swift had stale checksums that didn't match v0.19.12 binaries
2. release.yml has a "Sync Package.swift checksums" step that calls
scripts/sync-checksums.sh, but it was silently no-op'ing forever
3. Even when I forced it to run, it was putting the WRONG hash on each
target (RACommons got LlamaCPP's hash, LlamaCPP got RACommons', etc.)
Root causes:
- The outer glob `RACommons-v*.zip` doesn't match the post-v0.19.0 naming
`RACommons-ios-v*.zip`. Fixed to `RACommons-ios-v*.zip`.
- sync-checksums.sh internal mapping used old prefixes too. Updated.
- sync-checksums.sh regex for update_checksum_line used non-greedy `.*?`
DOTALL matching `name: "X"...checksum:`. Package.swift has two entries
per binary (local-mode with `path:` and no checksum, remote-mode with
`url:`/`checksum:`). The regex hit the local entry first, then scanned
forward to the NEXT `checksum:` in the file — which belongs to a
DIFFERENT target. Result: cross-target checksum contamination.
Fix: require `url:` between name and checksum to skip local-mode entries.
Also updates Package.swift with v0.19.12's actual binary checksums so
main has a known-good reference. The follow-up PR after v0.19.13 release
will replace these with v0.19.13's checksums (since builds aren't fully
deterministic — this is a known wart, documented in release.yml).
Bumps to 0.19.13.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
0 commit comments