mirror of
https://github.com/AngelAuraMC/Amethyst-Android.git
synced 2026-04-18 16:46:58 -04:00
160 lines
5.4 KiB
YAML
160 lines
5.4 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
|
|
env:
|
|
GPLAY_KEYSTORE_PASSWORD: ${{ secrets.GPLAY_KEYSTORE_PASSWORD }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: set up JDK 1.8
|
|
uses: actions/setup-java@v1
|
|
with:
|
|
java-version: 1.8
|
|
|
|
- name: Get gl4es latest commit hash
|
|
id: gl4es-sha
|
|
run: echo "::set-output name=sha::$(echo $(git ls-remote https://github.com/PojavLauncherTeam/gl4es refs/heads/master | grep -io '^\S*' && git ls-remote https://github.com/ptitSeb/gl4es refs/heads/master | grep -io '^\S*'))"
|
|
shell: bash
|
|
|
|
- name: Cache gl4es
|
|
uses: actions/cache@v2
|
|
id: gl4es-cache
|
|
with:
|
|
path: gl4es/libs
|
|
key: gl4es-android-shared-nodbg-test1-2-${{ steps.gl4es-sha.outputs.sha }}
|
|
|
|
- name: Get gl4es
|
|
if: steps.gl4es-cache.outputs.cache-hit != 'true'
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: 'ptitSeb/gl4es'
|
|
path: 'gl4es'
|
|
|
|
- name: Build gl4es
|
|
if: steps.gl4es-cache.outputs.cache-hit != 'true'
|
|
continue-on-error: true
|
|
run: |
|
|
cd gl4es
|
|
git config --global user.email "github-actions@users.noreply.github.com"
|
|
git config --global user.name "github-actions"
|
|
git remote add upstream https://github.com/PojavLauncherTeam/gl4es
|
|
git fetch upstream
|
|
git checkout master
|
|
git merge --allow-unrelated-histories upstream/master || echo "Merge exit code $?"
|
|
$ANDROID_NDK_HOME/ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk
|
|
|
|
- name: Install gl4es
|
|
if: steps.gl4es-cache.outputs.cache-hit != 'true'
|
|
run: |
|
|
cp -R gl4es/libs/* app_pojavlauncher/src/main/jniLibs/
|
|
mv gl4es ..
|
|
git add .
|
|
git commit -am "CI: Update gl4es"
|
|
git push
|
|
|
|
- name: Get vgpu latest commit hash
|
|
id: vgpu-sha
|
|
run: echo "::set-output name=sha::$(echo $(git ls-remote https://github.com/PojavLauncherTeam/VGPU refs/heads/main | grep -io '^\S*'))"
|
|
shell: bash
|
|
|
|
- name: Cache vgpu
|
|
uses: actions/cache@v2
|
|
id: vgpu-cache
|
|
with:
|
|
path: vgpu/libs
|
|
key: vgpu-android-shared-1-${{ steps.vgpu-sha.outputs.sha }}
|
|
|
|
- name: Get vgpu
|
|
if: steps.vgpu-cache.outputs.cache-hit != 'true'
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: 'PojavLauncherTeam/VGPU'
|
|
path: 'vgpu'
|
|
|
|
- name: Build vgpu
|
|
if: steps.vgpu-cache.outputs.cache-hit != 'true'
|
|
continue-on-error: true
|
|
run: |
|
|
cd vgpu
|
|
$ANDROID_NDK_HOME/ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk
|
|
|
|
- name: Install vgpu
|
|
if: steps.vgpu-cache.outputs.cache-hit != 'true'
|
|
run: |
|
|
cp -R vgpu/libs/* app_pojavlauncher/src/main/jniLibs/
|
|
mv vgpu ..
|
|
git config --global user.email "github-actions@users.noreply.github.com"
|
|
git config --global user.name "github-actions"
|
|
git add .
|
|
git commit -am "CI: Update vgpu"
|
|
git push
|
|
|
|
- name: Get JRE8
|
|
uses: dawidd6/action-download-artifact@v2
|
|
with:
|
|
github_token: ${{secrets.GITHUB_TOKEN}}
|
|
workflow: build.yml
|
|
path: app_pojavlauncher/src/main/assets/components/jre
|
|
workflow_conclusion: success
|
|
repo: PojavLauncherTeam/android-openjdk-build-multiarch
|
|
branch: buildjre8
|
|
name: jre8-pojav
|
|
|
|
- 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
|
|
|
|
./gradlew :app_pojavlauncher:bundleGplay
|
|
mv app_pojavlauncher/build/outputs/bundle/gplay/app_pojavlauncher-gplay.aab out/app-gplay.aab
|
|
|
|
# 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 onto the Google Play testing track
|
|
uses: r0adkll/upload-google-play@v1
|
|
with:
|
|
serviceAccountJsonPlainText: ${{ secrets.GPLAY_SERVICE_JSON }}
|
|
packageName: net.kdt.pojavlaunch
|
|
releaseFiles: out/app-gplay.aab
|
|
track: internal
|
|
inAppUpdatePriority: 5
|
|
- name: Upload APK (without runtime)
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: app-debug-noruntime
|
|
path: out/app-debug-noruntime.apk
|