Repository navigation
chore: use 3.1.1 migration baselines - #311
Conversation
talosmachina
left a comment
There was a problem hiding this comment.
No findings. Moves the Android and iOS native migration baselines from 3.1.0 to 3.1.1 and records the 3.1.1 archive digests. Reviewed 61fa986, light tier.
What I checked, and 3 candidates I ruled out
Read in full: config/migration-baselines.json, config/migration-checksums.json, and their readers scripts/migration-matrix.py (migration_plan) and scripts/download-migration-app.py (download)
CI: this repo runs no checks on the branch. The two hosted migration runs linked in the body were still in_progress when I looked.
Not run: talos-pr-run could not confirm the author's permission on this repo, so I did not execute the branch; this review is static plus the asset checks below. Both JSON files parse.
Ruled out
- Digest mismatch: both new values equal GitHub's own
digestforbitkit_e2e.apkandBitkit.app.zipon the 3.1.1 release, and the release'sSHA256SUMS.txt. - Asset name or tag drift:
download()fetchesreleases/download/<version>/<asset>with the asset namesbitkit_e2e.apkandBitkit.app.zip, and looks upchecksums[<version>][<asset>]; the new3.1.1key and both asset names match the release. - Helper tests pinned to the old baseline:
test_migration_tools.pywrites its own fixture baselines since #299, so the bump needs no test change.
Merge confidence: 4/5, a config value checked against the release, but the hosted migration runs it cites had not finished.
talosmachina
left a comment
There was a problem hiding this comment.
Re-review of 0ea0ade after 61fa986. 0 earlier findings, 0 new findings. The new commit swaps the iOS 3.1.1 Bitkit.app.zip digest for the repackaged archive. Light tier.
What I checked
Diff since 61fa986: one line, config/migration-checksums.json 3.1.1 Bitkit.app.zip, 64f3717... to 173db90....
Digest: I downloaded the current Bitkit.app.zip from the 3.1.1 release and hashed it: 173db903...98d1. That matches the new value, GitHub's asset digest and the release's SHA256SUMS.txt. The APK digest is unchanged and still matches.
Bundle root: the archive's only top-level entry is Bitkit.app/ and it contains Bitkit.app/Info.plist, which is what download() in scripts/download-migration-app.py checks for a native archive. So the lowercase-root rejection the body describes no longer applies.
Hosted runs: Android migration succeeded on all four cases. iOS migration attempt 2 succeeded on all four cases.
Ordering: per the body, the native version bumps land first. synonymdev/bitkit-android#1904 and synonymdev/bitkit-ios#1319 are both still open.
Not run: nothing from the branch ran on this box. The JSON parses.
Merge confidence: 5/5. It is a config value checked against the published asset, and both hosted migration runs that use it are green.
There was a problem hiding this comment.
Verdict: ✅ Approve
Findings: None.
QA for 0ea0ade:
Migration helper validation ✅ Existing helper tests pass.
Ran python3 -m unittest discover -s scripts -p 'test_migration_tools.py'; migration shell syntax and diff checks also passed.
Check: native and React Native baseline selection ✅ Both matrices retain the intended coverage.
Executed both matrix generators: native restore and upgrade select 3.1.1; both RN cases retain v1.1.6. Compared the checksum map against the base: every historical entry is unchanged.
Android baseline archive verification ✅ The published APK passes the downloader's validation.
Ran scripts/download-migration-app.py android native 3.1.1 against the published 3.1.1 archive: the downloaded APK matches the pinned SHA-256 and contains AndroidManifest.xml.
iOS baseline archive verification ✅ The corrected ZIP passes verification and extraction.
Ran scripts/download-migration-app.py ios native 3.1.1: the downloaded ZIP matches the pinned SHA-256 and extracts Bitkit.app. Its plist identifies simulator version 3.1.1, build 204; executable permissions are preserved.
Check: Android restore and upgrade coverage ✅ Hosted logs confirm the routine cases passed.
Verified native and RN restore/upgrade assertions in the hosted migration logs. They used E2E 61fa986; only the iOS checksum changed afterward. Both native jobs verified the pinned 3.1.1 APK.
Check: iOS restore and upgrade coverage ✅ Hosted logs confirm the routine cases passed, with a retry.
Verified native and RN restore/upgrade assertions in workflow attempt 2, using E2E 0ea0ade. Both native jobs verified the corrected ZIP. RN upgrade passed after a session-creation timeout and retry. The earlier Spending Balance Error described in the PR remains unexplained by that pass.
Reviewed the full two-file diff from ce9c0e2 to 0ea0ade and its consumers. No new device run or app build: reused the linked hosted coverage for these unchanged journeys. No application behavior changes are included.
The documented merge order still applies; both prerequisites remain open:
- bitkit-android#1904 chore: record Android 3.1.1 release
- bitkit-ios#1319 chore: record iOS 3.1.1 release
Reviewed by gpt-6.1-sol-high
Future Android and iOS migration runs should start from the shipped 3.1.1 native release. Advance both defaults to 3.1.1 and record the SHA-256 digests of the archived regtest APK and iOS simulator ZIP. Keep historical checksums and React Native v1.1.6 coverage.
Hosted validation uses this PR's default pins and the standard RN cases. The targets are the 3.1.1 version-bump branches because both current masters still build 3.1.0.
Land the native version bumps before switching the default baseline so scheduled migration runs have compatible install-over targets.