commit 80302eb67ec2ae535f377c4a1916f5f401708970
parent 13b525ff9b839be11f005f1a3ba8b45533529534
Author: MTRNord <MTRNord@users.noreply.github.com>
Date: Tue, 29 Jul 2025 14:05:39 +0200
Prepare CI
Diffstat:
3 files changed, 84 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
@@ -0,0 +1,39 @@
+name: Nightly Build
+
+on:
+ schedule:
+ - cron: '0 2 * * *'
+ workflow_dispatch:
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-java@v4
+ with:
+ distribution: 'temurin'
+ java-version: '17'
+ - name: Decode Keystore
+ run: |
+ echo "$RELEASE_KEYSTORE_BASE64" | base64 -d > release.jks
+ env:
+ RELEASE_KEYSTORE_BASE64: ${{ secrets.RELEASE_KEYSTORE_BASE64 }}
+ - name: Build APK & AAB (signed)
+ env:
+ RELEASE_KEYSTORE_PATH: release.jks
+ RELEASE_KEYSTORE_PASSWORD: ${{ secrets.RELEASE_KEYSTORE_PASSWORD }}
+ RELEASE_KEY_ALIAS: ${{ secrets.RELEASE_KEY_ALIAS }}
+ RELEASE_KEY_PASSWORD: ${{ secrets.RELEASE_KEY_PASSWORD }}
+ run: ./gradlew assembleRelease bundleRelease
+ - name: Upload APK & AAB to Nightly Release
+ uses: softprops/action-gh-release@v2
+ with:
+ tag_name: nightly
+ name: Nightly Build
+ prerelease: true
+ files: |
+ app/build/outputs/apk/release/app-release.apk
+ app/build/outputs/bundle/release/app-release.aab
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
@@ -0,0 +1,36 @@
+name: Release Build
+
+on:
+ push:
+ tags:
+ - 'v*'
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-java@v4
+ with:
+ distribution: 'temurin'
+ java-version: '17'
+ - name: Decode Keystore
+ run: |
+ echo "$RELEASE_KEYSTORE_BASE64" | base64 -d > release.jks
+ env:
+ RELEASE_KEYSTORE_BASE64: ${{ secrets.RELEASE_KEYSTORE_BASE64 }}
+ - name: Build APK & AAB (signed)
+ env:
+ RELEASE_KEYSTORE_PATH: release.jks
+ RELEASE_KEYSTORE_PASSWORD: ${{ secrets.RELEASE_KEYSTORE_PASSWORD }}
+ RELEASE_KEY_ALIAS: ${{ secrets.RELEASE_KEY_ALIAS }}
+ RELEASE_KEY_PASSWORD: ${{ secrets.RELEASE_KEY_PASSWORD }}
+ run: ./gradlew assembleRelease bundleRelease
+ - name: Upload APK & AAB to Release
+ uses: softprops/action-gh-release@v2
+ with:
+ files: |
+ app/build/outputs/apk/release/app-release.apk
+ app/build/outputs/bundle/release/app-release.aab
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
@@ -20,6 +20,14 @@ android {
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
+ signingConfigs {
+ create("release") {
+ storeFile = file(System.getenv("RELEASE_KEYSTORE_PATH") ?: "release.jks")
+ storePassword = System.getenv("RELEASE_KEYSTORE_PASSWORD")
+ keyAlias = System.getenv("RELEASE_KEY_ALIAS")
+ keyPassword = System.getenv("RELEASE_KEY_PASSWORD")
+ }
+ }
buildTypes {
release {
isMinifyEnabled = false
@@ -28,8 +36,7 @@ android {
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
-
- signingConfig = signingConfigs.getByName("debug")
+ signingConfig = signingConfigs.getByName("release")
}
}
compileOptions {