Skip to content

MyChecker 0.8.0 - UX Verbesserungen + APK-Rename #2

MyChecker 0.8.0 - UX Verbesserungen + APK-Rename

MyChecker 0.8.0 - UX Verbesserungen + APK-Rename #2

Workflow file for this run

name: Android Build
on:
push:
pull_request:
workflow_dispatch:
release:
types: [published]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "17"
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
# Signierung nur, wenn Secrets gesetzt sind — sonst fällt der Job auf
# Debug-Build + Linters zurück (z. B. im Fork).
- name: Restore signing config
env:
MYCHECKER_KEYSTORE_BASE64: ${{ secrets.MYCHECKER_KEYSTORE_BASE64 }}
MYCHECKER_STORE_PASSWORD: ${{ secrets.MYCHECKER_STORE_PASSWORD }}
MYCHECKER_KEY_PASSWORD: ${{ secrets.MYCHECKER_KEY_PASSWORD }}
run: |
if [ -n "$MYCHECKER_KEYSTORE_BASE64" ]; then
echo "$MYCHECKER_KEYSTORE_BASE64" | base64 -d > "$GITHUB_WORKSPACE/mychecker-release.keystore"
mkdir -p ~/.gradle
{
echo "MYCHECKER_STORE_FILE=$GITHUB_WORKSPACE/mychecker-release.keystore"
echo "MYCHECKER_STORE_PASSWORD=$MYCHECKER_STORE_PASSWORD"
echo "MYCHECKER_KEY_ALIAS=mychecker"
echo "MYCHECKER_KEY_PASSWORD=$MYCHECKER_KEY_PASSWORD"
} >> ~/.gradle/gradle.properties
echo "RELEASE_ENABLED=true" >> "$GITHUB_ENV"
else
echo "RELEASE_ENABLED=false" >> "$GITHUB_ENV"
echo "::warning::Keystore-Secrets nicht gesetzt — Release-Build wird übersprungen."
fi
- name: Lint (ktlint + detekt)
run: ./gradlew ktlintCheck detekt --no-daemon
- name: Build debug APK
run: ./gradlew assembleDebug --no-daemon
- name: Build signed release APK
if: env.RELEASE_ENABLED == 'true'
run: ./gradlew assembleRelease --no-daemon
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: apks
path: |
app/build/outputs/apk/debug/*.apk
app/build/outputs/apk/release/*.apk
if-no-files-found: ignore
# Verteilung (Konzept §5 Phase 7): signiertes Release-APK an GitHub Releases,
# Updates über Obtainium (Repo-URL in Obtainium eintragen).
- name: Attach release APK to GitHub Release
if: github.event_name == 'release' && env.RELEASE_ENABLED == 'true'
uses: softprops/action-gh-release@v2
with:
files: app/build/outputs/apk/release/mychecker-*.apk