diff --git a/.github/workflows/android-ci.yml b/.github/workflows/android-ci.yml index 50a4d03d..53547da9 100644 --- a/.github/workflows/android-ci.yml +++ b/.github/workflows/android-ci.yml @@ -6,6 +6,8 @@ env: on: pull_request: + push: + branches: [ main, develop ] concurrency: group: build-${{ github.ref }} @@ -15,7 +17,7 @@ jobs: ci-build: runs-on: ubuntu-latest - if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }} + if: ${{ github.event_name == 'push' || !contains(github.event.pull_request.labels.*.name, 'skip-ci') }} steps: - name: Checkout @@ -30,10 +32,14 @@ jobs: - name: Setup Android SDK uses: android-actions/setup-android@v2 + # 캐시 저장/정리는 job 완료 후 post action 단계에서 수행 - name: Setup Gradle - uses: gradle/gradle-build-action@v2 + uses: gradle/actions/setup-gradle@v4 with: - gradle-home-cache-cleanup: true + # 빌드 성공 시 미사용 캐시 엔트리 자동 정리 (default: on-success) + # cache-cleanup: on-success + # PR에서는 캐시 읽기만 허용, push(develop/main)에서만 캐시 갱신하여 용량 절약 + cache-read-only: ${{ github.event_name == 'pull_request' }} - name: Generate local.properties run: echo '${{ secrets.LOCAL_PROPERTIES }}' | base64 -d > ./local.properties @@ -70,10 +76,14 @@ jobs: - name: Setup Android SDK uses: android-actions/setup-android@v2 + # 캐시 저장/정리는 job 완료 후 post action 단계에서 수행 - name: Setup Gradle - uses: gradle/gradle-build-action@v2 + uses: gradle/actions/setup-gradle@v4 with: - gradle-home-cache-cleanup: true + # 빌드 성공 시 미사용 캐시 엔트리 자동 정리 (default: on-success) + # cache-cleanup: on-success + # PR에서는 캐시 읽기만 허용, push(develop/main)에서만 캐시 갱신하여 용량 절약 + cache-read-only: ${{ github.event_name == 'pull_request' }} - name: Generate local.properties run: echo '${{ secrets.LOCAL_PROPERTIES }}' | base64 -d > ./local.properties diff --git a/gradle.properties b/gradle.properties index 4f2bc371..f552f2fe 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,14 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. For more details, visit # https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects -# org.gradle.parallel=true +org.gradle.parallel=true + +# Enable Gradle configuration caching +org.gradle.configuration-cache=true + +# Enable Gradle build cache +org.gradle.caching=true + # AndroidX package structure to make it clearer which packages are bundled with the # Android operating system, and which are packaged with your app's APK # https://developer.android.com/topic/libraries/support-library/androidx-rn