name: ffigen

on:
  # Run on PRs and pushes to the default branch.
  push:
    branches: [main, stable]
    paths:
      - '.github/workflows/ffigen.yml'
      - 'pkgs/ffigen/**'
  pull_request:
    branches: [main, stable]
    paths:
      - '.github/workflows/ffigen.yml'
      - 'pkgs/ffigen/**'
  schedule:
    - cron: "0 0 * * 0"

env:
  PUB_ENVIRONMENT: bot.github

jobs:
  # Check code formatting and static analysis on a single OS (macos).
  analyze:
    runs-on: macos-latest
    defaults:
      run:
        working-directory: pkgs/ffigen/
    strategy:
      fail-fast: false
      matrix:
        # TODO: Change to 3.2.0 stable once it's released.
        sdk: [3.2.0-210.4.beta]
    steps:
      - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
      - uses: dart-lang/setup-dart@b64355ae6ca0b5d484f0106a033dd1388965d06d
        with:
          sdk: ${{ matrix.sdk }}
      - id: install
        name: Install dependencies
        run: dart pub get && dart pub get --directory="example/shared_bindings"
      - name: Check formatting
        run: dart format --output=none --set-exit-if-changed .
        if: always() && steps.install.outcome == 'success'
      - name: Build test dylib and bindings
        run: dart test/setup.dart
      - name: Analyze code
        run: dart analyze --fatal-infos
        if: always() && steps.install.outcome == 'success'

  test-linux:
    needs: analyze
    runs-on: ubuntu-22.04
    defaults:
      run:
        working-directory: pkgs/ffigen/
    steps:
      - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
      - uses: dart-lang/setup-dart@b64355ae6ca0b5d484f0106a033dd1388965d06d
        with:
          sdk: 3.2.0-210.4.beta
      - name: Install dependencies
        run: dart pub get
      - name: Install libclang-14-dev
        run: sudo apt-get install libclang-14-dev
      - name: Build test dylib and bindings
        run: dart test/setup.dart
      - name: Run VM tests
        run: dart test --platform vm --concurrency=1

  test-mac:
    needs: analyze
    runs-on: macos-latest
    defaults:
      run:
        working-directory: pkgs/ffigen/
    steps:
      - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
      - uses: dart-lang/setup-dart@b64355ae6ca0b5d484f0106a033dd1388965d06d
        with:
          sdk: 3.2.0-210.4.beta
      - name: Install dependencies
        run: dart pub get
      - name: Build test dylib and bindings
        run: dart test/setup.dart
      - name: Run VM tests
        run: dart test --platform vm --concurrency=1
      - name: Collect coverage
        run: ./tool/coverage.sh
      - name: Upload coverage
        uses: coverallsapp/github-action@3dfc5567390f6fa9267c0ee9c251e4c8c3f18949
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          path-to-lcov: pkgs/ffigen/lcov.info

  test-windows:
    needs: analyze
    runs-on: windows-latest
    defaults:
      run:
        working-directory: pkgs/ffigen/
    steps:
      - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
      - uses: dart-lang/setup-dart@b64355ae6ca0b5d484f0106a033dd1388965d06d
        with:
          sdk: 3.2.0-210.4.beta
      - name: Install dependencies
        run: dart pub get
      - name: Build test dylib and bindings
        run: dart test/setup.dart
      - name: Run VM tests
        run: dart test --platform vm --concurrency=1

  # Sanity check the latest `flutter create --template plugin_ffi`.
  # This will break if we change the Flutter template or the generated code.
  # But, getting libclang on the LUCI infrastructure has proven to be
  # non-trivial. See discussion on
  # https://github.com/flutter/flutter/issues/105513.
  # If we need to change the generated code, we should temporarily disable this
  # test, or temporarily disable the requirement for all bots to be green to
  # merge PRs.
  # Running this sanity check on one OS should be sufficient. Chosing Windows
  # because it is the most likely to break.
  test-windows-flutter:
    needs: analyze
    runs-on: windows-latest
    defaults:
      run:
        working-directory: pkgs/ffigen/
    steps:
      - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
      - uses: subosito/flutter-action@2783a3f08e1baf891508463f8c6653c258246225
        with:
          channel: "master"
      - name: Install dependencies
        run: flutter pub get
      - name: Build test dylib and bindings
        run: dart test/setup.dart
      - name: Run VM tests
        run: flutter pub run test test_flutter/ --platform vm
