Skip to content

v0.7.0 — Mileage UX parity (deep fidelity) #47

v0.7.0 — Mileage UX parity (deep fidelity)

v0.7.0 — Mileage UX parity (deep fidelity) #47

Workflow file for this run

name: Deploy to Indus Appstore
# Publishes the Gms-flavor release AAB to Indus Appstore via PhonePe's Indus-Flows action, matching
# the pattern used by PaymentsLab/Kursi. Gated on INDUS_API_KEY: this repo ships no keystore or
# store credentials (see fastlane/Fastfile and release.yml), so this job no-ops until configured.
on:
release:
types: [published]
workflow_dispatch:
permissions:
contents: read
jobs:
deploy:
name: Build & deploy AAB
runs-on: ubuntu-latest
env:
HAS_SECRET: ${{ secrets.INDUS_API_KEY != '' }}
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
steps:
- uses: actions/checkout@v7
with:
submodules: recursive
if: env.HAS_SECRET == 'true'
- name: Set up JDK 21
if: env.HAS_SECRET == 'true'
uses: actions/setup-java@v5
with:
java-version: '21'
distribution: 'temurin'
- name: Set up Gradle
if: env.HAS_SECRET == 'true'
uses: gradle/actions/setup-gradle@v6
- run: chmod +x ./gradlew
if: env.HAS_SECRET == 'true'
# Materialize signing secrets from base64 repo secrets (placeholders until configured).
- name: Materialize signing secrets
if: env.HAS_SECRET == 'true'
run: |
set -euo pipefail
mkdir -p secrets
if [ -n "${KEYSTORE_B64:-}" ]; then
echo "$KEYSTORE_B64" | base64 -d > secrets/upload.keystore
{
echo "RELEASE_STORE_FILE=$PWD/secrets/upload.keystore"
echo "RELEASE_STORE_PASSWORD=${KEYSTORE_PASSWORD:-}"
echo "RELEASE_KEY_ALIAS=${KEY_ALIAS:-}"
echo "RELEASE_KEY_PASSWORD=${KEY_PASSWORD:-}"
} >> "$GITHUB_ENV"
fi
env:
KEYSTORE_B64: ${{ secrets.KEYSTORE_B64 }}
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
# Indus targets the Play-equivalent Gms flavor (Maps/Firebase intact) — the noGms flavor is
# F-Droid-only (see publish-fdroid.yml).
- name: Build release AAB (Gms)
if: env.HAS_SECRET == 'true'
run: ./gradlew :app:bundleGmsRelease
- name: Deploy to Indus Appstore
if: env.HAS_SECRET == 'true'
uses: PhonePe/Indus-Flows@v1
with:
app_bundle_path: 'app/build/outputs/bundle/gmsRelease/app-gms-release.aab'
api_key: ${{ secrets.INDUS_API_KEY }}
app_id: ${{ secrets.INDUS_APP_ID }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}