Files
Amethyst-Android/.github/workflows/android.yml
Google61 be16da73ba Fix tar
2021-04-18 08:02:14 +03:00

133 lines
4.5 KiB
YAML

name: Android CI
on:
pull_request:
branches-ignore:
- 'l10n_v3_openjdk2'
push:
branches-ignore:
- 'l10n_v3_openjdk2'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Get gl4es
uses: actions/checkout@v2
with:
repository: 'ptitSeb/gl4es'
path: 'gl4es'
- name: Build latest GL4ES
continue-on-error: true
run: |
cd gl4es
mv ../Android_gl4es.mk Android.mk
$ANDROID_NDK_HOME/ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk NDK_DEBUG=1
cp -R libs/* ../app_pojavlauncher/src/main/jniLibs/
- name: Get jre8-aarch32
uses: dawidd6/action-download-artifact@v2
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
path: jre
workflow_conclusion: success
repo: PojavLauncherTeam/android-openjdk-build-multiarch
name: jre8-aarch32
- name: Get jre8-aarch64
uses: dawidd6/action-download-artifact@v2
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
path: jre
workflow_conclusion: success
repo: PojavLauncherTeam/android-openjdk-build-multiarch
name: jre8-aarch64
- name: Get jre8-x86
uses: dawidd6/action-download-artifact@v2
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
path: jre
workflow_conclusion: success
repo: PojavLauncherTeam/android-openjdk-build-multiarch
name: jre8-x86
- name: Get jre8-x86_64
uses: dawidd6/action-download-artifact@v2
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: build.yml
path: jre
workflow_conclusion: success
repo: PojavLauncherTeam/android-openjdk-build-multiarch
name: jre8-x86_64
- name: Repack JRE
run: |
cd jre
mkdir work
mkdir work1
cd work
jrepath=$GITHUB_WORKSPACE/app_pojavlauncher/src/main/assets/components/jre
mkdir -p $jrepath
work=$GITHUB_WORKSPACE/jre/work
work1=$GITHUB_WORKSPACE/jre/work1
makearch () { echo "Making $2..."; cd $work; tar xf $(ls ../jre8-$2-*release.tar.xz) > /dev/null 2>&1; mv bin $work1/; mkdir -p $work1/lib; mv lib/$1 $work1/lib/; mv lib/jexec $work1/lib/; tar cJf bin-$2.tar.xz -C $work1/* > /dev/null 2>&1; mv bin-$2.tar.xz $jrepath/; rm -rf $work/*; rm -rf $work1/*; }
makeuni () { echo "Making universal..."; cd $work; tar xf $(ls ../jre8-arm64-*release.tar.xz) > /dev/null 2>&1; rm -rf bin; rm -rf lib/aarch64; rm lib/jexec; tar cJf universal.tar.xz * > /dev/null 2>&1; mv universal.tar.xz $jrepath/; rm -rf $work/*; }
makeuni
makearch aarch32 arm
makearch aarch64 arm64
makearch i386 x86
makearch amd64 x86_64
- name: Build APK with Gradle
run: |
chmod +x scripts/languagelist_updater.sh
bash scripts/languagelist_updater.sh
mkdir -p out
chmod +x gradlew
./gradlew clean
# Build JRE JAR files (security manager, etc...)
./gradlew :jre_lwjgl3glfw:build
# mkdir app_pojavlauncher/src/main/assets/components/internal_libs
rm app_pojavlauncher/src/main/assets/components/lwjgl3/lwjgl-glfw-classes.jar
cp jre_lwjgl3glfw/build/libs/jre_lwjgl3glfw-3.2.3.jar app_pojavlauncher/src/main/assets/components/lwjgl3/lwjgl-glfw-classes.jar
# Build the launcher
./gradlew :app_pojavlauncher:assembleDebug
mv app_pojavlauncher/build/outputs/apk/debug/app_pojavlauncher-debug.apk out/app-debug.apk
# mv app_pojavlauncher/build/intermediates/merged_native_libs/debug/out/lib out/debug_lib
- name: Build APK without runtime
run: |
rm -r app_pojavlauncher/src/main/assets/components/jre
./gradlew assembleDebug
mv app_pojavlauncher/build/outputs/apk/debug/app_pojavlauncher-debug.apk out/app-debug-noruntime.apk
- name: Upload APK
uses: actions/upload-artifact@v2
with:
name: app-debug
path: out/app-debug.apk
- name: Upload APK (without runtime)
uses: actions/upload-artifact@v2
with:
name: app-debug-noruntime
path: out/app-debug-noruntime.apk