Skip to content

ci: auto-submit releases again, without the silent data loss - #379

Merged
vide merged 1 commit into
mainfrom
fix/play-auto-submit-with-safe-fallback
Sep 9, 2026
Merged

ci: auto-submit releases again, without the silent data loss#379
vide merged 1 commit into
mainfrom
fix/play-auto-submit-with-safe-fallback

Conversation

@vide

@vide vide commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Restores automatic Send for review so that cutting a tag on GitHub is the only manual step of a release — nightlies included — without reinstating the failure that made us turn it off.

The bind

Auto-submit (changesNotSentForReview: false) is what we want, but Google refuses it while the app has an unresolved review or policy issue. The refusal fails the commit, and a failed commit discards the entire edit — upload included. That is how v1.11.1 disappeared: the job logged Successfully uploaded 1 artifacts, went green on the upload step, and left nothing in Play Console.

Turning auto-submit off (#376) fixed the loss but made every release need a manual click, forever, to guard against a state that is rare.

Instead of choosing

  1. Upload with auto-submit. Normal case, zero attention.
  2. If that fails, re-upload with changesNotSentForReview: true. The bundle lands on the track and waits for Publishing overview → Send for review. Degrading to one click beats losing the release.
  3. Verify. Ask the Play API what is actually on the track and fail if the version code isn't there.

Step 3 matters independently: a green upload step was never proof the bundle persisted, and that is precisely what misled us for eight days.

The job summary states which path ran, so "do I need to click anything?" is answerable without reading logs.

Also removed

The old Assign to track (if bundle already uploaded) fallback. It was written for a state that cannot occur — a discarded commit leaves no bundle to assign — so its only observed behaviour was a confusing 404 The following APK version codes could not be found. The verification step replaces it.

Applies from the next tag

Nothing changes for v1.11.2, which is already uploaded and submitted. Safe to merge now regardless of where that review stands: if a release were cut while an issue is still open, step 1 fails, step 2 lands the bundle, and the summary says so — which is exactly the intended behaviour rather than a regression.

🤖 Generated with Claude Code

Restores automatic "send for review" so cutting a tag is the only manual
step, but keeps the failure that motivated turning it off from costing a
release.

Google refuses to auto-submit while the app has an unresolved review, and a
failed commit discards the edit including the upload. Rather than choosing
between automatic-but-lossy and reliable-but-manual, the upload now retries
with changesNotSentForReview when the auto-submit is refused, so the bundle
still lands and only the review click is deferred.

Also replaces the old "assign to track" fallback, which was written for a
state that cannot occur (a discarded commit leaves no bundle to assign, so
it always 404'd), with a verification step that asks Play what is really on
the track and fails when the answer is nothing.

Co-Authored-By: Claude Opus 5 <[email protected]>
@vide
vide merged commit 595ed4c into main Sep 9, 2026
1 check passed
@vide
vide deleted the fix/play-auto-submit-with-safe-fallback branch September 9, 2026 17:52
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