name: android # build on c/cpp changes or workflow changes on: push: paths: - 'lib/**.[ch]' - 'lib/**.cpp' - 'src/**.[ch]' - 'src/**.cpp' - 'irr/**.[ch]' - 'irr/**.cpp' - '**/CMakeLists.txt' - 'cmake/Modules/**' - 'po/**.po' - 'android/**' - '.github/workflows/android.yml' pull_request: paths: - 'lib/**.[ch]' - 'lib/**.cpp' - 'src/**.[ch]' - 'src/**.cpp' - 'irr/**.[ch]' - 'irr/**.cpp' - '**/CMakeLists.txt' - 'cmake/Modules/**' - 'po/**.po' - 'android/**' - '.github/workflows/android.yml' jobs: build: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - name: Install deps run: | sudo apt-get update sudo apt-get install -y --no-install-recommends gettext - name: Set up JDK 17 uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '17' - name: Build AAB with Gradle # We build an AAB as well for uploading to the the Play Store. run: cd android; ./gradlew bundlerelease - name: Build APKs with Gradle # "assemblerelease" is very fast after "bundlerelease". run: cd android; ./gradlew assemblerelease - name: Save AAB artifact uses: actions/upload-artifact@v4 with: name: Luanti-release.aab path: android/app/build/outputs/bundle/release/app-release.aab - name: Save armeabi artifact uses: actions/upload-artifact@v4 with: name: Luanti-armeabi-v7a.apk path: android/app/build/outputs/apk/release/app-armeabi-v7a-release-unsigned.apk - name: Save arm64 artifact uses: actions/upload-artifact@v4 with: name: Luanti-arm64-v8a.apk path: android/app/build/outputs/apk/release/app-arm64-v8a-release-unsigned.apk - name: Save x86 artifact uses: actions/upload-artifact@v4 with: name: Luanti-x86.apk path: android/app/build/outputs/apk/release/app-x86-release-unsigned.apk - name: Save x86_64 artifact uses: actions/upload-artifact@v4 with: name: Luanti-x86_64.apk path: android/app/build/outputs/apk/release/app-x86_64-release-unsigned.apk