Files
corestate/.github/workflows/android-app.yml
Wiktor 07d70c84cb fix(workflows): resolve all remaining workflow issues
- Add chmod +x gradlew to Performance Test to fix permissions
- Fix Security Scan SARIF upload permissions and remove broken Semgrep configs
- Update Android App CI path filters to include gradle build files

Made by Wiktor/overspend1
2025-07-23 03:47:18 +02:00

138 lines
3.9 KiB
YAML

name: Android App CI
on:
push:
branches: [ main, develop ]
paths:
- 'apps/android/**'
- 'build.gradle.kts'
- 'settings.gradle.kts'
- 'gradlew'
- 'gradle/**'
pull_request:
branches: [ main ]
paths:
- 'apps/android/**'
- 'build.gradle.kts'
- 'settings.gradle.kts'
- 'gradlew'
- 'gradle/**'
env:
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx2048m -Dorg.gradle.daemon=false"
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Run tests
run: ./gradlew :apps:android:shared:testDebugUnitTest
- name: Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: android-test-results
path: |
apps/android/shared/build/reports/tests/
apps/android/shared/build/test-results/
build:
needs: test
runs-on: ubuntu-latest
strategy:
matrix:
build-type: [debug, release]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build Android App (${{ matrix.build-type }})
run: |
if [ "${{ matrix.build-type }}" = "release" ]; then
./gradlew :apps:android:androidApp:assembleRelease
else
./gradlew :apps:android:androidApp:assembleDebug
fi
- name: Upload APK artifacts
uses: actions/upload-artifact@v4
with:
name: android-apk-${{ matrix.build-type }}
path: apps/android/androidApp/build/outputs/apk/${{ matrix.build-type }}/*.apk
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Run Android Lint
run: ./gradlew :apps:android:androidApp:lintDebug
- name: Upload lint results
uses: actions/upload-artifact@v4
if: always()
with:
name: android-lint-results
path: apps/android/androidApp/build/reports/lint-results-debug.html