Files
archived-matedroid/.github/workflows/release.yml
Davide Ferrari 47cfe315f7 chore(ci): build debug APK alongside release (#17)
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>
2026-01-05 19:32:01 +01:00

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 }}