Files
Amethyst-Android/.github/workflows/android.yml
2022-04-05 02:44:30 +03:00

130 lines
4.1 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-114-extra 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-114-extra
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
cp -R gl4es/libs/* app_pojavlauncher/src/main/jniLibs/
mv gl4es ..
- name: Push gl4es
if: github.event != 'pull_request' && steps.gl4es-cache.outputs.cache-hit != 'true'
continue-on-error: true
run: |
git add .
git commit -am "CI: Update gl4es"
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 JRE JAR files
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
- 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 Debug .apk
run: |
# Build the launcher
./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 -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
if: github.repository_owner == "PojavLauncherTeam" && github.ref_name == "v3_openjdk"
uses: r0adkll/upload-google-play@v1.0.15
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