inventree-app/.github/workflows/android.yaml
HendrikRauh 8a4d396f46
Some checks failed
Android / build (push) Failing after 5m34s
add cache for build
2026-01-26 19:57:16 +01:00

85 lines
2.5 KiB
YAML

# Build Android version of the app
name: Android
on:
push:
pull_request:
jobs:
build:
runs-on: ubuntu-latest
env:
ENABLE_NIX_STORE_CACHE: 'true' # set to 'true' to test caching the whole /nix/store (risky)
USE_CACHIX: 'false' # set to 'true' to enable Cachix step
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Cache Nix local cache (~/.cache/nix)
uses: actions/cache@v4
with:
path: ${{ env.HOME }}/.cache/nix
key: ${{ runner.os }}-nix-local-${{ hashFiles('flake.lock','flake.nix') }}
restore-keys: |
${{ runner.os }}-nix-local-
- name: (Optional) Cache entire /nix/store (experimental, very large)
if: env.ENABLE_NIX_STORE_CACHE == 'true'
uses: actions/cache@v4
with:
path: /nix/store/
key: ${{ runner.os }}-nix-store-${{ hashFiles('flake.lock','flake.nix') }}
restore-keys: |
${{ runner.os }}-nix-store-
- name: (Optional) Setup Cachix (use binary cache)
if: env.USE_CACHIX == 'true'
uses: cachix/cachix-action@v14
with:
name: inventree
- name: Cache Flutter Pub
uses: actions/cache@v4
with:
path: ${{ env.HOME }}/.pub-cache
key: ${{ runner.os }}-pub-${{ hashFiles('pubspec.lock','pubspec.yaml') }}
restore-keys: |
${{ runner.os }}-pub-
- name: Cache Gradle
uses: actions/cache@v4
with:
path: |
${{ env.HOME }}/.gradle/caches
${{ env.HOME }}/.gradle/wrapper
android/.gradle
key: ${{ runner.os }}-gradle-${{ hashFiles('**/build.gradle*','android/gradle.properties','android/gradle/wrapper/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Prepare Nix devshell
uses: ./.github/actions/nix-devshell
with:
prebuild: "true"
- name: Collect Translation Files
uses: ./.github/actions/nix-devshell
with:
commands: |
cd lib/l10n
python3 collect_translations.py
- name: Build Debug APK
uses: ./.github/actions/nix-devshell
with:
commands: |
flutter build apk --debug --target-platform android-arm64
- name: Upload APK artifact
uses: actions/upload-artifact@v4
with:
name: app-debug-apk
path: build/app/outputs/flutter-apk/*.apk
# retention-days: 90