Skip to content

fix(ci): correct fastlane metadata path; park the unsupported bs listing - #157

Merged
emir-hasanbegovic merged 4 commits into
mainfrom
fix/play-metadata-path
Aug 15, 2026
Merged

fix(ci): correct fastlane metadata path; park the unsupported bs listing#157
emir-hasanbegovic merged 4 commits into
mainfrom
fix/play-metadata-path

Conversation

@emir-hasanbegovic

@emir-hasanbegovic emir-hasanbegovic commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

What

Commit 1: make the Play upload reach the API correctly.

  • Point fastlane supply --metadata_path at play/metadata/android instead of play/metadata in release.yml, play-listing.yml, and the play/README.md example. Supply treats every child of metadata_path as a Play locale, so the old path made it upload a single bogus locale named android (Invalid request from the Play API, first surfaced once the 1.0.1 run got past the disabled-API error).
  • Move play/metadata/android/bs/ to play/metadata/unsupported/bs/. Google Play does not offer Bosnian (bs) as a store-listing language, so supply's upload for it is rejected outright. The translated listing content is parked rather than deleted; in-app Bosnian is unaffected.

Commit 2: make sure a release can never ship half-empty again.

  • check_play_metadata.py hard-fails when EXPECTED_VERSION_CODE is set and any locale lacks changelogs/<code>.txt; release.yml now exposes the tag-derived versionCode as a job output and passes it to the lint, so a tag without release notes stops before the Play upload. play-listing.yml doesn't set it, so listing-only syncs are unaffected.
  • The flatten step (both workflows) now also flattens images/icon/ to Supply's images/icon.png, so the 512x512 store icon uploads automatically once it's committed; previously only featureGraphic/ was flattened and a committed icon would have been silently ignored.
  • Renamed the never-shipped 1.0.0 release notes (changelogs/10000.txt) to 10001.txt in all five locales: no 1.0.0 tag exists, so 1.0.1 is the initial public release and the "Initial release." copy is its release copy.
  • README: documented the versionCode scheme, the release-notes-before-tagging rule, and the icon/featureGraphic directory convention.

Testing

  • Play Listing Sync (validate_only=true, images included): fails on main (android - Invalid request, runs 31900131748 / 31900249999), Successfully validated the upload to Google Play on this branch for all 5 locales (runs 31900400508, 31900845136, the latter with the new flatten + lint in place). Validate-only builds the full edit server-side and discards it; no binary uploaded.
  • Lint locally: no env = 5 icon warnings, exit 0; EXPECTED_VERSION_CODE=10001 = exit 0; EXPECTED_VERSION_CODE=10002 = 5 missing-changelog errors, exit 1.
  • Flatten loop locally with a simulated images/icon/ PNG: produces featureGraphic.png for all 5 locales plus icon.png where present.

@emir-hasanbegovic

Copy link
Copy Markdown
Contributor Author

Added per-locale release notes for the next release as changelogs/10002.txt (assumes the next tag is 1.0.2; if it becomes 1.1.0, git mv them to 10100.txt). Content covers the only user-facing change since 1.0.1: Steam Controller over USB Direct (#154). All five files are 413 to 453 chars, and the lint passes with EXPECTED_VERSION_CODE=10002.

@emir-hasanbegovic
emir-hasanbegovic merged commit 4cd059d into main Aug 15, 2026
9 checks passed
@emir-hasanbegovic
emir-hasanbegovic deleted the fix/play-metadata-path branch August 15, 2026 18:30
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