Build and sign release with Gradle

This commit is contained in:
Butterscotch!
2025-12-08 23:24:20 -05:00
parent ac43ca947e
commit bc26227443
3 changed files with 25 additions and 3 deletions

View File

@@ -113,13 +113,24 @@ jobs:
- name: Install dependencies
run: pnpm i
- name: Build
- name: Build GUI
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
run: cd gui && pnpm run build
- name: Decode keystore secret to file
env:
ANDROID_STORE_FILE: ${{ secrets.ANDROID_STORE_FILE }}
run: |
mkdir -p server/android/secrets/
echo $ANDROID_STORE_FILE | base64 --decode > server/android/secrets/keystore.jks
- name: Build with Gradle
run: ./gradlew :server:android:assembleDebug
run: ./gradlew :server:android:build
env:
ANDROID_STORE_PASSWD: ${{ secrets.ANDROID_STORE_PASSWD }}
ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
ANDROID_KEY_PASSWD: ${{ secrets.ANDROID_KEY_PASSWD }}
- name: Upload the Android Build Artifact
uses: actions/upload-artifact@v5
@@ -132,7 +143,7 @@ jobs:
- name: Prepare for release
if: startsWith(github.ref, 'refs/tags/')
run: |
cp server/android/build/outputs/apk/debug/android-debug.apk ./SlimeVR-android.apk
cp server/android/build/outputs/apk/release/android-release.apk ./SlimeVR-android.apk
- name: Upload to draft release
uses: softprops/action-gh-release@v2

View File

@@ -1,2 +1,3 @@
/build
/src/main/resources/web-gui
/secrets

View File

@@ -134,6 +134,15 @@ android {
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
create("release") {
storeFile = file("./secrets/keystore.jks")
storePassword = System.getenv("ANDROID_STORE_PASSWD")
keyAlias = System.getenv("ANDROID_KEY_ALIAS")
keyPassword = System.getenv("ANDROID_KEY_PASSWD")
}
}
/* The buildTypes block is where you can configure multiple build types.
By default, the build system defines two build types: debug and release. The
debug build type is not explicitly shown in the default build configuration,
@@ -151,6 +160,7 @@ android {
getDefaultProguardFile("proguard-android.txt"),
"proguard-rules.pro",
)
signingConfig = signingConfigs.getByName("release")
}
}