-
Notifications
You must be signed in to change notification settings - Fork 449
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added promote-to-production.yml workflow
- Loading branch information
Showing
1 changed file
with
83 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
# GitHub Actions Workflow for Play Store Release Promotion | ||
# | ||
# PURPOSE: | ||
# This workflow automates the process of promoting a beta release | ||
# to the production track on Google Play Store. | ||
# | ||
# PREREQUISITES: | ||
# 1. Fastlane setup with Android deployment configurations | ||
# 2. Configured Fastlane lanes: | ||
# - `promote_to_production`: Handles beta to production promotion | ||
# | ||
# REQUIRED CONFIGURATION: | ||
# - Secrets: | ||
# PLAYSTORECREDS: Google Play Store service account JSON credentials | ||
# | ||
# INPUTS: | ||
# - android_package_name: Name of the Android project module | ||
# (REQUIRED, must match your project's module structure) | ||
# | ||
# WORKFLOW TRIGGERS: | ||
# - Can be called manually or triggered by other workflows | ||
# - Typically used after beta testing and validation | ||
# | ||
# DEPLOYMENT PROCESS: | ||
# 1. Checks out repository code | ||
# 2. Sets up Ruby and Fastlane environment | ||
# 3. Inflates Play Store credentials | ||
# 4. Runs Fastlane lane to promote beta to production | ||
# | ||
# IMPORTANT NOTES: | ||
# - Requires proper Fastlane configuration in your project | ||
# - Ensures consistent and automated Play Store deployments | ||
# - Configurable retry mechanism for upload stability | ||
# | ||
# RECOMMENDED FASTLANE LANE IMPLEMENTATION: | ||
# ```ruby | ||
# lane :promote_to_production do | ||
# upload_to_play_store( | ||
# track: 'beta', | ||
# track_promote_to: 'production', | ||
# json_key: './playStorePublishServiceCredentialsFile.json' | ||
# ) | ||
# end | ||
# ``` | ||
|
||
# https://github.com/openMF/mifos-mobile-github-actions/blob/main/.github/workflows/promote-to-production.yaml | ||
|
||
# ############################################################################## | ||
# DON'T EDIT THIS FILE UNLESS NECESSARY # | ||
# ############################################################################## | ||
|
||
name: Promote Release to Play Store | ||
|
||
# Workflow triggers: | ||
# 1. Manual trigger with option to publish to Play Store | ||
# 2. Automatic trigger when a GitHub release is published | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
publish_to_play_store: | ||
required: false | ||
default: false | ||
description: Publish to Play Store? | ||
type: boolean | ||
release: | ||
types: [ released ] | ||
|
||
concurrency: | ||
group: "production-deploy" | ||
cancel-in-progress: false | ||
|
||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
# Job to promote app from beta to production in Play Store | ||
play_promote_production: | ||
name: Promote Beta to Production Play Store | ||
uses: openMF/mifos-mobile-github-actions/.github/workflows/promote-to-production.yaml@main | ||
if: ${{ inputs.publish_to_play_store == true }} | ||
secrets: inherit | ||
with: | ||
android_package_name: 'mifospay-android' |