name: Dart CI

on:
  # Run on PRs and pushes to the default branch.
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
  schedule:
    - cron: "0 0 * * 0"

env:
  PUB_ENVIRONMENT: bot.github

jobs:
  # Check code formatting and static analysis on a single OS (linux)
  # against Dart dev.
  analyze:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        sdk: [dev]
    steps:
      - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
      - uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
        with:
          sdk: ${{ matrix.sdk }}
      - id: install
        name: Install dependencies
        run: dart pub get
      - name: Check formatting
        run: dart format --output=none --set-exit-if-changed .
        if: always() && steps.install.outcome == 'success'
      - name: Analyze code
        run: dart analyze --fatal-infos
        if: always() && steps.install.outcome == 'success'

  # Run tests on a matrix consisting of two dimensions:
  # 1. OS: ubuntu-latest, (macos-latest, windows-latest)
  # 2. release channel: dev
  test:
    needs: analyze
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        # Add macos-latest and/or windows-latest if relevant for this package.
        os: [ubuntu-latest]
        sdk: ['3.0', stable, dev]
        platform: [vm, chrome]
    steps:
      - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
      - uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3
        with:
          sdk: ${{ matrix.sdk }}
      - id: install
        name: Install dependencies
        run: dart pub get
      - name: Run tests on ${{ matrix.platform }}
        run: dart test --platform ${{ matrix.platform }} --coverage=./coverage
        if: always() && steps.install.outcome == 'success'
      # We don't collect code coverage from 2.12.0, because it doesn't work
      - name: Convert coverage to lcov
        run: dart run coverage:format_coverage -i ./coverage -o ./coverage/lcov.info --lcov --report-on lib/
        if: always() && steps.install.outcome == 'success' && matrix.sdk != '2.12.0'
      - uses: coverallsapp/github-action@30402dfd78555606e51eff084546182de0647a4a
        if: always() && steps.install.outcome == 'success' && matrix.sdk != '2.12.0'
        with:
          flag-name: os:${{ matrix.os }}/dart:${{ matrix.sdk }}/platform:${{ matrix.platform }}
          parallel: true

  report-coverage:
    needs: test
    if: ${{ always() }}
    runs-on: ubuntu-latest
    steps:
    - uses: coverallsapp/github-action@30402dfd78555606e51eff084546182de0647a4a
      with:
        parallel-finished: true
