diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 66a8be1a28..45d7b386cf 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -1,112 +1,127 @@ name: Android CI + on: - push: pull_request: + branches-ignore: + - 'l10n_v3_openjdk2' + types: [ opened, reopened ] + push: + branches-ignore: + - 'l10n_v3_openjdk2' workflow_dispatch: jobs: build: runs-on: ubuntu-22.04 env: + GPLAY_KEYSTORE_PASSWORD: ${{ secrets.GPLAY_KEYSTORE_PASSWORD }} CURSEFORGE_API_KEY: ${{ secrets.CURSEFORGE_API_KEY }} steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v3 + + - name: Set up JDK 8 + uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: '8' - name: Get JRE 8 - uses: dawidd6/action-download-artifact@v3 + uses: dawidd6/action-download-artifact@v2 with: - workflow: buildjre8.yml - path: app_pojavlauncher/src/main/assets/components/jre-8 + workflow: build.yml + path: app_pojavlauncher/src/main/assets/components/jre workflow_conclusion: success - repo: Vera-Firefly/android-openjdk-autobuild - branch: main + repo: PojavLauncherTeam/android-openjdk-build-multiarch + branch: buildjre8 name: jre8-pojav - - name: Get JRE 17 - uses: dawidd6/action-download-artifact@v3 + - name: Get JRE17 + uses: dawidd6/action-download-artifact@v2 with: - workflow: buildjre17.yml - path: app_pojavlauncher/src/main/assets/components/jre-17 + workflow: build.yml + path: app_pojavlauncher/src/main/assets/components/jre-new workflow_conclusion: success - repo: Vera-Firefly/android-openjdk-autobuild - branch: main + repo: PojavLauncherTeam/android-openjdk-build-multiarch + branch: buildjre17 name: jre17-pojav - - - name: Get JRE 21 - uses: dawidd6/action-download-artifact@v3 + + - name: Get JRE21 + uses: dawidd6/action-download-artifact@v2 with: - workflow: buildjre21.yml - path: app_pojavlauncher/src/main/assets/components/jre-21 + workflow: build.yml + path: app_pojavlauncher/src/main/assets/components/jre-new workflow_conclusion: success - repo: Vera-Firefly/android-openjdk-autobuild - branch: main + repo: PojavLauncherTeam/android-openjdk-build-multiarch + branch: buildjre21 name: jre21-pojav - - name: Get LWJGL3 - uses: dawidd6/action-download-artifact@v3 - with: - workflow: main.yml - path: app_pojavlauncher/src/main/assets/components/lwjgl3 - workflow_conclusion: success - repo: Vera-Firefly/lwjgl3-build - branch: official - name: lwjgl - - - uses: gradle/actions/setup-gradle@v3 + - uses: gradle/gradle-build-action@v2 with: gradle-version: 7.6.1 + - name: Build JRE JAR files + run: | + ./scripts/languagelist_updater.sh + + mkdir out + # Build JRE JAR files (security manager, etc...) + gradle :jre_lwjgl3glfw:build --no-daemon + - name: Set up JDK 17 - uses: actions/setup-java@v4 + uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: '17' - - name: Build Debug + - name: Build Google Play .aab + if: github.repository_owner == 'PojavLauncherTeam' && github.ref_name == 'v3_openjdk' run: | + gradle :app_pojavlauncher:bundleGplay + mv app_pojavlauncher/build/outputs/bundle/gplay/app_pojavlauncher-gplay.aab out/app-gplay.aab + + - name: Build Debug .apk + run: | + # Build the launcher gradle :app_pojavlauncher:assembleDebug + mv app_pojavlauncher/build/outputs/apk/debug/app_pojavlauncher-debug.apk out/app-debug.apk - - name: Upload Debug - uses: actions/upload-artifact@v4 + - name: Build APK without runtime + run: | + rm -r app_pojavlauncher/src/main/assets/components/jre + rm -r app_pojavlauncher/src/main/assets/components/jre-new + gradle assembleDebug + mv app_pojavlauncher/build/outputs/apk/debug/app_pojavlauncher-debug.apk out/app-debug-noruntime.apk + - name: Gen md5sums + run: | + md5sum out/app-debug.apk > out/app-debug.md5 + md5sum out/app-debug-noruntime.apk > out/app-debug-noruntime.md5 + + - name: Upload APK + uses: actions/upload-artifact@v3 with: name: app-debug - path: app_pojavlauncher/build/outputs/apk/debug/* - - buildnoruntime: - runs-on: ubuntu-22.04 - env: - CURSEFORGE_API_KEY: ${{ secrets.CURSEFORGE_API_KEY }} - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Get LWJGL3 - uses: dawidd6/action-download-artifact@v3 + path: out/app-debug.* + + - name: Upload AAB + uses: actions/upload-artifact@v3 with: - workflow: main.yml - path: app_pojavlauncher/src/main/assets/components/lwjgl3 - workflow_conclusion: success - repo: Vera-Firefly/lwjgl3-build - branch: official - name: lwjgl + name: app-release-aab + path: out/app-gplay.aab - - uses: gradle/actions/setup-gradle@v3 + - name: Upload onto the Google Play testing track + continue-on-error: true + if: github.repository_owner == 'PojavLauncherTeam' && github.ref_name == 'v3_openjdk' + uses: r0adkll/upload-google-play@v1.1.2 with: - gradle-version: 7.6.1 - - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: '17' - - - name: Build Debug-noruntime - run: | - gradle :app_pojavlauncher:assembleDebug + serviceAccountJsonPlainText: ${{ secrets.GPLAY_SERVICE_JSON }} + packageName: net.kdt.pojavlaunch + releaseFiles: out/app-gplay.aab + track: internal + inAppUpdatePriority: 5 - - name: Upload Debug-noruntime - uses: actions/upload-artifact@v4 + - name: Upload APK (without runtime) + uses: actions/upload-artifact@v3 with: name: app-debug-noruntime - path: app_pojavlauncher/build/outputs/apk/debug/* + path: out/app-debug-noruntime.*