Pārlūkot izejas kodu

Separate debug and release APK build to reduce CI build times.

Miku AuahDark 1 gadu atpakaļ
vecāks
revīzija
1a4915b48a
1 mainītis faili ar 14 papildinājumiem un 3 dzēšanām
  1. 14 3
      .github/workflows/main.yml

+ 14 - 3
.github/workflows/main.yml

@@ -5,6 +5,9 @@ on: [push, pull_request]
 jobs:
   build-android:
     runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        build_type: [Debug, Release]
     steps:
     - name: Prepare Environment
       run: sudo apt-get update && curl -Lo kitware-archive.sh https://apt.kitware.com/kitware-archive.sh && sudo bash ./kitware-archive.sh
@@ -20,29 +23,37 @@ jobs:
         distribution: adopt-hotspot
         java-version: 17
         cache: gradle
-    - name: Build
-      run: bash ./gradlew assembleNormalRecordDebug assembleNormalRecordRelease bundleNormalNoRecordRelease bundleEmbedRecordRelease bundleEmbedNoRecordRelease
+    - name: Build Normal Flavor
+      run: bash ./gradlew assembleNormalRecord${{ matrix.build_type }}
+    - name: Build Release-specific Binaries
+      if: ${{ matrix.build_type == 'Release' }}
+      run: bash ./gradlew bundleNormalNoRecordRelease bundleEmbedRecordRelease bundleEmbedNoRecordRelease
     - name: Artifact (Normal debug APK)
+      if: ${{ matrix.build_type == 'Debug' }}
       uses: actions/upload-artifact@v3
       with:
         name: love-android-debug.apk
         path: app/build/outputs/apk/normalRecord/debug/app-normal-record-debug.apk
     - name: Artifact (Normal unsigned APK)
+      if: ${{ matrix.build_type == 'Release' }}
       uses: actions/upload-artifact@v3
       with:
         name: love-android.apk
         path: app/build/outputs/apk/normalRecord/release/app-normal-record-release-unsigned.apk
     - name: Artifact (Normal AAB w/o recording)
+      if: ${{ matrix.build_type == 'Release' }}
       uses: actions/upload-artifact@v3
       with:
         name: love-android-ps.aab
         path: app/build/outputs/bundle/normalNoRecordRelease/app-normal-noRecord-release.aab
     - name: Artifact (Embed AAB)
+      if: ${{ matrix.build_type == 'Release' }}
       uses: actions/upload-artifact@v3
       with:
         name: love-android-embed-record.aab
         path: app/build/outputs/bundle/embedRecordRelease/app-embed-record-release.aab
     - name: Artifact (Embed AAB w/o recording)
+      if: ${{ matrix.build_type == 'Release' }}
       uses: actions/upload-artifact@v3
       with:
         name: love-android-embed.aab
@@ -50,5 +61,5 @@ jobs:
     - name: Artifact (Debug symbols)
       uses: actions/upload-artifact@v3
       with:
-        name: love-android-unstripped-debugsyms
+        name: love-android-unstripped-debugsyms-${{ matrix.build_type }}
         path: love/build/intermediates/library_jni