Skip to content

Google Play upload fails with "Changes cannot be sent for review automatically" #489

@ar9708

Description

@ar9708

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

  1. 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)
  2. The Android build succeeds and the AAB is uploaded
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    brandingCustomizations and brandingbugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions