mirror of
https://github.com/vide/matedroid.git
synced 2026-01-20 00:03:17 +08:00
Add debug APK build to the release workflow: - Build both release and debug APKs - Rename debug APK with "-debug" suffix (e.g., matedroid-0.7.1-debug.apk) - Upload both APKs to releases and as artifacts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
79 lines
2.5 KiB
YAML
79 lines
2.5 KiB
YAML
name: Build Release APK
|
|
|
|
on:
|
|
release:
|
|
types: [published]
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up JDK 17
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
java-version: '17'
|
|
distribution: 'temurin'
|
|
|
|
- name: Setup Gradle
|
|
uses: gradle/actions/setup-gradle@v4
|
|
|
|
- name: Setup keystore
|
|
env:
|
|
KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
|
|
run: |
|
|
if [ -n "$KEYSTORE_BASE64" ]; then
|
|
echo "Using release keystore from secrets"
|
|
echo "$KEYSTORE_BASE64" | base64 -d > app/release.keystore
|
|
else
|
|
echo "No keystore secret found, creating debug keystore"
|
|
mkdir -p ~/.android
|
|
keytool -genkey -v -keystore ~/.android/debug.keystore \
|
|
-storepass android -alias androiddebugkey -keypass android \
|
|
-keyalg RSA -keysize 2048 -validity 10000 \
|
|
-dname "CN=Android Debug,O=Android,C=US"
|
|
fi
|
|
|
|
- name: Build Release APK
|
|
env:
|
|
KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
|
|
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
|
|
KEY_ALIAS: ${{ secrets.KEYSTORE_ALIAS }}
|
|
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
|
|
run: ./gradlew assembleRelease
|
|
|
|
- name: Build Debug APK
|
|
run: ./gradlew assembleDebug
|
|
|
|
- name: Rename APKs
|
|
run: |
|
|
VERSION=$(grep 'versionName' app/build.gradle.kts | sed 's/.*"\(.*\)".*/\1/')
|
|
mv app/build/outputs/apk/release/app-release.apk app/build/outputs/apk/release/matedroid-${VERSION}.apk
|
|
mv app/build/outputs/apk/debug/app-debug.apk app/build/outputs/apk/debug/matedroid-${VERSION}-debug.apk
|
|
echo "APK_NAME=matedroid-${VERSION}.apk" >> $GITHUB_ENV
|
|
echo "APK_NAME_DEBUG=matedroid-${VERSION}-debug.apk" >> $GITHUB_ENV
|
|
|
|
- name: Upload APKs to release
|
|
if: github.event_name == 'release'
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
files: |
|
|
app/build/outputs/apk/release/${{ env.APK_NAME }}
|
|
app/build/outputs/apk/debug/${{ env.APK_NAME_DEBUG }}
|
|
|
|
- name: Upload APKs as artifacts
|
|
if: github.event_name == 'workflow_dispatch'
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: apks
|
|
path: |
|
|
app/build/outputs/apk/release/${{ env.APK_NAME }}
|
|
app/build/outputs/apk/debug/${{ env.APK_NAME_DEBUG }}
|