name: Pull Request Pipeline on: pull_request: jobs: lint: if: false 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.41.0 - name: Get dependencies run: | git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.41.0-x64 flutter pub get - name: Analyze Formatting run: flutter analyze lib test test: if: false 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.41.0 - name: Get dependencies run: | git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.41.0-x64 flutter pub get - name: Run tests run: flutter test localizations: if: false 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.41.0 - name: Get dependencies run: | git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.41.0-x64 flutter pub get - name: Check for untranslated messages run: | flutter gen-l10n --no-use-deferred-loading UNTRANSLATED_FILE=lib/l10n/untranslated_messages.json if [ ! -f "$UNTRANSLATED_FILE" ]; then echo "Expected $UNTRANSLATED_FILE to be generated, but it does not exist." exit 1 fi CONTENT=$(tr -d '[:space:]' < "$UNTRANSLATED_FILE") if [ "$CONTENT" != "{}" ]; then echo "Found untranslated messages:" cat "$UNTRANSLATED_FILE" exit 1 fi echo "All messages translated." database: 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.41.0 - name: Cache pub dependencies uses: actions/cache@v4 with: path: | ~/.pub-cache key: pub-${{ runner.os }}-${{ hashFiles('**/pubspec.lock') }} restore-keys: | pub-${{ runner.os }}- - name: Cache build_runner outputs uses: actions/cache@v4 with: path: | .dart_tool/build key: build-runner-${{ runner.os }}-${{ hashFiles('**/pubspec.lock') }} restore-keys: | build-runner-${{ runner.os }}- - name: Get dependencies run: | git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.41.0-x64 flutter pub get - name: Check for generated database files run: | dart run build_runner build if [ -n "$(git status --porcelain '*.g.dart')" ]; then echo "Generated database files are out of date. Diff:" git --no-pager diff -- '*.g.dart' exit 1 fi echo "Generated database files are up to date."