/opt/canhelp/.github/workflows
Edit: /opt/canhelp/.github/workflows/mobile-android.yml (3761B)
name: Android — Build & Upload Play Store
on:
push:
tags:
- 'v*' # trigger on version tags
workflow_dispatch: # manual trigger from GitHub UI
jobs:
build-android:
name: Build & Upload to Play Store (Internal)
runs-on: ubuntu-latest
steps:
# ── Checkout ──────────────────────────────────────────────
- name: Checkout code
uses: actions/checkout@v4
# ── Java ──────────────────────────────────────────────────
- name: Setup Java 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
# ── Flutter ───────────────────────────────────────────────
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.38.3'
channel: 'stable'
cache: true
- name: Flutter dependencies
working-directory: apps/mobile
run: flutter pub get
# ── Android keystore ──────────────────────────────────────
- name: Decode keystore
working-directory: apps/mobile/android
env:
KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
run: echo -n "$KEYSTORE_BASE64" | base64 --decode > app/canhelp-release.jks
- name: Create key.properties
working-directory: apps/mobile/android
env:
KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }}
run: |
cat > key.properties <
config/dart_defines.ci.json < fastlane/play-store-key.json
bundle exec fastlane internal