main.yml 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. name: build
  2. on: [push, pull_request]
  3. jobs:
  4. build-android:
  5. runs-on: ubuntu-latest
  6. strategy:
  7. matrix:
  8. build_type: [Debug, Release]
  9. steps:
  10. - name: Prepare Environment
  11. run: sudo apt-get update && curl -Lo kitware-archive.sh https://apt.kitware.com/kitware-archive.sh && sudo bash ./kitware-archive.sh
  12. - name: Install Dependencies
  13. run: sudo apt-get install ninja-build cmake
  14. - name: Checkout
  15. uses: actions/checkout@v4
  16. with:
  17. submodules: true
  18. - name: Setup Java 17
  19. uses: actions/setup-java@v4
  20. with:
  21. distribution: adopt-hotspot
  22. java-version: 17
  23. cache: gradle
  24. - name: Build Normal Flavor
  25. run: bash ./gradlew assembleNormalRecord${{ matrix.build_type }}
  26. - name: Build Release-specific Binaries
  27. if: ${{ matrix.build_type == 'Release' }}
  28. run: bash ./gradlew bundleNormalNoRecordRelease bundleEmbedRecordRelease bundleEmbedNoRecordRelease
  29. - name: Artifact (Normal debug APK)
  30. if: ${{ matrix.build_type == 'Debug' }}
  31. uses: actions/upload-artifact@v4
  32. with:
  33. name: love-android-debug.apk
  34. path: app/build/outputs/apk/normalRecord/debug/app-normal-record-debug.apk
  35. - name: Artifact (Normal unsigned APK)
  36. if: ${{ matrix.build_type == 'Release' }}
  37. uses: actions/upload-artifact@v4
  38. with:
  39. name: love-android.apk
  40. path: app/build/outputs/apk/normalRecord/release/app-normal-record-release-unsigned.apk
  41. - name: Artifact (Normal AAB w/o recording)
  42. if: ${{ matrix.build_type == 'Release' }}
  43. uses: actions/upload-artifact@v4
  44. with:
  45. name: love-android-ps.aab
  46. path: app/build/outputs/bundle/normalNoRecordRelease/app-normal-noRecord-release.aab
  47. - name: Artifact (Embed AAB)
  48. if: ${{ matrix.build_type == 'Release' }}
  49. uses: actions/upload-artifact@v4
  50. with:
  51. name: love-android-embed-record.aab
  52. path: app/build/outputs/bundle/embedRecordRelease/app-embed-record-release.aab
  53. - name: Artifact (Embed AAB w/o recording)
  54. if: ${{ matrix.build_type == 'Release' }}
  55. uses: actions/upload-artifact@v4
  56. with:
  57. name: love-android-embed.aab
  58. path: app/build/outputs/bundle/embedNoRecordRelease/app-embed-noRecord-release.aab
  59. - name: Artifact (Debug symbols)
  60. uses: actions/upload-artifact@v4
  61. with:
  62. name: love-android-unstripped-debugsyms-${{ matrix.build_type }}
  63. path: love/build/intermediates/cxx