for-android/.github/workflows/android.yml

49 lines
1.7 KiB
YAML

name: Android CI
on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'oracle'
cache: gradle
- name: Setup Android SDK
uses: android-actions/setup-android@v2
- uses: denoland/setup-deno@v2
with:
# setting `cache-hash` implies `cache: true` and will replace
# the default cache-hash of `${{ hashFiles('**/deno.lock') }}`
cache-hash: ${{ hashFiles('**/deno.json') }}
- name: Set up repo
run: chmod +x gradlew && deno run -A scripts/download_deps.ts --yes && cp revoltbuild.properties.example revoltbuild.properties && cp sentry.properties.example sentry.properties && cp app/google-services.json.example app/google-services.json && git submodule update --init --recursive
- name: Add signing key from the KEYSTORE_BASE64 github actions secret
run: echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > app/release-key.keystore
- name: Add revoltbuild.properties from the revoltbuildPropertiesbase64 secret
run: echo "${{ secrets.REVOLTBUILD_PROPERTIES_BASE64 }}" | base64 --decode > revoltbuild.properties
- name: Build with Gradle
run: ./gradlew --no-daemon assembleRelease -x app:uploadSentryProguardMappingsRelease
- name: Archive release APK
uses: actions/upload-artifact@v4
with:
name: release-apk
retention-days: 5
path: |
app/build/outputs/apk/release/app-release.apk