Skip to content

Port upstream library fixes #22

Port upstream library fixes

Port upstream library fixes #22

Workflow file for this run

name: Build Phone APK (Release)
on:
push:
branches: [ main ]
pull_request:
types: [opened, synchronize, reopened]
branches: [ main ]
workflow_dispatch:
permissions:
contents: read
jobs:
build-phone:
if: github.actor != 'dependabot[bot]'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Set up JDK 21
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: '21'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
- name: Cache keystore
id: cache-keystore
uses: actions/cache@v5
with:
path: pixelplayeross-ci.jks
key: ${{ runner.os }}-keystore-pixelplayeross
# This is not the official release key, those apk's will be universal and manually uploaded.
- name: Generate keystore if not cached
if: steps.cache-keystore.outputs.cache-hit != 'true'
run: |
keytool -genkey -v -keystore pixelplayeross-ci.jks -alias pixelplayeross-key -keyalg RSA -keysize 4096 -validity 10000 \
-storepass 994273 -keypass 994273 \
-dname "CN=PixelPlayerOSS, OU=Dev, O=PixelPlayerOSS, L=World, S=World, C=US"
- name: Create keystore.properties
run: |
echo "storeFile=pixelplayeross-ci.jks" > keystore.properties
echo "storePassword=994273" >> keystore.properties
echo "keyAlias=pixelplayeross-key" >> keystore.properties
echo "keyPassword=994273" >> keystore.properties
- name: Build Phone release APK
run: ./gradlew :app:assembleRelease -Ppixelplayer.enableAbiSplits=true
- name: Verify Phone split APKs
run: |
BUILD_TOOLS_VERSION="$(ls "$ANDROID_HOME/build-tools" | sort -V | tail -n 1)"
for apk in \
app/build/outputs/apk/release/app-arm64-v8a-release.apk \
app/build/outputs/apk/release/app-armeabi-v7a-release.apk
do
"$ANDROID_HOME/build-tools/$BUILD_TOOLS_VERSION/aapt2" dump badging "$apk" >/dev/null
"$ANDROID_HOME/build-tools/$BUILD_TOOLS_VERSION/apksigner" verify --verbose "$apk"
done
- name: Upload Phone split APK artifacts
uses: actions/upload-artifact@v7.0.1
with:
name: PixelPlayerOSS-phone-release-split-apks
path: |
app/build/outputs/apk/release/app-arm64-v8a-release.apk
app/build/outputs/apk/release/app-armeabi-v7a-release.apk
if-no-files-found: error
compression-level: 0