Download
67 lines 2.5 KiBYAMLModified 2024-03-16 raw
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
name: build

on: [push, pull_request]

jobs:
  build-android:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        build_type: [Debug, Release]
    env:
      GRADLE_OPTS: "-Dorg.gradle.jvmargs='-Xmx4G'"
    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
    - name: Install Dependencies
      run: sudo apt-get install ninja-build cmake
    - name: Checkout
      uses: actions/checkout@v4
      with:
        submodules: true
    - name: Setup Java 17
      uses: actions/setup-java@v4
      with:
        distribution: adopt-hotspot
        java-version: 17
        cache: gradle
    - 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@v4
      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@v4
      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@v4
      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@v4
      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@v4
      with:
        name: love-android-embed.aab
        path: app/build/outputs/bundle/embedNoRecordRelease/app-embed-noRecord-release.aab
    - name: Artifact (Debug symbols)
      uses: actions/upload-artifact@v4
      with:
        name: love-android-unstripped-debugsyms-${{ matrix.build_type }}
        path: app/build/intermediates/cxx