88 lines
3.6 KiB
YAML
88 lines
3.6 KiB
YAML
name: Build Debug APK
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- 'debug/**'
|
|
- 'fix/**'
|
|
- 'feature/**'
|
|
workflow_dispatch: # Manueller Trigger möglich
|
|
|
|
jobs:
|
|
build-debug:
|
|
name: Build Debug APK
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Java
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: 'temurin'
|
|
java-version: '17'
|
|
|
|
- name: Extract version info
|
|
run: |
|
|
VERSION_NAME=$(grep "versionName = " android/app/build.gradle.kts | sed 's/.*versionName = "\(.*\)".*/\1/')
|
|
VERSION_CODE=$(grep "versionCode = " android/app/build.gradle.kts | sed 's/.*versionCode = \([0-9]*\).*/\1/')
|
|
BRANCH_NAME=${GITHUB_REF#refs/heads/}
|
|
COMMIT_SHA=$(git rev-parse --short HEAD)
|
|
|
|
echo "VERSION_NAME=$VERSION_NAME" >> $GITHUB_ENV
|
|
echo "VERSION_CODE=$VERSION_CODE" >> $GITHUB_ENV
|
|
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
|
|
echo "COMMIT_SHA=$COMMIT_SHA" >> $GITHUB_ENV
|
|
echo "BUILD_TIME=$(date +'%Y-%m-%d_%H-%M-%S')" >> $GITHUB_ENV
|
|
|
|
- name: Build Debug APK (Standard + F-Droid)
|
|
run: |
|
|
cd android
|
|
./gradlew assembleStandardDebug assembleFdroidDebug --no-daemon --stacktrace
|
|
|
|
- name: Prepare Debug APK artifacts
|
|
run: |
|
|
mkdir -p debug-apks
|
|
|
|
cp android/app/build/outputs/apk/standard/debug/app-standard-debug.apk \
|
|
debug-apks/simple-notes-sync-v${{ env.VERSION_NAME }}-${{ env.COMMIT_SHA }}-standard-debug.apk
|
|
|
|
cp android/app/build/outputs/apk/fdroid/debug/app-fdroid-debug.apk \
|
|
debug-apks/simple-notes-sync-v${{ env.VERSION_NAME }}-${{ env.COMMIT_SHA }}-fdroid-debug.apk
|
|
|
|
echo "✅ Debug APK Files ready:"
|
|
ls -lh debug-apks/
|
|
|
|
- name: Upload Debug APK Artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: simple-notes-sync-debug-v${{ env.VERSION_NAME }}-${{ env.BUILD_TIME }}
|
|
path: debug-apks/*.apk
|
|
retention-days: 30 # Debug Builds länger aufbewahren
|
|
compression-level: 0 # APK ist bereits komprimiert
|
|
|
|
- name: Create summary
|
|
run: |
|
|
echo "## 🐛 Debug APK Build" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "### Build Info" >> $GITHUB_STEP_SUMMARY
|
|
echo "- **Version:** v${{ env.VERSION_NAME }} (Code: ${{ env.VERSION_CODE }})" >> $GITHUB_STEP_SUMMARY
|
|
echo "- **Branch:** ${{ env.BRANCH_NAME }}" >> $GITHUB_STEP_SUMMARY
|
|
echo "- **Commit:** ${{ env.COMMIT_SHA }}" >> $GITHUB_STEP_SUMMARY
|
|
echo "- **Built:** ${{ env.BUILD_TIME }}" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "### Download" >> $GITHUB_STEP_SUMMARY
|
|
echo "Debug APK available in the Artifacts section above (expires in 30 days)" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "### Installation" >> $GITHUB_STEP_SUMMARY
|
|
echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY
|
|
echo "# Enable unknown sources" >> $GITHUB_STEP_SUMMARY
|
|
echo "adb install simple-notes-sync-*-debug.apk" >> $GITHUB_STEP_SUMMARY
|
|
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "### What's included?" >> $GITHUB_STEP_SUMMARY
|
|
echo "- Full Logging enabled" >> $GITHUB_STEP_SUMMARY
|
|
echo "- Not production signed" >> $GITHUB_STEP_SUMMARY
|
|
echo "- May have performance impact" >> $GITHUB_STEP_SUMMARY
|