106 lines
3.9 KiB
YAML
106 lines
3.9 KiB
YAML
name: Pull Request Pipeline
|
|
|
|
on:
|
|
pull_request:
|
|
|
|
jobs:
|
|
build-android:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up JDK
|
|
run: |
|
|
if command -v sudo >/dev/null 2>&1; then
|
|
sudo apt-get update && sudo apt-get install -y openjdk-11-jdk
|
|
else
|
|
apt-get update && apt-get install -y openjdk-11-jdk
|
|
fi
|
|
|
|
- name: Install Flutter (wget)
|
|
run: |
|
|
wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz
|
|
tar xf flutter_linux_3.38.2-stable.tar.xz
|
|
git config --global --add safe.directory "$(pwd)/flutter"
|
|
echo "$(pwd)/flutter/bin" >> $GITEA_PATH
|
|
|
|
- name: Install Android SDK command-line tools and components
|
|
run: |
|
|
export ANDROID_SDK_ROOT="$HOME/android-sdk"
|
|
if command -v sudo >/dev/null 2>&1; then
|
|
sudo apt-get update && sudo apt-get install -y unzip
|
|
else
|
|
apt-get update && apt-get install -y unzip
|
|
fi
|
|
mkdir -p $ANDROID_SDK_ROOT/cmdline-tools
|
|
cd $ANDROID_SDK_ROOT
|
|
wget https://dl.google.com/android/repository/commandlinetools-linux_latest.zip -O cmdline-tools.zip
|
|
unzip -q cmdline-tools.zip -d $ANDROID_SDK_ROOT/cmdline-tools
|
|
# move the extracted folder into a 'latest' folder (sdkmanager expects this layout)
|
|
if [ -d "$ANDROID_SDK_ROOT/cmdline-tools/cmdline-tools" ]; then
|
|
mv $ANDROID_SDK_ROOT/cmdline-tools/cmdline-tools $ANDROID_SDK_ROOT/cmdline-tools/latest || true
|
|
fi
|
|
export PATH=$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$PATH
|
|
# Install essential SDK components (adjust platform version/build-tools as needed)
|
|
yes | $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --sdk_root=$ANDROID_SDK_ROOT "platform-tools" "platforms;android-33" "build-tools;33.0.2"
|
|
yes | $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --sdk_root=$ANDROID_SDK_ROOT --licenses || true
|
|
|
|
- name: Add Android SDK to PATH
|
|
run: |
|
|
echo "$HOME/android-sdk/platform-tools" >> $GITEA_PATH
|
|
echo "$HOME/android-sdk/cmdline-tools/latest/bin" >> $GITEA_PATH
|
|
|
|
- name: Get dependencies
|
|
run: flutter pub get
|
|
|
|
- name: Build APK
|
|
env:
|
|
ANDROID_SDK_ROOT: $HOME/android-sdk
|
|
ANDROID_HOME: $HOME/android-sdk
|
|
JAVA_HOME: /usr/lib/jvm/java-11-openjdk-amd64
|
|
run: flutter build apk --release
|
|
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
if: false
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Flutter (wget)
|
|
run: |
|
|
wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz
|
|
tar xf flutter_linux_3.38.2-stable.tar.xz
|
|
git config --global --add safe.directory "$(pwd)/flutter"
|
|
echo "$(pwd)/flutter/bin" >> $GITEA_PATH
|
|
|
|
- name: Get dependencies
|
|
run: flutter pub get
|
|
|
|
- name: Analyze Formatting
|
|
run: flutter analyze lib test
|
|
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
RUNNER_TOOL_CACHE: /toolcache
|
|
if: f
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Flutter (wget)
|
|
run: |
|
|
wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz
|
|
tar xf flutter_linux_3.38.2-stable.tar.xz
|
|
git config --global --add safe.directory "$(pwd)/flutter"
|
|
echo "$(pwd)/flutter/bin" >> $GITEA_PATH
|
|
|
|
- name: Get dependencies
|
|
run: flutter pub get
|
|
|
|
- name: Run tests
|
|
run: flutter test
|