Skip to content

Community translations by @nicolasefrantz-hue #496

Community translations by @nicolasefrantz-hue

Community translations by @nicolasefrantz-hue #496

Workflow file for this run

name: Android CI
on:
pull_request:
branches:
- develop
- main
paths:
- 'app/**'
- 'stub/**'
- 'gradle/**'
- '*.gradle.kts'
- 'gradle.properties'
- 'gradlew'
- 'gradlew.bat'
- '.github/workflows/ci.yml'
push:
branches:
- develop
paths:
- 'app/**'
- 'stub/**'
- 'gradle/**'
- '*.gradle.kts'
- 'gradle.properties'
- 'gradlew'
- 'gradlew.bat'
- '.github/workflows/ci.yml'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build and Test
runs-on: ubuntu-latest
# Translation-only PRs are covered by a separate, faster workflow.
if: ${{ !contains(github.event.pull_request.labels.*.name, 'translations') }}
permissions:
contents: read
# Tune memory for GitHub Actions runner (7GB limit) to prevent OOM errors
env:
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx3072m -XX:MaxMetaspaceSize=512m -Dkotlin.daemon.jvm.options=-Xmx2048m"
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
with:
gradle-version: '9.5.0'
- name: Ensure Gradle Wrapper exists
run: |
if [ ! -f "gradle/wrapper/gradle-wrapper.jar" ]; then
gradle wrapper
fi
chmod +x gradlew
- name: Run unit tests and assemble debug APK
run: ./gradlew testDebugUnitTest assembleDebug --stacktrace --no-daemon
- name: Upload debug APK
uses: actions/upload-artifact@v4
if: success()
with:
name: essentials-debug-apk
path: app/build/outputs/apk/debug/*.apk
retention-days: 7
if-no-files-found: warn