name: Dart CI

on:
  # Run CI on pushes to the main branch, and on PRs against main.
  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.
  analyze:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        sdk: [dev]
    steps:
      - uses: actions/checkout@v2
      - uses: dart-lang/setup-dart@v0.1
        with:
          channel: ${{ matrix.sdk }}
      - id: install
        name: Install dependencies
        run: dart pub get
      - name: Check formatting
        if: always() && steps.install.outcome == 'success'
        run: dart format --output=none --set-exit-if-changed .
      - name: Analyze code
        run: dart analyze
        if: always() && steps.install.outcome == 'success'

  # Run tests on a matrix consisting of three 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]
        # Add stable if the package should also be tested on stable
        sdk: [dev]
    steps:
      - uses: actions/checkout@v2
      - uses: dart-lang/setup-dart@v0.1
        with:
          channel: ${{ matrix.sdk }}
      - id: install
        name: Install dependencies
        run: dart pub get
      - name: Run VM tests
        run: dart test --platform vm
        if: always() && steps.install.outcome == 'success'
      - name: Run Chrome tests
        run: dart test --platform chrome
        if: always() && steps.install.outcome == 'success'
