# Created with package:mono_repo v3.4.6
name: Dart CI
on:
  push:
    branches:
      - main
      - master
  pull_request:
  schedule:
    - cron: "0 0 * * 0"
defaults:
  run:
    shell: bash
env:
  PUB_ENVIRONMENT: bot.github
  FORCE_TEST_EXIT: true

jobs:
  job_001:
    name: mono_repo self validate
    runs-on: ubuntu-latest
    steps:
      - name: Cache Pub hosted dependencies
        uses: actions/cache@v2
        with:
          path: "~/.pub-cache/hosted"
          key: "os:ubuntu-latest;pub-cache-hosted;dart:stable"
          restore-keys: |
            os:ubuntu-latest;pub-cache-hosted
            os:ubuntu-latest
      - uses: dart-lang/setup-dart@v0.3
        with:
          sdk: stable
      - id: checkout
        uses: actions/checkout@v2
      - name: mono_repo self validate
        run: pub global activate mono_repo 3.4.6
      - name: mono_repo self validate
        run: pub global run mono_repo generate --validate
  job_002:
    name: "analyze_and_format; PKGS: pkgs/test, pkgs/test_api, pkgs/test_core; `dartfmt -n --set-exit-if-changed .`, `dartanalyzer --fatal-infos --fatal-warnings .`"
    runs-on: ubuntu-latest
    steps:
      - name: Cache Pub hosted dependencies
        uses: actions/cache@v2
        with:
          path: "~/.pub-cache/hosted"
          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test-pkgs/test_api-pkgs/test_core;commands:dartfmt-dartanalyzer"
          restore-keys: |
            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test-pkgs/test_api-pkgs/test_core
            os:ubuntu-latest;pub-cache-hosted;dart:dev
            os:ubuntu-latest;pub-cache-hosted
            os:ubuntu-latest
      - uses: dart-lang/setup-dart@v0.3
        with:
          sdk: dev
      - id: checkout
        uses: actions/checkout@v2
      - id: pkgs_test_pub_upgrade
        name: "pkgs/test; pub upgrade --no-precompile"
        if: "always() && steps.checkout.conclusion == 'success'"
        working-directory: pkgs/test
        run: pub upgrade --no-precompile
      - name: "pkgs/test; dartfmt -n --set-exit-if-changed ."
        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
        working-directory: pkgs/test
        run: dartfmt -n --set-exit-if-changed .
      - name: "pkgs/test; dartanalyzer --fatal-infos --fatal-warnings ."
        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
        working-directory: pkgs/test
        run: dartanalyzer --fatal-infos --fatal-warnings .
      - id: pkgs_test_api_pub_upgrade
        name: "pkgs/test_api; pub upgrade --no-precompile"
        if: "always() && steps.checkout.conclusion == 'success'"
        working-directory: pkgs/test_api
        run: pub upgrade --no-precompile
      - name: "pkgs/test_api; dartfmt -n --set-exit-if-changed ."
        if: "always() && steps.pkgs_test_api_pub_upgrade.conclusion == 'success'"
        working-directory: pkgs/test_api
        run: dartfmt -n --set-exit-if-changed .
      - name: "pkgs/test_api; dartanalyzer --fatal-infos --fatal-warnings ."
        if: "always() && steps.pkgs_test_api_pub_upgrade.conclusion == 'success'"
        working-directory: pkgs/test_api
        run: dartanalyzer --fatal-infos --fatal-warnings .
      - id: pkgs_test_core_pub_upgrade
        name: "pkgs/test_core; pub upgrade --no-precompile"
        if: "always() && steps.checkout.conclusion == 'success'"
        working-directory: pkgs/test_core
        run: pub upgrade --no-precompile
      - name: "pkgs/test_core; dartfmt -n --set-exit-if-changed ."
        if: "always() && steps.pkgs_test_core_pub_upgrade.conclusion == 'success'"
        working-directory: pkgs/test_core
        run: dartfmt -n --set-exit-if-changed .
      - name: "pkgs/test_core; dartanalyzer --fatal-infos --fatal-warnings ."
        if: "always() && steps.pkgs_test_core_pub_upgrade.conclusion == 'success'"
        working-directory: pkgs/test_core
        run: dartanalyzer --fatal-infos --fatal-warnings .
  job_003:
    name: "unit_test; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 0`"
    runs-on: ubuntu-latest
    steps:
      - name: Cache Pub hosted dependencies
        uses: actions/cache@v2
        with:
          path: "~/.pub-cache/hosted"
          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test;commands:command_0"
          restore-keys: |
            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test
            os:ubuntu-latest;pub-cache-hosted;dart:dev
            os:ubuntu-latest;pub-cache-hosted
            os:ubuntu-latest
      - uses: dart-lang/setup-dart@v0.3
        with:
          sdk: dev
      - id: checkout
        uses: actions/checkout@v2
      - id: pkgs_test_pub_upgrade
        name: "pkgs/test; pub upgrade --no-precompile"
        if: "always() && steps.checkout.conclusion == 'success'"
        working-directory: pkgs/test
        run: pub upgrade --no-precompile
      - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 0"
        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
        working-directory: pkgs/test
        run: "xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 0"
    needs:
      - job_001
      - job_002
  job_004:
    name: "unit_test; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 1`"
    runs-on: ubuntu-latest
    steps:
      - name: Cache Pub hosted dependencies
        uses: actions/cache@v2
        with:
          path: "~/.pub-cache/hosted"
          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test;commands:command_1"
          restore-keys: |
            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test
            os:ubuntu-latest;pub-cache-hosted;dart:dev
            os:ubuntu-latest;pub-cache-hosted
            os:ubuntu-latest
      - uses: dart-lang/setup-dart@v0.3
        with:
          sdk: dev
      - id: checkout
        uses: actions/checkout@v2
      - id: pkgs_test_pub_upgrade
        name: "pkgs/test; pub upgrade --no-precompile"
        if: "always() && steps.checkout.conclusion == 'success'"
        working-directory: pkgs/test
        run: pub upgrade --no-precompile
      - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 1"
        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
        working-directory: pkgs/test
        run: "xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 1"
    needs:
      - job_001
      - job_002
  job_005:
    name: "unit_test; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 2`"
    runs-on: ubuntu-latest
    steps:
      - name: Cache Pub hosted dependencies
        uses: actions/cache@v2
        with:
          path: "~/.pub-cache/hosted"
          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test;commands:command_2"
          restore-keys: |
            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test
            os:ubuntu-latest;pub-cache-hosted;dart:dev
            os:ubuntu-latest;pub-cache-hosted
            os:ubuntu-latest
      - uses: dart-lang/setup-dart@v0.3
        with:
          sdk: dev
      - id: checkout
        uses: actions/checkout@v2
      - id: pkgs_test_pub_upgrade
        name: "pkgs/test; pub upgrade --no-precompile"
        if: "always() && steps.checkout.conclusion == 'success'"
        working-directory: pkgs/test
        run: pub upgrade --no-precompile
      - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 2"
        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
        working-directory: pkgs/test
        run: "xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 2"
    needs:
      - job_001
      - job_002
  job_006:
    name: "unit_test; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 3`"
    runs-on: ubuntu-latest
    steps:
      - name: Cache Pub hosted dependencies
        uses: actions/cache@v2
        with:
          path: "~/.pub-cache/hosted"
          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test;commands:command_3"
          restore-keys: |
            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test
            os:ubuntu-latest;pub-cache-hosted;dart:dev
            os:ubuntu-latest;pub-cache-hosted
            os:ubuntu-latest
      - uses: dart-lang/setup-dart@v0.3
        with:
          sdk: dev
      - id: checkout
        uses: actions/checkout@v2
      - id: pkgs_test_pub_upgrade
        name: "pkgs/test; pub upgrade --no-precompile"
        if: "always() && steps.checkout.conclusion == 'success'"
        working-directory: pkgs/test
        run: pub upgrade --no-precompile
      - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 3"
        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
        working-directory: pkgs/test
        run: "xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 3"
    needs:
      - job_001
      - job_002
  job_007:
    name: "unit_test; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 4`"
    runs-on: ubuntu-latest
    steps:
      - name: Cache Pub hosted dependencies
        uses: actions/cache@v2
        with:
          path: "~/.pub-cache/hosted"
          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test;commands:command_4"
          restore-keys: |
            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test
            os:ubuntu-latest;pub-cache-hosted;dart:dev
            os:ubuntu-latest;pub-cache-hosted
            os:ubuntu-latest
      - uses: dart-lang/setup-dart@v0.3
        with:
          sdk: dev
      - id: checkout
        uses: actions/checkout@v2
      - id: pkgs_test_pub_upgrade
        name: "pkgs/test; pub upgrade --no-precompile"
        if: "always() && steps.checkout.conclusion == 'success'"
        working-directory: pkgs/test
        run: pub upgrade --no-precompile
      - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 4"
        if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'"
        working-directory: pkgs/test
        run: "xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 4"
    needs:
      - job_001
      - job_002
  job_008:
    name: "unit_test; PKG: pkgs/test_api; `pub run test --preset travis -x browser`"
    runs-on: ubuntu-latest
    steps:
      - name: Cache Pub hosted dependencies
        uses: actions/cache@v2
        with:
          path: "~/.pub-cache/hosted"
          key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test_api;commands:command_5"
          restore-keys: |
            os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test_api
            os:ubuntu-latest;pub-cache-hosted;dart:dev
            os:ubuntu-latest;pub-cache-hosted
            os:ubuntu-latest
      - uses: dart-lang/setup-dart@v0.3
        with:
          sdk: dev
      - id: checkout
        uses: actions/checkout@v2
      - id: pkgs_test_api_pub_upgrade
        name: "pkgs/test_api; pub upgrade --no-precompile"
        if: "always() && steps.checkout.conclusion == 'success'"
        working-directory: pkgs/test_api
        run: pub upgrade --no-precompile
      - name: "pkgs/test_api; pub run test --preset travis -x browser"
        if: "always() && steps.pkgs_test_api_pub_upgrade.conclusion == 'success'"
        working-directory: pkgs/test_api
        run: pub run test --preset travis -x browser
    needs:
      - job_001
      - job_002
  job_009:
    name: Notify failure
    runs-on: ubuntu-latest
    if: "(github.event_name == 'push' || github.event_name == 'schedule') && failure()"
    steps:
      - run: |
          curl -H "Content-Type: application/json" -X POST -d \
            "{'text':'Build failed! ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}'}" \
            "${CHAT_WEBHOOK_URL}"
        env:
          CHAT_WEBHOOK_URL: "${{ secrets.BUILD_AND_TEST_TEAM_CHAT_WEBHOOK_URL }}"
    needs:
      - job_001
      - job_002
      - job_003
      - job_004
      - job_005
      - job_006
      - job_007
      - job_008
