Skip to content

[Data] Token onSuccess -> map #17

[Data] Token onSuccess -> map

[Data] Token onSuccess -> map #17

Workflow file for this run

name: android-cd
on:
push:
branches: [ "main" ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'adopt'
- name: Android SDK
uses: android-actions/setup-android@v2
- name: Grant Build Permission
run: chmod +x ./gradlew
- name: Get versions
run: |
APP_VERSION_CODE=$(grep 'app-versioncode = ' gradle/libs.versions.toml | grep -oP 'app-versioncode = "\K[^"]+')
APP_VERSION_NAME=$(grep 'app-versionname = ' gradle/libs.versions.toml | grep -oP 'app-versionname = "\K[^"]+')
echo "APP_VERSION_CODE=${APP_VERSION_CODE}" >> $GITHUB_ENV
echo "APP_VERSION_NAME=${APP_VERSION_NAME}" >> $GITHUB_ENV
TAG=$(git ls-remote --tags origin | grep -o "refs/tags/v${APP_VERSION_NAME}$") || true
if [ -z "$TAG" ]; then
echo "TAG_EXISTS=false" >> $GITHUB_ENV
else
echo "TAG_EXISTS=true" >> $GITHUB_ENV
fi
shell: bash
- name: Create Google Services JSON File
env:
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
SERVICE_ACCOUNT_FILE_JSON: ${{ secrets.SERVICE_ACCOUNT_FILE_JSON }}
run: |
echo $GOOGLE_SERVICES_JSON | base64 -di > app/google-services.json
echo $SERVICE_ACCOUNT_FILE_JSON | base64 -di > service_account_file.json
echo "FIREBASE_APP_ID=$(grep ' "mobilesdk_app_id": "' app/google-services.json | grep -oP ' "mobilesdk_app_id": "\K[^"]+')" >> $GITHUB_ENV
- name: Create tag
if: env.TAG_EXISTS == 'false'
run: |
git config user.name "${{ github.actor }}"
git config user.email "${{ github.actor }}@users.noreply.github.com"
git tag -a "v${{ env.APP_VERSION_NAME }}" -m "Release version ${{ env.APP_VERSION_NAME }}"
git push origin tag "v${{ env.APP_VERSION_NAME }}"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
shell: bash
# ./gradlew :app:bundleDevelopmentDebug
- name: Build AAB
if: env.TAG_EXISTS == 'false'
run: |
./gradlew assembleDevelopmentDebug
env:
SENTRY_DSN_TOKEN: ${{ secrets.SENTRY_DSN_TOKEN }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
KAKAO_APP_KEY: ${{ secrets.KAKAO_APP_KEY }}
- name: Deploy to Firebase
if: env.TAG_EXISTS == 'false'
run: |
curl -sL https://firebase.tools | bash
firebase appdistribution:distribute \
--app '${{ env.FIREBASE_APP_ID }}' \
app/build/outputs/apk/development/debug/app-development-debug.apk
env:
GOOGLE_APPLICATION_CREDENTIALS: "service_account_file.json"