Skip to content

Update build.gradle.kts #11

Update build.gradle.kts

Update build.gradle.kts #11

Workflow file for this run

name: Release Firebase Distribution Workflow
on:
push:
branches:
- release/**
jobs:
build-and-release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup JDK
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Grant execute permission for gradlew
run: chmod +x ./gradlew
- name: Create local.properties
run: |
echo "kakaoApiKey=${{ secrets.KAKAO_API_KEY }}" > local.properties
echo "amplitudeApiKey=${{ secrets.AMPLITUDE_API_KEY }}" >> local.properties
echo "keyAlias=${{ secrets.KEY_ALIAS }}" >> local.properties
echo "keyPassword=${{ secrets.KEY_PASSWORD }}" >> local.properties
echo "storePassword=${{ secrets.STORE_PASSWORD }}" >> local.properties
echo "hmhDevBaseUrl=${{ secrets.HMH_DEV_BASE_URL }}" >> local.properties
echo "hmhProdBaseUrl=${{ secrets.HMH_PROD_BASE_URL }}" >> local.properties
- name: Setup Firebase Service Account
run: echo '${{ secrets.GOOGLE_SERVICES_JSON }}' > ./app/google-services.json
- name: Cache Gradle dependencies
uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: gradle-cache-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-cache-${{ runner.os }}-
- name: Extract Version Information
id: version-info
run: |
VERSION_INFO=$(./gradlew -q printVersionInfo)
echo "$VERSION_INFO"
echo "$VERSION_INFO" | grep 'VERSION_NAME' | cut -d'=' -f2 | tr -d '\r' >> $GITHUB_ENV
echo "$VERSION_INFO" | grep 'VERSION_CODE' | cut -d'=' -f2 | tr -d '\r' >> $GITHUB_ENV
- name: Build APK
run: ./gradlew assembleRelease
- name: Verify APK Existence
run: test -f app/build/outputs/apk/release/app-release.apk
- name: Generate Release Notes
id: release-notes
run: |
RELEASE_NOTES=$(git log --pretty=format:"%h %s" -n 10 | tr '\n' ' ')
echo "RELEASE_NOTES=$RELEASE_NOTES" >> $GITHUB_ENV
- name: Upload to Firebase App Distribution
id: firebase_upload
uses: wzieba/Firebase-Distribution-Github-Action@v1
with:
appId: ${{ secrets.FIREBASE_APP_ID }}
serviceCredentialsFileContent: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}
groups: hmh-team
file: app/build/outputs/apk/release/app-release.apk
releaseNotes: "${{ env.RELEASE_NOTES }}"
- name: Get Firebase Download URL (Debug)
run: |
echo "Firebase Console URL: ${{ steps.firebase_upload.outputs.FIREBASE_CONSOLE_URI }}"
echo "Tester Download URL: ${{ steps.firebase_upload.outputs.TESTING_URI }}"
echo "Binary Download URL: ${{ steps.firebase_upload.outputs.BINARY_DOWNLOAD_URI }}"
- name: Send Slack Notification
if: success()
run: |
curl -X POST -H 'Content-type: application/json' --data '{
"text": "🎉 *Firebase 릴리즈 완료!* 🎉\n
🚀 *배포 버전:* `${{ env.VERSION_NAME }} (버전 코드: ${{ env.VERSION_CODE }})`\n
📌 *배포 브랜치:* `${{ github.ref_name }}`\n
🔖 *릴리즈 노트:*\n
```${{ env.RELEASE_NOTES }}```\n
📥 *다운로드 링크:* <${{ steps.firebase_upload.outputs.TESTING_URI }}|여기를 클릭>"
}' ${{ secrets.SLACK_RELEASE_WEBHOOK_URL }}