From 5151db67754d8c725682212782ffa92414abe4ac Mon Sep 17 00:00:00 2001 From: JiY <79889934+Jiy-park@users.noreply.github.com> Date: Sun, 11 May 2025 18:58:15 +0900 Subject: [PATCH 01/16] Update android.yml (#18) --- .github/workflows/android.yml | 48 +++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index addb3b5..c9f8d7d 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -3,6 +3,7 @@ name: Android CI on: push: branches: [ "deploy" ] + workflow_dispatch: jobs: build: @@ -23,3 +24,50 @@ jobs: run: chmod +x gradlew - name: Build with Gradle run: ./gradlew build + +--------- + +name: Android Release Build + +on: + push: + branches: + - deploy + +jobs: + build: + runs-on: ubuntu-latest + + steps: + # Checkout the repository + - name: Checkout Code + uses: actions/checkout@v4 + + # Set up JDK 11 + - name: Set up JDK 11 + uses: actions/setup-java@v4 + with: + java-version: '11' + distribution: 'temurin' + cache: gradle + + # Create local.properties file dynamically + - name: Create local.properties + run: | + echo "google-web-client-id=${{ secrets.GOOGLE_WEB_CLIENT_ID }}" > local.properties + echo "sdk.dir=${{ env.ANDROID_SDK_ROOT }}" >> local.properties + + # Grant execute permission for gradlew + - name: Grant execute permission for gradlew + run: chmod +x gradlew + + # Build the APK with Gradle (Release build) + - name: Build APK (Release) + run: ./gradlew assembleRelease + + # Upload the APK as an artifact (optional) + - name: Upload APK artifact + uses: actions/upload-artifact@v3 + with: + name: app-release-apk + path: app/build/outputs/apk/release/app-release-by-action.apk From cc0cea90866b042c084126df1cb685fffbdb0e07 Mon Sep 17 00:00:00 2001 From: JiY <79889934+Jiy-park@users.noreply.github.com> Date: Sun, 11 May 2025 18:59:22 +0900 Subject: [PATCH 02/16] Update android.yml --- .github/workflows/android.yml | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index c9f8d7d..09500e6 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -1,32 +1,3 @@ -name: Android CI - -on: - push: - branches: [ "deploy" ] - workflow_dispatch: -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - name: set up JDK 11 - uses: actions/setup-java@v4 - with: - java-version: '11' - distribution: 'temurin' - cache: gradle - - name: log - run: echo "JDK 11 setup complete" - - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - name: Build with Gradle - run: ./gradlew build - ---------- - name: Android Release Build on: From 5f4a44a87e1c633a9825f056c038ce1e0b747508 Mon Sep 17 00:00:00 2001 From: JiY <79889934+Jiy-park@users.noreply.github.com> Date: Sun, 11 May 2025 19:27:50 +0900 Subject: [PATCH 03/16] Update android.yml --- .github/workflows/android.yml | 77 +++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 36 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 09500e6..ca13b4f 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -1,44 +1,49 @@ -name: Android Release Build +name: Build & upload to Firebase App Distribution on: push: - branches: - - deploy + branches: [ dev ] # dev 브런치에 push가 올 때 이벤트 트리거 + workflow_dispatch: # 수동 실행 옵션 (생략가능) jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-latest # 이후의 jobs들은 ubuntu의 최신버전에서 실행한다. + + env: + LOCAL_PROPERTIES_CONTENTS: ${{ secrets.LOCAL_PROPERTIES }} # scerets에서 로컬 프로퍼티 값 변수(LOCAL_PROPERTIES_CONTENTS)로 설정 + GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES }} # scerets에서 구글 제이슨 값 변수(GOOGLE_SERVICES_JSON)로 설정 steps: - # Checkout the repository - - name: Checkout Code - uses: actions/checkout@v4 - - # Set up JDK 11 - - name: Set up JDK 11 - uses: actions/setup-java@v4 - with: - java-version: '11' - distribution: 'temurin' - cache: gradle - - # Create local.properties file dynamically - - name: Create local.properties - run: | - echo "google-web-client-id=${{ secrets.GOOGLE_WEB_CLIENT_ID }}" > local.properties - echo "sdk.dir=${{ env.ANDROID_SDK_ROOT }}" >> local.properties - - # Grant execute permission for gradlew - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - # Build the APK with Gradle (Release build) - - name: Build APK (Release) - run: ./gradlew assembleRelease - - # Upload the APK as an artifact (optional) - - name: Upload APK artifact - uses: actions/upload-artifact@v3 - with: - name: app-release-apk - path: app/build/outputs/apk/release/app-release-by-action.apk + - uses: actions/checkout@v1 + + - name: set up JDK 11 # 깃허브 runner에서 돌아가는 환경은 java 17버전으로 설정한다. + uses: actions/setup-java@v1 + with: + java-version: 11 + + - name: Grant Permission for gradlew # gradlew 에 대한 퍼미션을 허용한다. + run: chmod +x ./gradlew + shell: bash + + - name: Decode And Save Keystore Base64 # app.keystoer.jks 키 값을 디코드 해서 app/ksystore.jks로 저장한다. (생략 가능) + run: | + echo "${{ secrets.KEY_STORE_BASE }}" | base64 --decode > app/keystore.jks + + - name: Create google-services.json # 환경변수(GOOGLE_SERVICES_JSON) 값의 내용을 기반으로 `app/google-services.json`를 만든다. + run: echo "$GOOGLE_SERVICES_JSON" > app/google-services.json + + - name: Create local.properties # (LOCAL_PROPERTIES_CONTENTS)를 기반으로 local.properties를 만들고 keystore.jks 위치를 추가해 준다. + run: | + echo "$LOCAL_PROPERTIES_CONTENTS" > local.properties + echo "SIGNED_STORE_FILE=keystore.jks" >> local.properties # 생략가능 + + - name: Build debug # APK를 빌드한다. (디버그용) + run: ./gradlew assembleDebug + + - 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: winey-team + file: app/build/outputs/apk/debug/app-debug.apk From 970b6cf924ec66b7f5833dc4a567187f2f1d504f Mon Sep 17 00:00:00 2001 From: JiY <79889934+Jiy-park@users.noreply.github.com> Date: Sun, 11 May 2025 19:35:27 +0900 Subject: [PATCH 04/16] Update android.yml --- .github/workflows/android.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index ca13b4f..e4a8a10 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -38,12 +38,12 @@ jobs: echo "SIGNED_STORE_FILE=keystore.jks" >> local.properties # 생략가능 - name: Build debug # APK를 빌드한다. (디버그용) - run: ./gradlew assembleDebug + run: ./gradlew assembleRelease - 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: winey-team - file: app/build/outputs/apk/debug/app-debug.apk + appId: ${{secrets.FIRE_BASE_APP_ID}} + serviceCredentialsFileContent: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }} + groups: 하나회 + file: app/build/outputs/apk/debug/app.apk From c6ff36feec6319b944b44dc67c7079fc38fe7ff0 Mon Sep 17 00:00:00 2001 From: JiY Date: Sun, 11 May 2025 19:37:12 +0900 Subject: [PATCH 05/16] - --- app/src/main/java/com/dd2d/ori_android/MainActivity.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/main/java/com/dd2d/ori_android/MainActivity.kt b/app/src/main/java/com/dd2d/ori_android/MainActivity.kt index 70353b4..0e29cd9 100644 --- a/app/src/main/java/com/dd2d/ori_android/MainActivity.kt +++ b/app/src/main/java/com/dd2d/ori_android/MainActivity.kt @@ -1,6 +1,7 @@ package com.dd2d.ori_android import android.os.Bundle +import android.widget.Toast import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge @@ -26,6 +27,8 @@ class MainActivity : ComponentActivity() { super.onCreate(savedInstanceState) + Toast.makeText(this, "3", Toast.LENGTH_SHORT).show() + setContent { AppTheme { CompositionLocalProvider( From 7827e8447cfef694e990a92e8fe01d50691bc017 Mon Sep 17 00:00:00 2001 From: JiY Date: Sun, 11 May 2025 19:39:29 +0900 Subject: [PATCH 06/16] -1 --- .github/workflows/android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index e4a8a10..77f295f 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -2,7 +2,7 @@ name: Build & upload to Firebase App Distribution on: push: - branches: [ dev ] # dev 브런치에 push가 올 때 이벤트 트리거 + branches: [ deploy ] # dev 브런치에 push가 올 때 이벤트 트리거 workflow_dispatch: # 수동 실행 옵션 (생략가능) jobs: From d68d6b7c66bbd97c756c65402c0c1bfbaaa7e519 Mon Sep 17 00:00:00 2001 From: JiY Date: Sun, 11 May 2025 19:43:58 +0900 Subject: [PATCH 07/16] -2 --- .github/workflows/android.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 77f295f..3acd91c 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -16,10 +16,10 @@ jobs: steps: - uses: actions/checkout@v1 - - name: set up JDK 11 # 깃허브 runner에서 돌아가는 환경은 java 17버전으로 설정한다. + - name: set up JDK 17 # 깃허브 runner에서 돌아가는 환경은 java 17버전으로 설정한다. uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 - name: Grant Permission for gradlew # gradlew 에 대한 퍼미션을 허용한다. run: chmod +x ./gradlew From 3faf7bcdea44dc3a3970cf6361126f9b0e4b3211 Mon Sep 17 00:00:00 2001 From: JiY Date: Sun, 11 May 2025 20:07:51 +0900 Subject: [PATCH 08/16] -3 --- .github/workflows/android.yml | 21 ++++++++++++------- .../java/com/dd2d/ori_android/MainActivity.kt | 2 +- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 3acd91c..52d9f7f 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -10,7 +10,6 @@ jobs: runs-on: ubuntu-latest # 이후의 jobs들은 ubuntu의 최신버전에서 실행한다. env: - LOCAL_PROPERTIES_CONTENTS: ${{ secrets.LOCAL_PROPERTIES }} # scerets에서 로컬 프로퍼티 값 변수(LOCAL_PROPERTIES_CONTENTS)로 설정 GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES }} # scerets에서 구글 제이슨 값 변수(GOOGLE_SERVICES_JSON)로 설정 steps: @@ -29,16 +28,22 @@ jobs: run: | echo "${{ secrets.KEY_STORE_BASE }}" | base64 --decode > app/keystore.jks - - name: Create google-services.json # 환경변수(GOOGLE_SERVICES_JSON) 값의 내용을 기반으로 `app/google-services.json`를 만든다. - run: echo "$GOOGLE_SERVICES_JSON" > app/google-services.json + - name: Create google-services.json + run: | + cat < app/google-services.json + ${{ secrets.GOOGLE_SERVICES }} + EOF - name: Create local.properties # (LOCAL_PROPERTIES_CONTENTS)를 기반으로 local.properties를 만들고 keystore.jks 위치를 추가해 준다. run: | - echo "$LOCAL_PROPERTIES_CONTENTS" > local.properties - echo "SIGNED_STORE_FILE=keystore.jks" >> local.properties # 생략가능 + echo "google-web-client-id=${{ secrets.GOOGLE_WEB_CLIENT_ID }}" > local.properties + echo "store-file=keystore.jks" >> local.properties + echo "store-password=${{ secrets.STORE_PASSWORD }}" >> local.properties + echo "key-password=${{ secrets.KEY_PASSWORD }}" >> local.properties + echo "key-alias=${{ secrets.KEY_ALIAS }}" >> local.properties - - name: Build debug # APK를 빌드한다. (디버그용) - run: ./gradlew assembleRelease + - name: Build release # APK를 빌드한다. (디버그용) + run: ./gradlew assembleRelease --no-daemon --parallel --build-cache - name: Upload to Firebase App Distribution # 파이어베이스에 앱 디스트리 뷰션에 배포한다. uses: wzieba/Firebase-Distribution-Github-Action@v1 @@ -46,4 +51,4 @@ jobs: appId: ${{secrets.FIRE_BASE_APP_ID}} serviceCredentialsFileContent: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }} groups: 하나회 - file: app/build/outputs/apk/debug/app.apk + file: app/release/app-release.apk \ No newline at end of file diff --git a/app/src/main/java/com/dd2d/ori_android/MainActivity.kt b/app/src/main/java/com/dd2d/ori_android/MainActivity.kt index 0e29cd9..0f5fefc 100644 --- a/app/src/main/java/com/dd2d/ori_android/MainActivity.kt +++ b/app/src/main/java/com/dd2d/ori_android/MainActivity.kt @@ -27,7 +27,7 @@ class MainActivity : ComponentActivity() { super.onCreate(savedInstanceState) - Toast.makeText(this, "3", Toast.LENGTH_SHORT).show() + Toast.makeText(this, "4", Toast.LENGTH_SHORT).show() setContent { AppTheme { From 417de372e851e01a2b978213c2ed5dd97cb58050 Mon Sep 17 00:00:00 2001 From: JiY Date: Sun, 11 May 2025 20:15:43 +0900 Subject: [PATCH 09/16] -4 --- .github/workflows/android.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 52d9f7f..5ab4ac7 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -30,9 +30,7 @@ jobs: - name: Create google-services.json run: | - cat < app/google-services.json - ${{ secrets.GOOGLE_SERVICES }} - EOF + echo ${{ secrets.GOOGLE_SERVICE }} > app/google-services.json - name: Create local.properties # (LOCAL_PROPERTIES_CONTENTS)를 기반으로 local.properties를 만들고 keystore.jks 위치를 추가해 준다. run: | From 8850017cc972f852e2ff22679b94c44def075306 Mon Sep 17 00:00:00 2001 From: JiY Date: Sun, 11 May 2025 20:20:01 +0900 Subject: [PATCH 10/16] -5 --- .github/workflows/android.yml | 2 +- app/src/main/java/com/dd2d/ori_android/MainActivity.kt | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 5ab4ac7..ed0147d 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest # 이후의 jobs들은 ubuntu의 최신버전에서 실행한다. env: - GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES }} # scerets에서 구글 제이슨 값 변수(GOOGLE_SERVICES_JSON)로 설정 + GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICE }} # scerets에서 구글 제이슨 값 변수(GOOGLE_SERVICES_JSON)로 설정 steps: - uses: actions/checkout@v1 diff --git a/app/src/main/java/com/dd2d/ori_android/MainActivity.kt b/app/src/main/java/com/dd2d/ori_android/MainActivity.kt index 0f5fefc..70353b4 100644 --- a/app/src/main/java/com/dd2d/ori_android/MainActivity.kt +++ b/app/src/main/java/com/dd2d/ori_android/MainActivity.kt @@ -1,7 +1,6 @@ package com.dd2d.ori_android import android.os.Bundle -import android.widget.Toast import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge @@ -27,8 +26,6 @@ class MainActivity : ComponentActivity() { super.onCreate(savedInstanceState) - Toast.makeText(this, "4", Toast.LENGTH_SHORT).show() - setContent { AppTheme { CompositionLocalProvider( From daddd96d2ed1a42975b6e2f8a8acf3f91bda5608 Mon Sep 17 00:00:00 2001 From: JiY Date: Sun, 11 May 2025 20:22:02 +0900 Subject: [PATCH 11/16] -6 --- .github/workflows/android.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index ed0147d..2a4322e 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -9,9 +9,6 @@ jobs: build: runs-on: ubuntu-latest # 이후의 jobs들은 ubuntu의 최신버전에서 실행한다. - env: - GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICE }} # scerets에서 구글 제이슨 값 변수(GOOGLE_SERVICES_JSON)로 설정 - steps: - uses: actions/checkout@v1 From bddb1c0bd26f95802758acace3cd56208036f61b Mon Sep 17 00:00:00 2001 From: JiY Date: Sun, 11 May 2025 20:26:42 +0900 Subject: [PATCH 12/16] -7 --- .github/workflows/android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 2a4322e..5cce251 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -27,7 +27,7 @@ jobs: - name: Create google-services.json run: | - echo ${{ secrets.GOOGLE_SERVICE }} > app/google-services.json + echo "${{ secrets.GOOGLE_SERVICES }}" > app/google-services.json - name: Create local.properties # (LOCAL_PROPERTIES_CONTENTS)를 기반으로 local.properties를 만들고 keystore.jks 위치를 추가해 준다. run: | From a831bad30597e2b36d6739dc85edab464452893a Mon Sep 17 00:00:00 2001 From: JiY Date: Sun, 11 May 2025 20:41:32 +0900 Subject: [PATCH 13/16] -8 --- .github/workflows/android.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 5cce251..6595a41 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -23,11 +23,14 @@ jobs: - name: Decode And Save Keystore Base64 # app.keystoer.jks 키 값을 디코드 해서 app/ksystore.jks로 저장한다. (생략 가능) run: | - echo "${{ secrets.KEY_STORE_BASE }}" | base64 --decode > app/keystore.jks + echo "${{ secrets.KEY_STORE_BASE64 }}" | base64 --decode > app/keystore.jks - name: Create google-services.json run: | - echo "${{ secrets.GOOGLE_SERVICES }}" > app/google-services.json +# echo "${{ secrets.GOOGLE_SERVICES }}" > app/google-services.json + cat < app/google-services.json + ${{ secrets.GOOGLE_SERVICES }} + EOF - name: Create local.properties # (LOCAL_PROPERTIES_CONTENTS)를 기반으로 local.properties를 만들고 keystore.jks 위치를 추가해 준다. run: | From 68f293c44bd591b15062a34016d31174c9373b76 Mon Sep 17 00:00:00 2001 From: JiY Date: Sun, 11 May 2025 20:42:26 +0900 Subject: [PATCH 14/16] -9 --- .github/workflows/android.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 6595a41..c156520 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -27,7 +27,6 @@ jobs: - name: Create google-services.json run: | -# echo "${{ secrets.GOOGLE_SERVICES }}" > app/google-services.json cat < app/google-services.json ${{ secrets.GOOGLE_SERVICES }} EOF From 2078308bf627a164888cb19ee22ea17a3b7bf578 Mon Sep 17 00:00:00 2001 From: JiY Date: Sun, 11 May 2025 20:59:23 +0900 Subject: [PATCH 15/16] -10 --- .github/workflows/android.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index c156520..b6dcd6f 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -42,6 +42,7 @@ jobs: - name: Build release # APK를 빌드한다. (디버그용) run: ./gradlew assembleRelease --no-daemon --parallel --build-cache + - name: Upload to Firebase App Distribution # 파이어베이스에 앱 디스트리 뷰션에 배포한다. uses: wzieba/Firebase-Distribution-Github-Action@v1 with: From 9d3127f19140590f6fc953e4df2d9d3dccd7edc5 Mon Sep 17 00:00:00 2001 From: JiY Date: Sun, 11 May 2025 21:20:08 +0900 Subject: [PATCH 16/16] -11 --- .github/workflows/android.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index b6dcd6f..8c13219 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -39,7 +39,7 @@ jobs: echo "key-password=${{ secrets.KEY_PASSWORD }}" >> local.properties echo "key-alias=${{ secrets.KEY_ALIAS }}" >> local.properties - - name: Build release # APK를 빌드한다. (디버그용) + - name: Build release # APK를 빌드한다. run: ./gradlew assembleRelease --no-daemon --parallel --build-cache @@ -49,4 +49,4 @@ jobs: appId: ${{secrets.FIRE_BASE_APP_ID}} serviceCredentialsFileContent: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }} groups: 하나회 - file: app/release/app-release.apk \ No newline at end of file + file: app/build/outputs/apk/release/app-release.apk \ No newline at end of file