diff --git a/.github/workflows/apk.yml b/.github/workflows/apk.yml index bcfbfe5f..8c37a355 100644 --- a/.github/workflows/apk.yml +++ b/.github/workflows/apk.yml @@ -88,6 +88,37 @@ jobs: - name: Build emulator retrace APKs run: gradle --no-daemon -p android-plugin :app:assembleEsprytTraceDebug :app:assembleMagmaTraceDebug -Pmobilegl.abis=x86_64 --parallel --max-workers "$(nproc)" + - name: Upload emulator retrace APKs + uses: actions/upload-artifact@v4 + with: + name: mobilegl-android-retrace-apk-x86_64 + path: android-plugin/app/build/outputs/apk/*Trace/debug/*.apk + if-no-files-found: error + + retrace: + runs-on: ubuntu-latest + needs: build + + steps: + - name: Checkout repo + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Set artifact metadata + run: | + echo "date_today=$(date +'%Y-%m-%d')" >> "$GITHUB_ENV" + echo "short_sha=${GITHUB_SHA::7}" >> "$GITHUB_ENV" + + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + + - name: Download emulator retrace APKs + uses: actions/download-artifact@v4 + with: + name: mobilegl-android-retrace-apk-x86_64 + path: android-retrace-apks + - name: Enable KVM run: | echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules @@ -111,6 +142,10 @@ jobs: cp tools/trace_replay/fixtures/minecraft-1.21.4-startup.0000092195.png android-retrace-fixture/golden.png adb push android-retrace-fixture/trace.trace /data/local/tmp/mobilegl-trace.trace adb push android-retrace-fixture/golden.png /data/local/tmp/mobilegl-golden.png + ESPRYT_APK="$(find android-retrace-apks -name 'MobileGL-EsprytTrace-debug.apk' -print -quit)" + MAGMA_APK="$(find android-retrace-apks -name 'MobileGL-MagmaTrace-debug.apk' -print -quit)" + test -n "${ESPRYT_APK}" + test -n "${MAGMA_APK}" run_retrace() { local case_name="$1" @@ -162,13 +197,13 @@ jobs: run_retrace \ minecraft-1.21.4-startup-DirectGLES \ top.mobilegl.plugin.espryt.trace \ - android-plugin/app/build/outputs/apk/esprytTrace/debug/MobileGL-EsprytTrace-debug.apk \ + "${ESPRYT_APK}" \ DirectGLES run_retrace \ minecraft-1.21.4-startup-DirectVulkan \ top.mobilegl.plugin.magma.trace \ - android-plugin/app/build/outputs/apk/magmaTrace/debug/MobileGL-MagmaTrace-debug.apk \ + "${MAGMA_APK}" \ DirectVulkan - name: Upload Android retrace result