name: Pull Request Pipeline on: pull_request: jobs: build: env: GRADLE_USER_HOME: ${{ github.workspace }}/.gradle 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: Setup Android SDK uses: android-actions/setup-android@v3 # Required for Flutter action - name: Install jq run: | apt-get update apt-get install -y jq - name: Set up Flutter uses: subosito/flutter-action@v2 with: channel: stable flutter-version: 3.38.6 - name: Get dependencies run: | git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.38.6-x64 flutter pub get - name: Build APK env: GRADLE_USER_HOME: ${{ github.workspace }}/.gradle run: flutter build apk --release lint: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 # Required for Flutter action - name: Install jq run: | apt-get update apt-get install -y jq - name: Set up Flutter uses: subosito/flutter-action@v2 with: channel: stable flutter-version: 3.38.6 - name: Get dependencies run: | git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.38.6-x64 flutter pub get - name: Analyze Formatting run: flutter analyze lib test test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 # Required for Flutter action - name: Install jq run: | apt-get update apt-get install -y jq - name: Set up Flutter uses: subosito/flutter-action@v2 with: channel: stable flutter-version: 3.38.6 - name: Get dependencies run: | git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.38.6-x64 flutter pub get - name: Run tests run: flutter test