1 parent
00a4c9c25a
commit
e3dd14cef6
33 files changed
+1678
-1
No files matched your search
@@ -0,0 +1,75 @@
|
||||
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
|
||||
Reference in new issue
Block a user