The build-apk job was failing because the Docker runner image doesn't include Android SDK. Added steps to download Android command-line tools, accept licenses, and install SDK 34.
88 lines
2.5 KiB
YAML
88 lines
2.5 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Install system dependencies
|
|
run: apt-get update && apt-get install -y jq unzip xz-utils curl git
|
|
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Flutter
|
|
uses: subosito/flutter-action@v2
|
|
with:
|
|
flutter-version: '3.x'
|
|
channel: stable
|
|
|
|
- name: Fix git safe directory
|
|
run: git config --global --add safe.directory '*'
|
|
|
|
- name: Install dependencies
|
|
run: flutter pub get
|
|
|
|
- name: Analyze
|
|
run: flutter analyze --no-fatal-infos
|
|
|
|
- name: Run tests
|
|
run: flutter test
|
|
|
|
build-apk:
|
|
needs: test
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
|
|
|
steps:
|
|
- name: Install system dependencies
|
|
run: apt-get update && apt-get install -y jq unzip xz-utils curl git wget
|
|
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Java
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: temurin
|
|
java-version: 17
|
|
|
|
- name: Setup Android SDK
|
|
run: |
|
|
mkdir -p /opt/android-sdk/cmdline-tools
|
|
cd /tmp
|
|
wget -q "https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip" -O cmdline-tools.zip
|
|
unzip -q cmdline-tools.zip
|
|
mv cmdline-tools /opt/android-sdk/cmdline-tools/latest
|
|
echo "ANDROID_HOME=/opt/android-sdk" >> $GITHUB_ENV
|
|
echo "ANDROID_SDK_ROOT=/opt/android-sdk" >> $GITHUB_ENV
|
|
echo "/opt/android-sdk/cmdline-tools/latest/bin" >> $GITHUB_PATH
|
|
echo "/opt/android-sdk/platform-tools" >> $GITHUB_PATH
|
|
|
|
- name: Accept Android licenses and install SDK components
|
|
run: |
|
|
export ANDROID_HOME=/opt/android-sdk
|
|
yes | /opt/android-sdk/cmdline-tools/latest/bin/sdkmanager --licenses || true
|
|
/opt/android-sdk/cmdline-tools/latest/bin/sdkmanager "platforms;android-34" "build-tools;34.0.0" "platform-tools"
|
|
|
|
- name: Setup Flutter
|
|
uses: subosito/flutter-action@v2
|
|
with:
|
|
flutter-version: '3.x'
|
|
channel: stable
|
|
|
|
- name: Fix git safe directory
|
|
run: git config --global --add safe.directory '*'
|
|
|
|
- name: Install dependencies
|
|
run: flutter pub get
|
|
|
|
- name: Build APK
|
|
run: flutter build apk --release
|