Skip to content

Commit

Permalink
Signed release to google play
Browse files Browse the repository at this point in the history
  • Loading branch information
ksharma-xyz committed Feb 14, 2025
1 parent b38f854 commit b3a9edc
Showing 1 changed file with 91 additions and 0 deletions.
91 changes: 91 additions & 0 deletions .github/workflows/google-play-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Firebase App Distribution

on:
pull_request:
branches: [ google/* ]
types: [opened, synchronize, reopened, ready_for_review]

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true

jobs:
android:
if: ${{ github.event.pull_request.draft == false }}
runs-on: ubuntu-latest
environment: Firebase
timeout-minutes: 60

steps:
- uses: actions/checkout@v4
- name: Setup environment variables
run: |
echo "ANDROID_NSW_TRANSPORT_API_KEY=${{ secrets.ANDROID_NSW_TRANSPORT_API_KEY }}" >> $GITHUB_ENV
echo "IOS_NSW_TRANSPORT_API_KEY=${{ secrets.IOS_NSW_TRANSPORT_API_KEY }}" >> $GITHUB_ENV
- name: set up JDK
uses: actions/setup-java@v4
with:
distribution: zulu
java-version: 21

- name: Setup firebase
run: |
curl -sL https://firebase.tools | bash
- name: Cache Gradle and wrapper
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Make Gradle executable
run: chmod +x ./gradlew

- name: Firebase (Debug) - Google Services.json file
env:
DATA: ${{ secrets.FIREBASE_GOOGLE_SERVICES_JSON_DEBUG }}
run: echo $DATA | base64 -di > composeApp/src/debug/google-services.json

- name: Firebase Android (Release) - Google Services.json file
env:
DATA: ${{ secrets.FIREBASE_GOOGLE_SERVICES_JSON_RELEASE }}
run: echo $DATA | base64 -di > composeApp/src/release/google-services.json

- name: Build Android Release
env:
ANDROID_NSW_TRANSPORT_API_KEY: ${{ secrets.ANDROID_NSW_TRANSPORT_API_KEY }}
run: ./gradlew :composeApp:bundleRelease

- name: Sign Android Release AAB
id: signed_release_aab
uses: r0adkll/sign-android-release@v1.0.4
with:
releaseDirectory: composeApp/build/outputs/bundle/release
signingKeyBase64: ${{ secrets.ANDROID_KEYSTORE_FILE }}
alias: ${{ secrets.ANDROID_KEY_ALIAS }}
keyStorePassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
keyPassword: ${{ secrets.ANDROID_KEY_PASSWORD }}

# Uploading Signed AAB to internal track of PlayConsole
- name: Deploy to Play Store (Internal)
uses: r0adkll/upload-google-play@v1
with:
serviceAccountJsonPlainText: ${{ secrets.FIREBASE_SERVICE_ACCOUNT }}
packageName: com.prime.player
releaseFiles: ${{steps.signed_release_aab.outputs.signedReleaseFile}}
track: internal

- name: Create Release
uses: softprops/action-gh-release@v1
with:
tag_name: v${{ env.GIT_TAG }}
generate_release_notes: true
changesNotSentForReview: false
prerelease: true
files: |
${{steps.signed_release_aab.outputs.signedReleaseFile}}

0 comments on commit b3a9edc

Please sign in to comment.