Move snapshot test device to iPhone 18 Pro Max - #549
Merged
Merged
Conversation
Updates the snapshot device guard, the README testing table, and both xcodebuild destinations in the workflow. The iOS version is unchanged — 27.0 was already the baseline. No reference images changed. Re-recording all 246 snapshots on the new device produced byte-identical output: `framedForTest` pins views to a fixed 390pt width and both devices render at @3x, so the rendered frame is 1170x3000 either way. The suite is effectively device-independent, and the guard constant serves as a consistency lock rather than something that shapes the output. Verified on Xcode 27.0 RC1: full suite green on iPhone 18 Pro Max / iOS 27.0, 2572 test executions across 22 bundle runs (13 bundles x Default and TSAN), 0 failures. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves the snapshot test device from iPhone 17 Pro to iPhone 18 Pro Max.
The iOS version is unchanged — 27.0 was already the baseline as of #548, so this is purely the device swap.
Changes
All four references to the device, kept in sync:
AssertSnapshotWithDeviceCheck.swift:8expectedDeviceNameguard constantVault/README.md:110validate-all.yml:107build-for-testingdestinationvalidate-all.yml:183test-without-buildingdestinationNo reference images changed
Re-recorded all 246 snapshots on iPhone 18 Pro Max. The output is byte-identical to the iPhone 17 Pro references — 239 files were rewritten on disk, and
git statusreports zero content changes.The reason is
framedForTest, which pins views to a fixed 390pt width, and both devices render at @3x. The rendered frame is 1170×3000 px either way, so the physical device never influenced the images.Practical consequence: the snapshot suite is effectively device-independent, and
expectedDeviceNamefunctions as a consistency lock — it keeps everyone recording on the same configuration — rather than something that shapes output. Worth knowing if the device ever needs changing again: the images should not churn.Verification
Local, Xcode 27.0 RC1 (
27A266a), iPhone 18 Pro Max / iOS 27.0:xcodebuild build-for-testing—TEST BUILD SUCCEEDED-parallel-testing-enabled NO—TEST EXECUTE SUCCEEDED, 2572 test executions across 22 bundle runs (13 bundles × Default and TSAN), 0 failures, no crashes or bootstrap errorsmake format+make lint— cleanAutomatic CI is still disabled (#548), so the workflow destination changes here are unexercised — they will first run when CI is re-enabled. They match the local destination string that was just verified.
🤖 Generated with Claude Code