mirror of
https://github.com/Monkopedia/rouse-context.git
synced 2026-10-22 23:00:33 +00:00
* Upload the Google AAB to Play testing tracks from release.yml Play releases were uploaded by hand. Jason set up keyless Workload Identity Federation for a play-publisher service account limited to testing tracks; this wires it in. play-upload.yml (workflow_dispatch + workflow_call) downloads the -google.aab already attached to a tag's GitHub release -- no rebuild, signing stays in release.yml -- authenticates via google-github-actions/auth, and runs scripts/play-upload.sh, which drives the Android Publisher v3 edit directly with curl: insert, bundles.upload, tracks.update, validate, then commit, or on a dry run (the default for manual runs) list tracks and delete the edit. Any failure deletes the edit and prints the HTTP status and body. Production, FOSS artifacts and bundles whose manifest package is not com.rousecontext are refused before any request. release.yml gains a play-upload job (tag pushes only, after build) calling it with track alpha, dry_run false. The build job is untouched. scripts/tests/play-upload-test.sh runs the script against a mock Publisher server and is wired into ci.yml. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YYSPuh9bZEJkrzvnEpY1QK * Address review on #798: push-only Play job, fail-closed dry run - release.yml: the play-upload job now also requires github.event_name == 'push'. A manual dispatch of release.yml on a tag ref satisfies startsWith(github.ref, 'refs/tags/v') and DOES re-run "Create GitHub Release"; it must not also commit to Play. Comment corrected to say so. - play-upload.sh: --dry-run takes a value and commits only on exactly `false`; omitted, empty, True, FALSE, 0, typos are all dry runs. The workflow passes inputs.dry_run through verbatim. - aab_manifest.py: bounds-check 64- and 32-bit fixed fields. - Harness: fail-closed cases (11 values + omitted + missing value) and truncated fixed-field cases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YYSPuh9bZEJkrzvnEpY1QK --------- Co-authored-by: Monkopedia <monkopedia@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| lib | ||
| tests | ||
| backfill-relay-secrets.sh | ||
| cancellation-catch-allowlist.tsv | ||
| cancellation-catch-backlog.tsv | ||
| check-apk-distribution.sh | ||
| check-cancellation-catch-order.sh | ||
| check-gate-selftests.sh | ||
| check-no-manual-json.sh | ||
| check-no-production-runblocking.sh | ||
| check-no-sensitive-logging.sh | ||
| check-roborazzi-coverage.sh | ||
| check-roborazzi-step-order.sh | ||
| check-shell-lint.sh | ||
| check-zombie-screens.sh | ||
| play-upload.sh | ||
| production-source-dirs.sh | ||