Skip to content

Make the Play listing publish manual-only - #806

Merged
patrickrb merged 1 commit into
devfrom
chore/listings-manual-only
Sep 8, 2026
Merged

patrickrb merged 1 commit into
devfrom
chore/listings-manual-only

Conversation

@patrickrb

Copy link
Copy Markdown
Owner

What

A merge to main no longer touches Google Play in any way.

android.yml already uploaded no AAB on a main push (#794) — play-listings.yml was the last Play-touching thing left on that path: a main push touching fastlane/metadata/android/** published the changed locales to the store as a side effect of the promotion. This drops that trigger.

After this

Event What happens
PR touching listing metadata validate only (completeness + Play character limits) — unchanged
push to dev / staging / main nothing — no listing publish
Actions → "Play store listings" → Run workflow dry-run (default, read-only) / check-permissions / publish
python .github/scripts/publish_listings.py locally the same publish, run when you're ready

So staging → main now cuts the android-v<x.y.z> tag + GitHub Release and the desktop-v* release, and stops there. Both the app binary and the store copy are shipped deliberately, by hand.

Also: MODE now falls back to the read-only dry-run rather than publish, so a mode that somehow arrives empty sends nothing to Play.

Tests

No new code path — the change is workflow triggers plus docs. The 135 publish_listings unit tests pass unchanged (python -m unittest discover -s .github/scripts), and the workflow still parses with only pull_request + workflow_dispatch triggers.

Docs updated: docs/release-pipeline.md (branch lifecycle + Store listings section) and docs/store-listings.md (Publishing section).

🤖 Generated with Claude Code

https://claude.ai/code/session_01XNDpfHeom9W1c7spiGxP6H

A merge to `main` no longer touches Google Play in any way. `android.yml`
already uploaded no AAB on a main push (PR #794); `play-listings.yml` was the
last thing that did — a main push touching `fastlane/metadata/android/**`
published the changed locales to the store as a side effect of the promotion.

Drop that push trigger. Listing text still lands in the repo on the normal
feature -> dev -> staging -> main flow and is still validated on the way in
(the PR gate runs the completeness/character-limit tests unchanged), but it
reaches the store only when someone runs the publish on purpose: the manual
workflow_dispatch (dry-run / check-permissions / publish) or
`.github/scripts/publish_listings.py` locally.

Also make MODE fall back to the read-only `dry-run` instead of `publish`, so a
mode that somehow arrives empty sends nothing to Play.

No new code path to test: the change is workflow triggers plus docs, and the
135 publish_listings unit tests pass unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XNDpfHeom9W1c7spiGxP6H
@codecov

codecov Bot commented Sep 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 42.64%. Comparing base (dd0cbd6) to head (416f94e).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff            @@
##                dev     #806   +/-   ##
=========================================
  Coverage     42.64%   42.64%           
  Complexity      226      226           
=========================================
  Files           267      267           
  Lines         32068    32068           
  Branches       3664     3664           
=========================================
  Hits          13675    13675           
  Misses        18132    18132           
  Partials        261      261           
Flag Coverage Δ
native 9.93% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@patrickrb
patrickrb merged commit fe346e4 into dev Sep 8, 2026
19 checks passed
@patrickrb
patrickrb deleted the chore/listings-manual-only branch September 8, 2026 17:03
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