Skip to content

Fail the release when the screenshots went up twice - #177

Merged
andiwand merged 2 commits into
mainfrom
fail-on-duplicate-screenshots
Aug 18, 2026
Merged

Fail the release when the screenshots went up twice#177
andiwand merged 2 commits into
mainfrom
fail-on-duplicate-screenshots

Conversation

@andiwand

@andiwand andiwand commented Aug 18, 2026

Copy link
Copy Markdown
Member

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:

21:25:56  Starting with the upload of screenshots...
21:26:01  Successfully deleted all screenshots
21:26:49  Failed to upload all screenshots... Tries remaining: 4
21:27:18  Failed to upload all screenshots... Tries remaining: 3
21:27:31  Failed to upload all screenshots... Tries remaining: 2
21:27:45  Successfully uploaded screenshots to App Store Connect

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-text three times, 03-sheet and
05-pdf twice 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_screenshots is the other lever and is not taken here: it sits behind
FASTLANE_ENABLE_BETA_DELIVER_SYNC_SCREENSHOTS, and a release pipeline is the
wrong 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

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
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
@andiwand andiwand changed the title Upload one app's screenshots at a time, and say when they doubled Fail the release when the screenshots went up twice Aug 18, 2026
@andiwand
andiwand merged commit 5e1b77e into main Aug 18, 2026
4 checks passed
@andiwand
andiwand deleted the fail-on-duplicate-screenshots branch August 18, 2026 22:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant