Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 117 additions & 0 deletions .github/workflows/MAKE IT WORK.yml
Original file line number Diff line number Diff line change
@@ -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.*