Skip to content

Merge pull request #139 from swapnil-musale/renovate/composenavigation #33

Merge pull request #139 from swapnil-musale/renovate/composenavigation

Merge pull request #139 from swapnil-musale/renovate/composenavigation #33

Workflow file for this run

name: Android CD Pipeline
# Grant write permission to create release through github action
permissions:
contents: write
on:
push:
tags:
- v*
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
validate:
name: Validate Branch
runs-on: ubuntu-latest
steps:
- name: Exit if not on production branch
if: endsWith(github.event.base_ref, 'master') == false
run: exit -1
build:
needs: validate
name: Build App Release
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set Up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build Release APK
id: buildReleaseApk
run: ./gradlew assembleRelease --stacktrace
- name: Build Release AAB
id: buildReleaseAab
run: ./gradlew bundleRelease --stacktrace
- name: Generate Signed AAB
id: sign
uses: r0adkll/sign-android-release@v1
with:
releaseDirectory: app/build/outputs/bundle/release
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
alias: ${{ secrets.ALIAS }}
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.KEY_PASSWORD }}
- name: Deploy to Play Store
id: deploy
uses: r0adkll/upload-google-play@v1.1.3
with:
serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
packageName: com.devx.jetjoke
releaseFiles: app/build/outputs/bundle/release/app-release.aab
track: production
status: completed
inAppUpdatePriority: 2
whatsNewDirectory: distribution/whatsnew
- name: Upload Release Build
uses: actions/upload-artifact@v4
with:
name: release-artifacts
path: |
app/build/outputs/apk/release/
app/build/outputs/bundle/release/
- name: Create Github Release
uses: softprops/action-gh-release@v1
with:
generate_release_notes: true
prerelease: false
files: |
app/build/outputs/apk/release/app-release.apk
app/build/outputs/bundle/release/app-release.aab