name: ci

on:
  # Run on PRs and pushes to the default branch.
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]
  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 and stable.
  analyze:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        sdk: [dev, 3.4]
    steps:
      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
      - uses: dart-lang/setup-dart@0a8a0fc875eb934c15d08629302413c671d3f672
        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, stable
  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: [dev, 3.4]
    steps:
      - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
      - uses: dart-lang/setup-dart@0a8a0fc875eb934c15d08629302413c671d3f672
        with:
          sdk: ${{ matrix.sdk }}
      - id: install
        name: Install dependencies
        run: dart pub get
      - run: dart test
        if: always() && steps.install.outcome == 'success'
