Repository navigation
Android: Play release tooling, store listing, 1.0, editor fixes - #53
Conversation
scripts/play.py drives the Play Developer API the way asc.py drives App Store Connect: upload to a track with release notes, promote, staged rollout, store listing text and images, testers. Every write is a Play edit; --dry-run has Google validate it and discards it, and production needs --yes-production. /release-android wraps it like /archive. Store listing in app/android/play/listing/default (text from listing.md, icon, feature graphic, phone and tablet screenshots with fictional data). Version 1.0 (code 1) and its release notes. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Edit Person opened with Save enabled and Back left without asking. Save is now enabled only after a change, and Back with changes asks Save / Discard, as the flight editor does. - A crew member or passenger with a single document showed no document line on the flight; it now shows as a plain label (the menu stays for two or more). - Before the destination is known, arrival used UTC beside a local departure time; it now follows departure's zone until the destination's arrives. New Flight's route row shows the route rather than repeating the "Route" heading. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Code ReviewReviewed the Play release tooling ( Important
Minor
|
1.0 (1) uploaded to internal testing with play.py; drop the claim that the first upload has to be done in the Console. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Code ReviewReviewed scripts/play.py (Play API release tooling), the Android person-editor discard flow, the one-document row, the arrival-zone fallback, the route-row fix, and the new EN/FR/DE/ES strings. Nothing needs fixing before merge.
Minor
|
Review on #53: promoting or uploading to production without --rollout went out to 100%. Require --rollout <fraction> or an explicit --full. Dry-run docs now say what an upload dry run checks. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Code ReviewReviewed 🤖 Generated with Claude Code |
Summary
Play release tooling
scripts/play.pydrives the Google Play Developer API, the wayasc.pydrives App Store Connect. Commands:status,upload(bundle to a track, with release notes),promote,rollout(staged / complete / halt),listing(text and images) andtesters(Google Group).--dry-runmakes the changes, has Google validate them, then discards the edit. Writing to production needs--yes-production.~/.googleplaystore/private_keys/play-service-account.json, alongside the upload key./release-androidskill wraps it like/archive: pre-flight checks, version bump, signed bundle with a certificate check, theandroid/{versionName}tag, release notes (Play's 500-character limit), then upload to internal testing.app/android/play/listing/default/: title, descriptions, icon, feature graphic, 6 phone and 2 tablet screenshots. All data in the screenshots is made up.release-notes/android-1.0.txt.google-authis added to the[release]extra.Android fixes found while taking the screenshots
12:00Z) next to a local departure time. It now uses departure's zone until the destination's arrives, unless the pilot has picked a zone by hand.iOS behaves the same way for the single-document row and the arrival zone (
FlightEditView.personLabel,FlightDateTimeField.preferredZoneId). It's left unchanged here and could follow if wanted. New Flight's Aircraft section has the same heading-plus-label duplication as Route had; it's left as is.Test plan
./gradlew :core-logic:test :app:testDebugUnitTestand:app:assembleDebugpass.EGLK → ----.play.pywas run against a fake API: edits, commit, dry-run discard, production guard, rollout completion, listing images.bundleReleaseis signed with the upload key (SHA-25664:6A:71:40:…:8A:9F).🤖 Generated with Claude Code