# Copyright 2019 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Tests configuration file. 
#
# It is used to define the tests that will be run on this repository
# it uses a very simple schema:
#
# tasks:
#   - task: <folder name>
#     script: <relative path to the runner script> 

tasks:
  # License checks should be first as testing Flutter projects creates artifacts
  # from plugins that will fail the license checker.
  - task: licenses
    script: test_utilities/bin/dart_test_runner.sh

  - task: licenses_check
    script: test_utilities/bin/licenses.sh

  - task: app_dart
    script: test_utilities/bin/dart_test_runner.sh

  - task: dashboard
    script: test_utilities/bin/flutter_test_runner.sh

  - task: auto_submit
    script: test_utilities/bin/dart_test_runner.sh

  - task: device_doctor
    script: test_utilities/bin/dart_test_runner.sh
