name: Quality check

on:
  push:
    branches:
      - develop

# TODO TLAD run `flutter format -l 1000 .` and fail if any

jobs:
  build:
    name: Check code quality.
    runs-on: ubuntu-latest
    steps:
      # Flutter SDK is pulled from https://storage.googleapis.com/flutter_infra_release/releases/releases_linux.json
      # or, as displayed at https://docs.flutter.dev/development/tools/sdk/releases?tab=linux
      # Available versions may lag behind https://github.com/flutter/flutter.git
      - uses: subosito/flutter-action@v2
        with:
          flutter-version: '3.3.8'
          channel: 'stable'

      - name: Clone the repository.
        uses: actions/checkout@v2

      - name: Get packages for the Flutter project.
        working-directory: ${{ github.workspace }}/scripts
        run: ./pub_get_all.sh

      - name: Update the flutter version file.
        working-directory: ${{ github.workspace }}/scripts
        run: ./update_flutter_version.sh

      - name: Static analysis.
        run: flutter analyze

      - name: Unit tests.
        run: flutter test
