# Describes the tasks we run in the continuous integration (CI) environment. # # Cocoon[1] uses this file to generate a checklist of tasks to be performed for # every master commit. # # [1] github.com/flutter/cocoon # CI tasks. # # Each key in this dictionary is the unique name of a task, which also # corresponds to a file in the "bin/" directory that the task runner will run. # # Required properties: # # * description: free form string # describes what the task is about # * stage: one of "devicelab", "devicelab_ios", "devicelab_win" # tasks are grouped by stage so they appear next to each on the dashboard and have a distinct # icon attached to them. Stages can be used to create dependencies, e.g. we may decide to not # run device tests on red Travis. # * required_agent_capabilities: a list of strings # list of capabilities a devicelab agent must have to be able to run this task. # # Optional properties: # # * flaky: boolean true or false # whether the task is considered flaky; the result of running a flaky task does not affect # the overall build status. # * timeout_in_minutes: integer # a custom task timeout, specified in minutes. tasks: # Deviceless tests # TODO: make these not require "has-android-device"; it is only there to # ensure we have the Android SDK. flutter_gallery__build: description: > Collects various performance metrics from AOT builds of the Flutter Gallery. stage: devicelab required_agent_capabilities: ["has-android-device"] complex_layout__build: description: > Collects various performance metrics from AOT builds of the Complex Layout sample app. stage: devicelab required_agent_capabilities: ["has-android-device"] basic_material_app__size: description: > Measures the APK size of a basic material app. stage: devicelab required_agent_capabilities: ["has-android-device"] analyzer_cli__analysis_time: description: > Measures the speed of analyzing Flutter itself in batch mode. stage: devicelab required_agent_capabilities: ["has-android-device"] analyzer_server__analysis_time: description: > Measures the speed of analyzing Flutter itself in server mode. stage: devicelab required_agent_capabilities: ["has-android-device"] technical_debt__cost: description: > Estimates our technical debt (TODOs, analyzer ignores, etc). stage: devicelab required_agent_capabilities: ["has-android-device"] # Android on-device tests complex_layout_scroll_perf__timeline_summary: description: > Measures the runtime performance of the Complex Layout sample app on Android. stage: devicelab required_agent_capabilities: ["has-android-device"] flaky: true channels_integration_test: description: > Checks that platform channels work on Android. stage: devicelab required_agent_capabilities: ["has-android-device"] platform_channel_sample_test: description: > Runs a driver test on the Platform Channel sample app on Android. stage: devicelab required_agent_capabilities: ["has-android-device"] flutter_gallery__start_up: description: > Measures the startup time of the Flutter Gallery app on Android. stage: devicelab required_agent_capabilities: ["has-android-device"] complex_layout__start_up: description: > Measures the startup time of the Complex Layout sample app on Android. stage: devicelab required_agent_capabilities: ["has-android-device"] flutter_gallery__transition_perf: description: > Measures the performance of screen transitions in Flutter Gallery on Android. stage: devicelab required_agent_capabilities: ["has-android-device"] flaky: true hot_mode_dev_cycle__benchmark: description: > Measures the performance of Dart VM hot patching feature. stage: devicelab required_agent_capabilities: ["has-android-device"] complex_layout_scroll_perf__memory: description: > Measures memory usage of the scroll performance test. stage: devicelab required_agent_capabilities: ["has-android-device"] hello_world__memory: description: > Measures starting memory usage of the simplest Flutter app. stage: devicelab required_agent_capabilities: ["has-android-device"] flutter_gallery__memory_nav: description: > Measures memory usage after repeated navigation in Gallery. stage: devicelab required_agent_capabilities: ["has-android-device"] flutter_gallery__back_button_memory: description: > Measures memory usage after Android app suspend and resume. stage: devicelab required_agent_capabilities: ["has-android-device"] microbenchmarks: description: > Runs benchmarks from dev/benchmarks/microbenchmarks. stage: devicelab required_agent_capabilities: ["has-android-device"] timeout_in_minutes: 30 flutter_view__start_up: description: > Verifies that Flutter View can be used from an Android project. stage: devicelab required_agent_capabilities: ["has-android-device"] # iOS on-device tests channels_integration_test_ios: description: > Checks that platform channels work on iOS. stage: devicelab_ios required_agent_capabilities: ["has-ios-device"] flaky: true platform_channel_sample_test_ios: description: > Runs a driver test on the Platform Channel sample app on iOS. stage: devicelab_ios required_agent_capabilities: ["has-ios-device"] complex_layout_scroll_perf_ios__timeline_summary: description: > Measures the runtime performance of the Complex Layout sample app on iOS. stage: devicelab_ios required_agent_capabilities: ["has-ios-device"] flutter_gallery_ios__start_up: description: > Measures the startup time of the Flutter Gallery app on iOS. stage: devicelab_ios required_agent_capabilities: ["has-ios-device"] complex_layout_ios__start_up: description: > Measures the startup time of the Complex Layout sample app on iOS. stage: devicelab_ios required_agent_capabilities: ["has-ios-device"] flutter_gallery_ios__transition_perf: description: > Measures the performance of screen transitions in Flutter Gallery on iOS. stage: devicelab_ios required_agent_capabilities: ["has-ios-device"] basic_material_app_ios__size: description: > Measures the IPA size of a basic material app. stage: devicelab_ios required_agent_capabilities: ["has-ios-device"] microbenchmarks_ios: description: > Runs benchmarks from dev/benchmarks/microbenchmarks on iOS. stage: devicelab_ios required_agent_capabilities: ["has-ios-device"] timeout_in_minutes: 30 flaky: true flutter_view_ios__start_up: description: > Verifies that Flutter View can be used from an iOS project. stage: devicelab_ios required_agent_capabilities: ["has-ios-device"] # Tests running on Windows host channels_integration_test_win: description: > Checks that platform channels work when app is launched from Windows. stage: devicelab_win required_agent_capabilities: ["windows"] flaky: true flutter_gallery_win__build: description: > Collects various performance metrics from AOT builds of the Flutter Gallery on Windows. stage: devicelab_win required_agent_capabilities: ["windows"] flaky: true hot_mode_dev_cycle_win__benchmark: description: > Measures the performance of Dart VM hot patching feature on Windows. stage: devicelab_win required_agent_capabilities: ["windows"] flaky: true