# This workflow uses actions that are not certified by GitHub. # They are provided by a third-party and are governed by # separate terms of service, privacy policy, and support # documentation. name: flutter analysis on: push: branches: [ "main" ] pull_request: branches: [ "main" ] jobs: check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 1 - uses: subosito/flutter-action@v2 with: channel: 'stable' cache: true cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:' - name: Cache pub dependencies uses: actions/cache@v4 with: path: | ${{ env.PUB_CACHE }} ~/.pub-cache ${{ runner.tool_cache }}/flutter key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }} restore-keys: | ${{ runner.os }}-pub- - name: Install dependencies run: flutter pub get # Consider passing '--fatal-infos' for slightly stricter analysis. - name: Analyze project source run: dart analyze # Your project will need to have tests in test/ and a dependency on # package:test for this step to succeed. Note that Flutter projects will # want to change this to 'flutter test'. - name: Run tests run: flutter test