Skip to content

๐Ÿท๏ธ ๋‹‰๋„ค์ž„ ์„ค์ • | ์ง„์ž…์  ๋ถ„๊ธฐ ์„ค์ • #44

๐Ÿท๏ธ ๋‹‰๋„ค์ž„ ์„ค์ • | ์ง„์ž…์  ๋ถ„๊ธฐ ์„ค์ •

๐Ÿท๏ธ ๋‹‰๋„ค์ž„ ์„ค์ • | ์ง„์ž…์  ๋ถ„๊ธฐ ์„ค์ • #44

name: Versioning, Build And Deployment to Firebase App Distribution
on:
push:
branches: [ develop ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
env:
LOCAL_PROPERTIES_CONTENTS: ${{ secrets.LOCAL_PROPERTIES_CONTENTS }}
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
VERSION_CODE: ${{ github.run_number }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'corretto'
java-version: '17'
- name: Grant execute permission for gradlew
run: chmod +x ./Nabi/gradlew
- name: Decode and save keystore
run: echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > ./Nabi/presentation/keystore.jks
- name: Verify keystore
run: |
ls -alh ./Nabi/presentation/
echo "Checking JKS format..."
keytool -list -v -keystore ./Nabi/presentation/keystore.jks -storetype JKS || echo "JKS format verification failed"
- name: Create google-services.json
run: echo "$GOOGLE_SERVICES_JSON" > ./Nabi/presentation/google-services.json
- name: Create local.properties
run: echo "$LOCAL_PROPERTIES_CONTENTS" > ./Nabi/local.properties
- name: Build release APK
run: |
cd ./Nabi
./gradlew assembleRelease -PversionCode=$VERSION_CODE
- name: Upload to Firebase App Distribution
uses: wzieba/Firebase-Distribution-Github-Action@v1
with:
appId: ${{ secrets.FIREBASE_APP_ID }}
serviceCredentialsFileContent: ${{ secrets.CREDENTIAL_FILE_CONTENT }}
groups: nabi-team
file: ./Nabi/presentation/build/outputs/apk/release/Nabi-release.apk