From 49108e8f81137c065a5b17b08ba690b5edcaed12 Mon Sep 17 00:00:00 2001 From: MaxJubayerYT Date: Wed, 4 Mar 2026 14:04:02 +0600 Subject: [PATCH] Add files via upload Signed-off-by: MaxJubayerYT --- .github/workflows/MAKE IT WORK.yml | 117 +++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 .github/workflows/MAKE IT WORK.yml diff --git a/.github/workflows/MAKE IT WORK.yml b/.github/workflows/MAKE IT WORK.yml new file mode 100644 index 0000000000..8fda598794 --- /dev/null +++ b/.github/workflows/MAKE IT WORK.yml @@ -0,0 +1,117 @@ +name: Android CI +on: + pull_request: + branches-ignore: + - 'l10n_v3_openjdk' + types: [ opened, reopened ] + push: + branches-ignore: + - 'l10n_v3_openjdk' + 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 + with: + submodules: "recursive" + + - name: Set up JDK 21 + uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: '21' + + - name: Get LTW + run: | + sudo apt update && sudo apt install -y wget unzip + mkdir -p app_pojavlauncher/libs + cd app_pojavlauncher/libs + wget https://github.com/Copper-launcher/LTW/releases/latest/download/ltw-release.aar + + - uses: gradle/actions/setup-gradle@v4 + with: + validate-wrappers: false + gradle-version: "8.11" + + # Using nightly.link to download JREs — never expires, no token needed, + # always serves the latest successful build from the branch + - name: Get JRE 8 (Minecraft 1.12 - 1.16.5) + run: | + mkdir -p app_pojavlauncher/src/main/assets/components/jre + wget -O jre8.zip "https://nightly.link/PojavLauncherTeam/android-openjdk-build-multiarch/workflows/build/buildjre8/jre8-pojav.zip" + unzip -o jre8.zip -d app_pojavlauncher/src/main/assets/components/jre + rm jre8.zip + + - name: Get JRE 17 (Minecraft 1.17 - 1.20.4) + run: | + mkdir -p app_pojavlauncher/src/main/assets/components/jre-new + wget -O jre17.zip "https://nightly.link/PojavLauncherTeam/android-openjdk-build-multiarch/workflows/build/buildjre17-21/jre17-pojav.zip" + unzip -o jre17.zip -d app_pojavlauncher/src/main/assets/components/jre-new + rm jre17.zip + + - name: Get JRE 21 (Minecraft 1.20.5+) + run: | + mkdir -p app_pojavlauncher/src/main/assets/components/jre-21 + wget -O jre21.zip "https://nightly.link/PojavLauncherTeam/android-openjdk-build-multiarch/workflows/build/buildjre17-21/jre21-pojav.zip" + unzip -o jre21.zip -d app_pojavlauncher/src/main/assets/components/jre-21 + rm jre21.zip + + - name: Build JRE JAR files + run: | + chmod +x scripts/languagelist_updater.sh + ./scripts/languagelist_updater.sh + mkdir out + ./gradlew :jre_lwjgl3glfw:build --no-daemon + + - name: Build Google Play .aab + if: github.repository_owner == 'PojavLauncherTeam' && github.ref_name == 'v3_openjdk' + run: | + ./gradlew :app_pojavlauncher:bundleGplay + mv app_pojavlauncher/build/outputs/bundle/gplay/app_pojavlauncher-gplay.aab out/app-gplay.aab + + - name: Build Release .apk + if: env.GPLAY_KEYSTORE_PASSWORD != '' + run: | + ./gradlew :app_pojavlauncher:assembleRelease + mv app_pojavlauncher/build/outputs/apk/release/*.apk out/app-release.apk + + - name: Build Debug .apk + run: | + ./gradlew :app_pojavlauncher:assembleDebug + mv app_pojavlauncher/build/outputs/apk/debug/app_pojavlauncher-debug.apk out/app-debug.apk + + - name: Build APK without runtime + run: | + rm -rf app_pojavlauncher/src/main/assets/components/jre + rm -rf app_pojavlauncher/src/main/assets/components/jre-new + rm -rf app_pojavlauncher/src/main/assets/components/jre-21 + ./gradlew :app_pojavlauncher: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 + + - name: Upload debug APK + uses: actions/upload-artifact@v4 + with: + name: app-debug (recommended) + path: out/app-debug.* + + - name: Upload release APK + if: env.GPLAY_KEYSTORE_PASSWORD != '' + uses: actions/upload-artifact@v4 + with: + name: app-release + path: out/app-release.* + + - name: Upload APK (without runtime) + uses: actions/upload-artifact@v4 + with: + name: app-debug-noruntime (lightweight) + path: out/app-debug-noruntime.*