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:
      - uses: subosito/flutter-action@v1
        with:
          channel: stable
          flutter-version: '2.2.3'

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

      - name: Get packages for the Flutter project.
        run: flutter pub get

      - 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 --no-sound-null-safety
