Files
transui/.gitea/workflows/android.yml
T
intelligence e3dd14cef6
Android / build-android (push) Failing after 6s
feat:and
2026-08-29 14:51:02 +02:00

76 lines
2.8 KiB
YAML

name: Android
on:
push:
pull_request:
release:
types: [published]
workflow_dispatch:
jobs:
build-android:
runs-on: debian-latest
permissions:
contents: read
releases: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
- uses: android-actions/setup-android@v3
- uses: gradle/actions/setup-gradle@v4
with:
cache-read-only: ${{ gitea.event_name == 'pull_request' }}
- name: Install Android SDK packages
run: sdkmanager "platforms;android-35" "build-tools;35.0.0"
- name: Lint and test
working-directory: android
run: ./gradlew --no-daemon lintDebug testDebugUnitTest
- name: Build debug APK
working-directory: android
run: ./gradlew --no-daemon assembleDebug
- name: Build signed release APK
working-directory: android
env:
ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
ORG_GRADLE_PROJECT_transuiStorePassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
ORG_GRADLE_PROJECT_transuiKeyAlias: ${{ secrets.ANDROID_KEY_ALIAS }}
ORG_GRADLE_PROJECT_transuiKeyPassword: ${{ secrets.ANDROID_KEY_PASSWORD }}
run: |
if [ -z "$ANDROID_KEYSTORE_BASE64" ]; then
echo "Release signing secrets are not configured; skipping release APK"
exit 0
fi
keystore="$RUNNER_TEMP/transui-release.jks"
printf '%s' "$ANDROID_KEYSTORE_BASE64" | base64 --decode > "$keystore"
export ORG_GRADLE_PROJECT_transuiKeystore="$keystore"
./gradlew --no-daemon assembleRelease
- name: Prepare APK artifacts
working-directory: android
run: |
mkdir -p artifacts
cp app/build/outputs/apk/debug/app-debug.apk artifacts/transui-android-debug.apk
if [ -f app/build/outputs/apk/release/app-release.apk ]; then
cp app/build/outputs/apk/release/app-release.apk artifacts/transui-android-release.apk
fi
cd artifacts
sha256sum ./*.apk > SHA256SUMS-android
- name: Attach APKs to the Gitea release
if: gitea.event_name == 'release'
env:
ARTIFACT_DIR: android/artifacts
GITEA_SERVER_URL: ${{ gitea.server_url }}
GITEA_REPOSITORY: ${{ gitea.repository }}
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
GITEA_RELEASE_TAG: ${{ gitea.event.release.tag_name }}
run: scripts/publish-release-assets.sh
- name: Upload APKs
if: always()
uses: christopherhx/gitea-upload-artifact@v4
with:
name: transui-android
path: android/artifacts/
if-no-files-found: error