Fail the release when the screenshots went up twice - #177
Merged
Conversation
Both listings carry the same pictures and ran together, so App Store Connect was taking 264 at once. Enough came back failed that they were uploaded again, and a locale kept the same screenshot three times. The retry is now a failed job rather than a quiet success, because the pictures are up either way and somebody has to look. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W2XM93Raj1jyvUuYmpQrcz
andiwand
enabled auto-merge (squash)
August 18, 2026 21:51
Uploading one app at a time was a guess at why the pictures doubled, and re-running one app on its own doubled them again - so the load is not it. The check stays: a run that had to go round again is one to look at. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W2XM93Raj1jyvUuYmpQrcz
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.
1.41's listing went up with the same screenshot three times in some locales, on
both apps, and nothing said so. This makes the run say so.
What happened
Each listing uploads 132 pictures - 6 per device, two devices, eleven locales.
Enough of them came back unfinished that deliver went round again:
deliver does try not to duplicate: on a retry it skips anything whose checksum is
already up, and this run skipped 67. But it also deletes the ones it reads as
incomplete before uploading them again, and a delete that has not taken leaves
both. 219 uploads landed for 132 files, and the slots filled to the ten App Store
Connect allows: German iPhone held
02-textthree times,03-sheetand05-pdftwice each.It is not new. Yesterday's run retried once and uploaded 149 for 132 - seventeen
too many, quietly. Today it filled the cap, which is the only reason it was seen.
Why the cause is still open
The first version of this branch uploaded one app at a time, on the reasoning
that both listings together put 264 pictures in front of App Store Connect. That
is wrong, and the run says so: re-running one app on its own, with the other long
finished, doubled them again - three retries, 216 uploads for 132. Yesterday both
ran together and retried once. The load does not line up, so the guess came out
rather than going in.
What is left is timing inside deliver: a screenshot that has not finished
processing when it looks reads as incomplete, and deleting one of those is a race
it can lose.
sync_screenshotsis the other lever and is not taken here: it sits behindFASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS, and a release pipeline is thewrong place for a beta flag.
So this only checks
A retry is now a failed job. The pictures are up either way, so the point is that
somebody goes and looks before submitting - which is what did not happen
yesterday. The README says what to do when it fires, including that re-running
has not been enough on its own.
Not checked against a real upload
The check cannot be exercised without an App Store Connect key. The yaml parses;
the grep is read but not run. The next release is the proof.
🤖 Generated with Claude Code
https://claude.ai/code/session_01W2XM93Raj1jyvUuYmpQrcz