name: Pull Request Pipeline on: pull_request: jobs: build-android: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Java (Temurin 17) uses: actions/setup-java@v3 with: distribution: temurin java-version: '17' - name: Install Android SDK command-line tools and components run: | set -euo pipefail apt-get update apt-get install -y unzip wget curl export ANDROID_SDK_ROOT="$HOME/android-sdk" mkdir -p "$ANDROID_SDK_ROOT" # überscheibbare URL (z.B. für act: file:///github/home/cmdline-tools.zip) URL="${ANDROID_CMDLINE_TOOLS_URL:-https://dl.google.com/android/repository/commandlinetools-linux_latest.zip}" if [ ! -d "$ANDROID_SDK_ROOT/platform-tools" ]; then echo "Downloading Android command-line tools from $URL" curl -fSL "$URL" -o /tmp/cmdline.zip || { echo "Download failed. Set ANDROID_CMDLINE_TOOLS_URL or mount ZIP when using act."; exit 1; } unzip -q /tmp/cmdline.zip -d /tmp/cmdline # move into expected layout: cmdline-tools/latest mkdir -p "$ANDROID_SDK_ROOT/cmdline-tools" if [ -d /tmp/cmdline/cmdline-tools ]; then mv /tmp/cmdline/cmdline-tools "$ANDROID_SDK_ROOT/cmdline-tools/latest" else # manche ZIPs packen die tools direkt mv /tmp/cmdline/* "$ANDROID_SDK_ROOT/cmdline-tools/latest" fi else echo "Android SDK already present, skipping download." fi export PATH="$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$ANDROID_SDK_ROOT/platform-tools:$PATH" yes | sdkmanager --sdk_root="$ANDROID_SDK_ROOT" "platform-tools" "platforms;android-33" "build-tools;33.0.2" yes | sdkmanager --sdk_root="$ANDROID_SDK_ROOT" --licenses echo "$ANDROID_SDK_ROOT/platform-tools" >> $GITEA_PATH - 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: Build APK env: ANDROID_SDK_ROOT: $HOME/android-sdk ANDROID_HOME: $HOME/android-sdk JAVA_HOME: $JAVA_HOME run: flutter build apk --release - name: Build IPA run: flutter build ipa --no-codesign 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 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: Run tests run: flutter test