name: Publish the signed Play bundle with classified recovery
description: Hold the package edit owner around the unchanged pinned official uploader and classified retries.
inputs:
  serviceAccountJson:
    description: Path to the provisioned service account file.
    required: true
  packageName:
    description: App package identifier.
    required: true
  releaseFiles:
    description: Existing signed APK or AAB paths, comma separated.
    required: true
  tracks:
    description: Destination tracks.
    required: true
  status:
    description: Requested release status.
    default: completed
  userFraction:
    description: Optional staged rollout fraction.
  whatsNewDirectory:
    description: Existing localized release notes directory.
  inAppUpdatePriority:
    description: In-app update priority.
    default: '0'
  mobileReleaseIntentScript:
    description: Committed mobile_release.cjs path, invoked after acquiring the package owner and before upload.
    default: ''
outputs:
  review-pending:
    description: True only after a successful explicitly requested review-hold retry.
  receipt:
    description: Sanitized versioned result with attempt count and upstream identity.
runs:
  using: node24
  main: run.cjs
