Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 29 additions & 9 deletions .github/workflows/google-play.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@ on:
required: false
default: internal
type: string
changesNotSentForReview:
description: >-
Commit the edit without sending it for review. Required whenever Play has decided
the release must be submitted by hand from the Console.
required: false
default: true
type: boolean
workflow_dispatch:
inputs:
tag:
Expand All @@ -27,6 +34,11 @@ on:
- alpha
- beta
- production
changesNotSentForReview:
description: Commit the edit without sending it for review
required: false
default: true
type: boolean

jobs:
deploy:
Expand Down Expand Up @@ -114,13 +126,21 @@ jobs:
whatsNewDirectory: whatsnew/
# Empty when the release carried no mapping.txt; the action skips the input then.
mappingFile: ${{ steps.mapping.outputs.path }}
# `changesNotSentForReview` is deliberately not set. Play rejects the parameter
# outright ("Changes are sent for review automatically. The query parameter
# changesNotSentForReview must not be set.") for any edit it has decided must be
# reviewed — which includes every release that adds a permission needing a Play
# Console declaration, such as a new foreground service type. It broke the 1.2.7
# upload after working for 1.2.6, since nothing in the workflow had changed.
# Play demands this parameter in both directions depending on the state it has put
# the app in, and refuses the commit either way when it disagrees:
#
# unset/false → "Changes cannot be sent for review automatically. Please set the
# query parameter changesNotSentForReview to true." (1.2.9)
# true → "Changes are sent for review automatically. The query parameter
# changesNotSentForReview must not be set." (1.2.7)
#
# Neither value is correct for all time, which is why this is an input rather than a
# hardcoded choice — flip it when Play flips, no workflow edit needed.
#
# Holding changes back from review is also the wrong default here: reviews for this
# app are slow, so a release that sits in the console waiting for someone to press
# "send for review" only adds latency (see AGENTS.md, Maintenance Policy).
# It defaults to true because the app currently has an open policy rejection, and a
# rejection has to be cleared by assembling the release by hand anyway: the
# noncompliant version codes must be moved to "Not Included" on every track before
# anything is sent for review. Auto-submitting would send a release that still
# carries them. Once the app is out of that state, false restores the hands-off
# behaviour that suits this app's slow reviews (see AGENTS.md, Maintenance Policy).
changesNotSentForReview: ${{ inputs.changesNotSentForReview }}
Loading