Skip to content

Update android.yml

Update android.yml #4

Workflow file for this run

name: Android CI Workflow
on:
push:
branches:
- main
- master
pull_request:
branches:
- main
- master
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '17'
cache: gradle
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
validate-wrappers: false
- name: Make Gradle Wrapper Executable & Ensure Valid Wrapper
run: |
if ! java -jar gradle/wrapper/gradle-wrapper.jar --version > /dev/null 2>&1; then
echo "Gradle wrapper JAR is corrupted or missing. Regenerating..."
gradle wrapper --gradle-version 9.3.1
fi
chmod +x ./gradlew
- name: Ensure Debug Keystore
run: |
if [ ! -f "debug.keystore" ]; then
keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 -dname "CN=Android Debug,O=Android,C=US"
fi
- name: Decode Release Keystore
shell: bash
env:
KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
run: |
if [ -n "$KEYSTORE_BASE64" ]; then
echo "$KEYSTORE_BASE64" | base64 --decode > app/release-keystore.jks
fi
- name: Build Debug APK
run: ./gradlew assembleDebug --stacktrace
- name: Build Release APK
env:
KEYSTORE_PATH: app/release-keystore.jks
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
run: ./gradlew assembleRelease --stacktrace
- name: Upload Debug APK
uses: actions/upload-artifact@v4
with:
name: app-debug
path: app/build/outputs/apk/debug/app-debug.apk
- name: Upload Release APK
uses: actions/upload-artifact@v4
with:
name: app-release
path: app/build/outputs/apk/release/*.apk
- name: Clean Up
if: always()
run: rm -f app/release-keystore.jks