Description
The google_play.yml reusable workflow fails at the "Upload app to Google Play" step when the target app has pending policy declarations or hasn't completed its initial Google Play review. The AAB artifact is uploaded successfully, but the edit commit fails because Google Play refuses to auto-submit changes for review.
Error message
Changes cannot be sent for review automatically. Please set the query parameter
changesNotSentForReview to true. Once committed, the changes in this edit can be
sent for review from the Google Play Console UI.
Steps to reproduce
- Trigger a deploy workflow with
upload_to_google_play: true for a branded app that has pending policy declarations in the Google Play Console (e.g., cust-app-xrtube)
- The Android build succeeds and the AAB is uploaded
- The
r0adkll/upload-google-play@v1 action fails when committing the edit
Example failed run: https://github.com/OwnTube-tv/cust-app-xrtube/actions/runs/22369235525/job/64840238271
Root cause
The r0adkll/upload-google-play@v1 action in .github/workflows/google_play.yml does not set changesNotSentForReview. It defaults to false, which tells the Google Play API to automatically send changes for review. Google Play rejects this when the app has unresolved policy requirements.
Suggested fix
In .github/workflows/google_play.yml, add changesNotSentForReview: true to the upload step:
- name: Upload app to Google Play
uses: r0adkll/upload-google-play@v1
with:
serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
packageName: ${{ steps.create_env.outputs.BUNDLE_ID }}
releaseFiles: ./OwnTube.tv/android/app/build/outputs/bundle/release/app-release.aab
track: ${{ inputs.isTV == true && 'tv:' || '' }}${{ inputs.track }}
status: draft
inAppUpdatePriority: 1
changesNotSentForReview: true
This uploads the AAB as a draft without attempting to auto-submit for review. The release can then be sent for review manually from the Google Play Console, which is the expected workflow for branded apps using status: draft anyway.
Affected apps
Any branded app repo that triggers the Google Play upload workflow when the app has pending policy declarations in the Google Play Console. Currently observed on cust-app-xrtube.
Description
The
google_play.ymlreusable workflow fails at the "Upload app to Google Play" step when the target app has pending policy declarations or hasn't completed its initial Google Play review. The AAB artifact is uploaded successfully, but the edit commit fails because Google Play refuses to auto-submit changes for review.Error message
Steps to reproduce
upload_to_google_play: truefor a branded app that has pending policy declarations in the Google Play Console (e.g.,cust-app-xrtube)r0adkll/upload-google-play@v1action fails when committing the editExample failed run: https://github.com/OwnTube-tv/cust-app-xrtube/actions/runs/22369235525/job/64840238271
Root cause
The
r0adkll/upload-google-play@v1action in.github/workflows/google_play.ymldoes not setchangesNotSentForReview. It defaults tofalse, which tells the Google Play API to automatically send changes for review. Google Play rejects this when the app has unresolved policy requirements.Suggested fix
In
.github/workflows/google_play.yml, addchangesNotSentForReview: trueto the upload step:This uploads the AAB as a draft without attempting to auto-submit for review. The release can then be sent for review manually from the Google Play Console, which is the expected workflow for branded apps using
status: draftanyway.Affected apps
Any branded app repo that triggers the Google Play upload workflow when the app has pending policy declarations in the Google Play Console. Currently observed on
cust-app-xrtube.