Log missing sound files instead of crashing. Resolves #11316. #390
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Android CI | |
| on: | |
| push: | |
| branches: [ master ] | |
| pull_request: | |
| branches: [ master ] | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| container: wesnoth/wesnoth:android | |
| env: | |
| API: 23 | |
| BUILDBASEDIR: ${{ github.WORKSPACE }}/packaging/android | |
| BUILDTYPE: ${{ vars.SIGNING_KEY_ALIAS == '' && 'debug' || 'release' }} | |
| steps: | |
| - { uses: actions/checkout@v6, with: { submodules: "recursive" } } | |
| - name: Verify fastlane metadata | |
| uses: ashutoshgngwr/validate-fastlane-supply-metadata@v2 | |
| - name: Restore Wesnoth dependencies cache | |
| id: restore-deps-cache | |
| uses: actions/cache/restore@v5 | |
| env: | |
| PREFIXDIR: ${{ env.BUILDBASEDIR }}/prefix | |
| with: | |
| key: wesnoth-android-deps-${{ hashFiles('packaging/android/build-android-dependencies/*') }} | |
| path: ${{ env.PREFIXDIR }} | |
| - name: Download and build Wesnoth dependencies | |
| if: ${{ steps.restore-deps-cache.outputs.cache-hit != 'true' }} | |
| env: | |
| PREFIXDIR: ${{ env.BUILDBASEDIR }}/prefix | |
| DOWNLOADDIR: ${{ env.BUILDBASEDIR }}/download | |
| BUILDDIR: ${{ env.BUILDBASEDIR }}/build | |
| run: cd packaging/android; chmod +x ./gradlew; ./gradlew buildCppDepends; | |
| - name: Save Wesnoth dependencies cache | |
| if: ${{ steps.restore-deps-cache.outputs.cache-hit != 'true' }} | |
| uses: actions/cache/save@v5 | |
| env: | |
| PREFIXDIR: ${{ env.BUILDBASEDIR }}/prefix | |
| with: | |
| key: ${{ steps.restore-deps-cache.outputs.cache-primary-key }} | |
| path: ${{ env.PREFIXDIR }} | |
| - name: Tar dependencies | |
| env: | |
| PREFIXDIR: ${{ env.BUILDBASEDIR }}/prefix | |
| run: cd packaging/android; tar -cvzf dependencies.tar.gz prefix | |
| - name: Upload Dependencies archive | |
| uses: actions/upload-artifact@v7 | |
| env: | |
| PREFIXDIR: ${{ env.BUILDBASEDIR }}/prefix | |
| with: | |
| name: dependencies.tar.gz | |
| path: ./packaging/android/dependencies.tar.gz | |
| - name: Build Wesnoth and create APK/AAB (Release) | |
| if: env.BUILDTYPE == 'release' | |
| env: | |
| PREFIXDIR: ${{ env.BUILDBASEDIR }}/prefix | |
| SIGNING_KEY_ALIAS: ${{ vars.SIGNING_KEY_ALIAS }} | |
| SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }} | |
| SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }} | |
| SIGNING_KEYSTORE: ${{ secrets.SIGNING_KEYSTORE }} | |
| run: cd packaging/android && printf %s "$SIGNING_KEYSTORE" | base64 -d > app/wesnoth.keystore && ./gradlew buildCppSource assembleRelease bundleRelease | |
| - name: Build Wesnoth and create APK/AAB (Debug) | |
| if: env.BUILDTYPE == 'debug' | |
| env: | |
| PREFIXDIR: ${{ env.BUILDBASEDIR }}/prefix | |
| run: cd packaging/android && ./gradlew buildCppSource assembleDebug bundleDebug; | |
| - name: Upload APK (armeabi-v7a) | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: "wesnoth-armeabi-v7a.apk" | |
| path: "packaging/android/app/build/outputs/apk/${{ env.BUILDTYPE }}/app-armeabi-v7a-${{ env.BUILDTYPE }}.apk" | |
| - name: Upload APK (arm64-v8a) | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: "wesnoth-arm64-v8a.apk" | |
| path: "packaging/android/app/build/outputs/apk/${{ env.BUILDTYPE }}/app-arm64-v8a-${{ env.BUILDTYPE }}.apk" | |
| - name: Upload APK (x86) | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: "wesnoth-x86.apk" | |
| path: "packaging/android/app/build/outputs/apk/${{ env.BUILDTYPE }}/app-x86-${{ env.BUILDTYPE }}.apk" | |
| - name: Upload APK (x86_64) | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: "wesnoth-x86_64.apk" | |
| path: "packaging/android/app/build/outputs/apk/${{ env.BUILDTYPE }}/app-x86_64-${{ env.BUILDTYPE }}.apk" | |
| - name: Upload AAB | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: "wesnoth.aab" | |
| path: "packaging/android/app/build/outputs/bundle/${{ env.BUILDTYPE }}/app-${{ env.BUILDTYPE }}.aab" |