├── app_dart
├── .vscode
│ └── settings.json
├── tool
│ └── ensure_file
├── .gitignore
├── protofu.yaml
├── build.yaml
├── lib
│ ├── protos.dart
│ ├── ci_yaml.dart
│ └── src
│ │ ├── model
│ │ ├── proto
│ │ │ ├── protos.dart
│ │ │ └── internal
│ │ │ │ ├── github_webhook.pbenum.dart
│ │ │ │ ├── scheduler.pbserver.dart
│ │ │ │ ├── github_webhook.pbserver.dart
│ │ │ │ ├── github_webhook.proto
│ │ │ │ └── github_webhook.pbjson.dart
│ │ ├── github
│ │ │ ├── annotations.g.dart
│ │ │ └── annotations.dart
│ │ ├── google
│ │ │ ├── grpc.g.dart
│ │ │ └── firebase_jwt_claim.g.dart
│ │ ├── bbv2_extension.dart
│ │ ├── commit_ref.dart
│ │ └── common
│ │ │ └── firestore_extensions.dart
│ │ ├── request_handlers
│ │ ├── readiness_check.dart
│ │ └── get_repos.dart
│ │ ├── service
│ │ ├── flags
│ │ │ ├── ci_yaml_flags.g.dart
│ │ │ ├── content_aware_hashing_flags.g.dart
│ │ │ ├── consolidated_check_run_flow_flags.g.dart
│ │ │ └── ci_yaml_flags.dart
│ │ ├── exceptions.dart
│ │ └── luci_build_service
│ │ │ └── cipd_version.dart
│ │ └── foundation
│ │ ├── typedefs.dart
│ │ └── providers.dart
├── analysis_options.yaml
├── test
│ ├── src
│ │ ├── utilities
│ │ │ └── matchers.dart
│ │ ├── request_handling
│ │ │ ├── fake_pubsub.dart
│ │ │ ├── fake_request_handler.dart
│ │ │ └── request_handler_tester.dart
│ │ ├── service
│ │ │ ├── fake_firebase_jwt_validator.dart
│ │ │ └── fake_get_files_changed.dart
│ │ ├── delegate_matcher.dart
│ │ └── model
│ │ │ ├── _pr_check_run.dart
│ │ │ └── _build_status_snapshot.dart
│ └── model
│ │ ├── firestore
│ │ ├── commit_test.dart
│ │ ├── github_gold_status_test.dart
│ │ └── github_build_status_test.dart
│ │ └── bbv2_extension_test.dart
├── config.yaml
├── integration_test
│ ├── common.dart
│ └── generate_jspb_test.dart
├── index.yaml
├── bin
│ └── validate_scheduler_config.dart
└── app.yaml
├── cipd_packages
├── ruby
│ ├── cocoapods_version.txt
│ ├── ruby_metadata.txt
│ ├── third_party
│ │ └── ruby_ship
│ │ │ ├── README
│ │ │ └── LICENSE.txt
│ └── README.md
├── ktlint
│ ├── ktlint_metadata.txt
│ ├── README.md
│ └── tools
│ │ └── build.sh
├── device_doctor
│ ├── tool
│ │ ├── infra-dialog
│ │ │ ├── .gitignore
│ │ │ ├── infra-dialog.xcodeproj
│ │ │ │ └── project.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── infra-dialogUITests
│ │ │ │ └── Info.plist
│ │ ├── ensure_file
│ │ ├── ensure_file_windows
│ │ ├── build.bat
│ │ └── build.sh
│ ├── .gitignore
│ ├── lib
│ │ └── device_doctor.dart
│ ├── pubspec.yaml
│ ├── test
│ │ └── src
│ │ │ └── fake_ios_device.dart
│ └── bin
│ │ └── ios_debug_symbol_doctor.dart
├── codesign
│ ├── analysis_options.yaml
│ ├── tool
│ │ ├── ensure_file
│ │ └── build.sh
│ ├── .gitignore
│ ├── lib
│ │ ├── codesign.dart
│ │ └── src
│ │ │ └── log.dart
│ ├── pubspec.yaml
│ └── bin
│ │ └── verify.dart
└── doxygen
│ └── .gitignore
├── dashboard
├── analysis_options.yaml
├── assets
│ ├── apple.png
│ ├── linux.png
│ ├── chromium.png
│ ├── fuchsia.png
│ ├── windows.png
│ └── googleLogo.png
├── web
│ ├── favicon.png
│ ├── favicon-failure.png
│ ├── icons
│ │ ├── Icon-192.png
│ │ ├── Icon-512.png
│ │ ├── Icon-maskable-192.png
│ │ └── Icon-maskable-512.png
│ ├── flutter_bootstrap.js
│ ├── .well-known
│ │ └── apple-app-site-association
│ └── manifest.json
├── tool
│ ├── dashboard-stdout.png
│ └── luci-failing-check.png
├── test
│ ├── widgets
│ │ ├── goldens
│ │ │ ├── commit_box_test.idle.png
│ │ │ ├── commit_box_test.open.png
│ │ │ ├── task_grid_test.withL.png
│ │ │ ├── task_grid_test.withSkips.png
│ │ │ ├── task_grid_test.withoutL.png
│ │ │ ├── task_grid_test.dev.origin.png
│ │ │ ├── sign_in_button.authenticated.png
│ │ │ ├── task_grid_test.dev.scroll_x.png
│ │ │ ├── task_grid_test.dev.scroll_y.png
│ │ │ ├── task_grid_test.dev.origin.dark.png
│ │ │ ├── sign_in_button.not_authenticated.png
│ │ │ ├── task_grid_test.dev.mouse_scroll_x.png
│ │ │ ├── task_grid_test.dev.mouse_scroll_y.png
│ │ │ ├── task_grid_test.dev.scroll_x.dark.png
│ │ │ ├── task_grid_test.dev.scroll_y.dark.png
│ │ │ ├── task_overlay_test.flaky_overlay_open.png
│ │ │ ├── task_overlay_test.nondevicelab_open.png
│ │ │ ├── task_overlay_test.flaky_overlay_closed.png
│ │ │ ├── task_overlay_test.nondevicelab_closed.png
│ │ │ ├── task_overlay_test.normal_overlay_closed.png
│ │ │ ├── task_overlay_test.normal_overlay_open.png
│ │ │ ├── task_grid_test.filterDefault.differentTypes.png
│ │ │ └── task_grid_test.filterShowBringup.differentTypes.png
│ │ ├── optional_image_test.dart
│ │ └── commit_author_avatar_test.dart
│ ├── goldens
│ │ ├── build_dashboard.defaultPropertySheet.png
│ │ └── build_dashboard.defaultPropertySheet.dark.png
│ ├── utils
│ │ ├── fake_flutter_app_icons.dart
│ │ ├── mocks.dart
│ │ ├── generate_commit_for_tests.dart
│ │ ├── fake_url_launcher.dart
│ │ └── output.dart
│ └── rpc_model
│ │ ├── branch_test.dart
│ │ └── build_status_response_test.dart
├── devtools_options.yaml
└── lib
│ └── widgets
│ ├── sign_in_button
│ ├── sign_in_button.dart
│ └── sign_in_button_native.dart
│ ├── header_text.dart
│ ├── app_bar.dart
│ └── state_provider.dart
├── auto_submit
├── CHANGELOG.md
├── README.md
├── .dockerignore
├── .gitignore
├── build.yaml
├── analysis_options.yaml
├── test
│ ├── utilities
│ │ └── mocks.dart
│ ├── src
│ │ ├── service
│ │ │ ├── fake_approver_service.dart
│ │ │ └── fake_discord_notification.dart
│ │ ├── validations
│ │ │ ├── fake_validation_filter.dart
│ │ │ ├── fake_mergeable.dart
│ │ │ ├── fake_approval.dart
│ │ │ └── fake_required_check_runs.dart
│ │ ├── request_handling
│ │ │ └── fake_authentication.dart
│ │ └── action
│ │ │ └── fake_revert_method.dart
│ ├── model
│ │ └── pull_request_change_type.dart
│ ├── git
│ │ └── cli_command_test.dart
│ ├── validations
│ │ └── base_commit_date_allowed_test_data.dart
│ └── request_handling
│ │ └── authentication_test.dart
├── lib
│ ├── service
│ │ ├── process_method.dart
│ │ └── discord_notification.dart
│ ├── exception
│ │ ├── retryable_exception.dart
│ │ └── configuration_exception.dart
│ ├── foundation
│ │ ├── typedefs.dart
│ │ └── providers.dart
│ ├── action
│ │ └── revert_method.dart
│ ├── model
│ │ ├── pull_request_data_types.dart
│ │ ├── discord_message.dart
│ │ └── discord_message.g.dart
│ ├── requests
│ │ ├── readiness_check.dart
│ │ ├── github_pull_request_event.g.dart
│ │ └── github_pull_request_event.dart
│ ├── git
│ │ └── utilities.dart
│ ├── server
│ │ └── authenticated_request_handler.dart
│ └── revert
│ │ └── revert_discord_message.dart
├── app.yaml
├── pubspec.yaml
└── cloudbuild_auto_submit.yaml
├── dev
├── githubanalysis
│ ├── analysis_options.yaml
│ ├── .gitignore
│ ├── pubspec.yaml
│ ├── bin
│ │ └── githubanalysis.dart
│ └── lib
│ │ └── debug_http.dart
├── cocoon_code_health
│ ├── README.md
│ ├── pubspec.yaml
│ └── lib
│ │ └── src
│ │ └── checks.dart
├── salt.minion.plist
└── prs_to_main.sh
├── packages
├── cocoon_common
│ ├── analysis_options.yaml
│ ├── lib
│ │ ├── cocoon_common.dart
│ │ ├── is_release_branch.dart
│ │ ├── src
│ │ │ ├── internal.dart
│ │ │ └── rpc_model
│ │ │ │ ├── branch.g.dart
│ │ │ │ ├── content_hash_lookup.dart
│ │ │ │ ├── content_hash_lookup.g.dart
│ │ │ │ ├── commit_status.dart
│ │ │ │ ├── commit_status.g.dart
│ │ │ │ ├── build_status_response.g.dart
│ │ │ │ └── tree_status_change.dart
│ │ └── is_dart_internal.dart
│ ├── pubspec.yaml
│ ├── test
│ │ ├── is_dart_internal_test.dart
│ │ ├── is_release_branch_test.dart
│ │ └── severity_test.dart
│ └── README.md
├── cocoon_server
│ ├── analysis_options.yaml
│ ├── lib
│ │ ├── logging.dart
│ │ ├── google_auth_provider.dart
│ │ ├── access_client_provider.dart
│ │ ├── big_query_pull_request_record.dart
│ │ └── generate_github_jws.dart
│ ├── README.md
│ ├── build.yaml
│ └── pubspec.yaml
├── cocoon_common_test
│ ├── analysis_options.yaml
│ ├── README.md
│ ├── lib
│ │ └── cocoon_common_test.dart
│ └── pubspec.yaml
├── cocoon_server_test
│ ├── analysis_options.yaml
│ ├── README.md
│ ├── build.yaml
│ ├── pubspec.yaml
│ ├── test
│ │ └── test_logging_test.dart
│ └── lib
│ │ ├── mocks.dart
│ │ └── fake_secret_manager.dart
└── buildbucket-dart
│ ├── .gitignore
│ ├── pubspec.yaml
│ ├── lib
│ └── src
│ │ └── generated
│ │ ├── google
│ │ ├── rpc
│ │ │ ├── status.pbenum.dart
│ │ │ └── status.pbjson.dart
│ │ └── protobuf
│ │ │ ├── any.pbenum.dart
│ │ │ ├── empty.pbenum.dart
│ │ │ ├── duration.pbenum.dart
│ │ │ ├── timestamp.pbenum.dart
│ │ │ ├── wrappers.pbenum.dart
│ │ │ ├── field_mask.pbenum.dart
│ │ │ ├── struct.pbserver.dart
│ │ │ ├── duration.pbserver.dart
│ │ │ ├── wrappers.pbserver.dart
│ │ │ ├── timestamp.pbserver.dart
│ │ │ ├── empty.pbjson.dart
│ │ │ ├── field_mask.pbjson.dart
│ │ │ ├── any.pbjson.dart
│ │ │ ├── duration.pbjson.dart
│ │ │ ├── timestamp.pbjson.dart
│ │ │ └── struct.pbenum.dart
│ │ └── go.chromium.org
│ │ └── luci
│ │ ├── buildbucket
│ │ └── proto
│ │ │ ├── step.pbenum.dart
│ │ │ ├── task.pbenum.dart
│ │ │ ├── launcher.pbenum.dart
│ │ │ ├── notification.pbenum.dart
│ │ │ ├── builder_common.pbenum.dart
│ │ │ ├── builds_service.pbenum.dart
│ │ │ ├── build.pbserver.dart
│ │ │ ├── step.pbserver.dart
│ │ │ ├── task.pbserver.dart
│ │ │ ├── common.pbserver.dart
│ │ │ ├── builder_common.pbserver.dart
│ │ │ └── project_config.pbserver.dart
│ │ ├── resultdb
│ │ ├── proto
│ │ │ └── v1
│ │ │ │ ├── common.pbenum.dart
│ │ │ │ ├── artifact.pbenum.dart
│ │ │ │ ├── resultdb.pbenum.dart
│ │ │ │ ├── test_metadata.pbenum.dart
│ │ │ │ ├── failure_reason.pbenum.dart
│ │ │ │ ├── common.pbserver.dart
│ │ │ │ ├── invocation.pbserver.dart
│ │ │ │ └── predicate.pbserver.dart
│ │ └── sink
│ │ │ └── proto
│ │ │ └── v1
│ │ │ ├── sink.pbenum.dart
│ │ │ └── location_tag.pbenum.dart
│ │ └── common
│ │ └── proto
│ │ └── structmask
│ │ ├── structmask.pbenum.dart
│ │ └── structmask.pbjson.dart
│ ├── test
│ └── buildbucket_pb_test.dart
│ ├── example
│ └── buildbucket_pb_example.dart
│ ├── CHANGELOG.md
│ ├── README.md
│ └── analysis_options.yaml
├── .gitattributes
├── licenses
├── README.md
└── pubspec.yaml
├── CODEOWNERS
├── .gitignore
├── analyze
└── pubspec.yaml
├── cloud_build
├── deploy_cron_jobs.sh
├── dashboard_build.sh
├── deploy_app_dart.sh
└── deploy_auto_submit.sh
├── test_utilities
└── bin
│ ├── code_health_check.sh
│ ├── prepare_environment.sh
│ ├── analyze.sh
│ ├── licenses.sh
│ ├── config_test_runner.sh
│ └── flutter_test_runner.sh
├── tests.yaml
├── cocoon.code-workspace
├── pubspec.yaml
├── tooling
└── tooling_test.go
├── Dockerfile.app_dart
├── Dockerfile.auto_submit
├── cloudbuild_cron.yaml
├── .github
└── workflows
│ ├── common_validation.yaml
│ ├── app_dart_tests.yaml
│ └── dashboard_tests.yaml
└── analysis_options.yaml
/app_dart/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | }
--------------------------------------------------------------------------------
/cipd_packages/ruby/cocoapods_version.txt:
--------------------------------------------------------------------------------
1 | 1.16.2
2 |
--------------------------------------------------------------------------------
/cipd_packages/ktlint/ktlint_metadata.txt:
--------------------------------------------------------------------------------
1 | 1.5.0,ktlint
2 |
--------------------------------------------------------------------------------
/cipd_packages/ruby/ruby_metadata.txt:
--------------------------------------------------------------------------------
1 | 3.1,ruby-3.1.3.tar.gz
2 |
--------------------------------------------------------------------------------
/dashboard/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: ../analysis_options.yaml
2 |
--------------------------------------------------------------------------------
/cipd_packages/device_doctor/tool/infra-dialog/.gitignore:
--------------------------------------------------------------------------------
1 | **/xcuserdata/
2 |
--------------------------------------------------------------------------------
/auto_submit/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## 0.0.1
2 |
3 | - Initial checkin of basic server
4 |
--------------------------------------------------------------------------------
/dev/githubanalysis/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: ../../analysis_options.yaml
2 |
--------------------------------------------------------------------------------
/cipd_packages/codesign/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: ../../analysis_options.yaml
2 |
--------------------------------------------------------------------------------
/packages/cocoon_common/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: ../../analysis_options.yaml
2 |
--------------------------------------------------------------------------------
/packages/cocoon_server/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: ../../analysis_options.yaml
2 |
--------------------------------------------------------------------------------
/packages/cocoon_common_test/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: ../../analysis_options.yaml
2 |
--------------------------------------------------------------------------------
/packages/cocoon_server_test/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: ../../analysis_options.yaml
2 |
--------------------------------------------------------------------------------
/auto_submit/README.md:
--------------------------------------------------------------------------------
1 | # Autosubmit
2 |
3 | RFC is available in https://flutter.dev/go/autosubmit
4 |
--------------------------------------------------------------------------------
/dashboard/assets/apple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/assets/apple.png
--------------------------------------------------------------------------------
/dashboard/assets/linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/assets/linux.png
--------------------------------------------------------------------------------
/dashboard/web/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/web/favicon.png
--------------------------------------------------------------------------------
/dashboard/assets/chromium.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/assets/chromium.png
--------------------------------------------------------------------------------
/dashboard/assets/fuchsia.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/assets/fuchsia.png
--------------------------------------------------------------------------------
/dashboard/assets/windows.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/assets/windows.png
--------------------------------------------------------------------------------
/dashboard/assets/googleLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/assets/googleLogo.png
--------------------------------------------------------------------------------
/dashboard/web/favicon-failure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/web/favicon-failure.png
--------------------------------------------------------------------------------
/dashboard/web/icons/Icon-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/web/icons/Icon-192.png
--------------------------------------------------------------------------------
/dashboard/web/icons/Icon-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/web/icons/Icon-512.png
--------------------------------------------------------------------------------
/dashboard/tool/dashboard-stdout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/tool/dashboard-stdout.png
--------------------------------------------------------------------------------
/app_dart/tool/ensure_file:
--------------------------------------------------------------------------------
1 | $ServiceURL https://chrome-infra-packages.appspot.com/
2 |
3 | dart/dart-sdk/${os}-${arch} stable
4 |
--------------------------------------------------------------------------------
/dashboard/tool/luci-failing-check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/tool/luci-failing-check.png
--------------------------------------------------------------------------------
/dashboard/web/icons/Icon-maskable-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/web/icons/Icon-maskable-192.png
--------------------------------------------------------------------------------
/dashboard/web/icons/Icon-maskable-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/web/icons/Icon-maskable-512.png
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | **/*.mocks.dart linguist-generated=true
2 | **/*.pb*.dart linguist-generated=true
3 | **/*.g.dart linguist-generated=true
4 |
--------------------------------------------------------------------------------
/cipd_packages/codesign/tool/ensure_file:
--------------------------------------------------------------------------------
1 | $ServiceURL https://chrome-infra-packages.appspot.com/
2 |
3 | dart/dart-sdk/${os}-${arch} beta
4 |
--------------------------------------------------------------------------------
/cipd_packages/device_doctor/tool/ensure_file:
--------------------------------------------------------------------------------
1 | $ServiceURL https://chrome-infra-packages.appspot.com/
2 |
3 | dart/dart-sdk/${os}-${arch} dev
4 |
--------------------------------------------------------------------------------
/cipd_packages/device_doctor/tool/ensure_file_windows:
--------------------------------------------------------------------------------
1 | $ServiceURL https://chrome-infra-packages.appspot.com/
2 |
3 | dart/dart-sdk/${os}-${arch} dev
4 |
--------------------------------------------------------------------------------
/cipd_packages/ruby/third_party/ruby_ship/README:
--------------------------------------------------------------------------------
1 | Scripts in this directory are copied from
2 | https://github.com/stephan-nordnes-eriksen/ruby_ship/.
3 |
--------------------------------------------------------------------------------
/auto_submit/.dockerignore:
--------------------------------------------------------------------------------
1 | .dockerignore
2 | Dockerfile
3 | build/
4 | .dart_tool/
5 | .git/
6 | .github/
7 | .gitignore
8 | .idea/
9 | .packages
10 |
--------------------------------------------------------------------------------
/auto_submit/.gitignore:
--------------------------------------------------------------------------------
1 | # Files and directories created by pub.
2 | .dart_tool/
3 | .packages
4 |
5 | # Conventional directory for build output.
6 | build/
7 |
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/commit_box_test.idle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/commit_box_test.idle.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/commit_box_test.open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/commit_box_test.open.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_grid_test.withL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_grid_test.withL.png
--------------------------------------------------------------------------------
/licenses/README.md:
--------------------------------------------------------------------------------
1 | # Licenses
2 |
3 | Test utility for verifying LICENSES and headers are in compliance.
4 |
5 | To run on Cocoon, do `dart check_licenses.dart`
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_grid_test.withSkips.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_grid_test.withSkips.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_grid_test.withoutL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_grid_test.withoutL.png
--------------------------------------------------------------------------------
/cipd_packages/codesign/.gitignore:
--------------------------------------------------------------------------------
1 | # Files and directories created by pub.
2 | .dart_tool/
3 | .packages
4 |
5 | # Conventional directory for build output.
6 | build/
7 |
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_grid_test.dev.origin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_grid_test.dev.origin.png
--------------------------------------------------------------------------------
/app_dart/.gitignore:
--------------------------------------------------------------------------------
1 | # Files and directories created by pub.
2 | .dart_tool/
3 | .packages
4 |
5 | # Conventional directory for build output.
6 | build/
7 |
8 | coverage/
9 |
--------------------------------------------------------------------------------
/dashboard/test/goldens/build_dashboard.defaultPropertySheet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/goldens/build_dashboard.defaultPropertySheet.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/sign_in_button.authenticated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/sign_in_button.authenticated.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_grid_test.dev.scroll_x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_grid_test.dev.scroll_x.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_grid_test.dev.scroll_y.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_grid_test.dev.scroll_y.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_grid_test.dev.origin.dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_grid_test.dev.origin.dark.png
--------------------------------------------------------------------------------
/CODEOWNERS:
--------------------------------------------------------------------------------
1 | app_dart/lib/src/request_handlers/push_gold_status_to_github.dart @Piinks
2 | cipd_packages/ktlint/** @gmackall
3 |
--------------------------------------------------------------------------------
/app_dart/protofu.yaml:
--------------------------------------------------------------------------------
1 | compiler:
2 | version: 27.2
3 |
4 | plugin:
5 | version: 21.1.2
6 |
7 | sources:
8 | - lib/src/model/proto
9 |
10 | output: lib/src/model/proto
11 |
--------------------------------------------------------------------------------
/dashboard/test/goldens/build_dashboard.defaultPropertySheet.dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/goldens/build_dashboard.defaultPropertySheet.dark.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/sign_in_button.not_authenticated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/sign_in_button.not_authenticated.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_grid_test.dev.mouse_scroll_x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_grid_test.dev.mouse_scroll_x.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_grid_test.dev.mouse_scroll_y.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_grid_test.dev.mouse_scroll_y.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_grid_test.dev.scroll_x.dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_grid_test.dev.scroll_x.dark.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_grid_test.dev.scroll_y.dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_grid_test.dev.scroll_y.dark.png
--------------------------------------------------------------------------------
/packages/cocoon_common_test/README.md:
--------------------------------------------------------------------------------
1 | # Cocoon Commons Test
2 |
3 | This package includes testing functionality for [`cocoon_common`][].
4 |
5 | [`cocoon_common`]: ../cocoon_common
6 |
--------------------------------------------------------------------------------
/packages/cocoon_server_test/README.md:
--------------------------------------------------------------------------------
1 | # Cocoon Server Test
2 |
3 | This package includes testing functionality for [`cocoon_server`][].
4 |
5 | [`cocoon_server`]: ../cocoon_server
6 |
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_overlay_test.flaky_overlay_open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_overlay_test.flaky_overlay_open.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_overlay_test.nondevicelab_open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_overlay_test.nondevicelab_open.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_overlay_test.flaky_overlay_closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_overlay_test.flaky_overlay_closed.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_overlay_test.nondevicelab_closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_overlay_test.nondevicelab_closed.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_overlay_test.normal_overlay_closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_overlay_test.normal_overlay_closed.png
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_overlay_test.normal_overlay_open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_overlay_test.normal_overlay_open.png
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .dart_tool
2 | .DS_Store
3 | *~
4 | .packages
5 | .pub
6 | **/pubspec.lock
7 | .flutter-plugins-dependencies
8 | # IntelliJ
9 | .idea
10 | *.iml
11 |
12 | # VSCode
13 | .vscode/
14 |
--------------------------------------------------------------------------------
/cipd_packages/device_doctor/.gitignore:
--------------------------------------------------------------------------------
1 | # CIPD and Dart-SDK binaries
2 | .cipd/
3 | dart-sdk/
4 |
5 | # Build outputs
6 | .dart_tool/
7 | build/
8 | .ssh/
9 |
10 | # Dart
11 | .packages
12 |
--------------------------------------------------------------------------------
/dev/githubanalysis/.gitignore:
--------------------------------------------------------------------------------
1 | # https://dart.dev/guides/libraries/private-files
2 | # Created by `dart pub`
3 | .dart_tool/
4 | .github-token
5 | cache/
6 | output/
7 | members.txt
8 | exmembers.txt
9 |
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_grid_test.filterDefault.differentTypes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_grid_test.filterDefault.differentTypes.png
--------------------------------------------------------------------------------
/cipd_packages/doxygen/.gitignore:
--------------------------------------------------------------------------------
1 | # CIPD and Dart-SDK binaries
2 | .cipd/
3 | dart-sdk/
4 |
5 | # Build outputs
6 | .dart_tool/
7 | build/
8 | doxygen_src/
9 | .ssh/
10 |
11 | # Dart
12 | .packages
13 |
--------------------------------------------------------------------------------
/dashboard/test/widgets/goldens/task_grid_test.filterShowBringup.differentTypes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/flutter/cocoon/HEAD/dashboard/test/widgets/goldens/task_grid_test.filterShowBringup.differentTypes.png
--------------------------------------------------------------------------------
/dashboard/devtools_options.yaml:
--------------------------------------------------------------------------------
1 | description: This file stores settings for Dart & Flutter DevTools.
2 | documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
3 | extensions:
4 |
--------------------------------------------------------------------------------
/dev/githubanalysis/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: githubanalysis
2 |
3 | environment:
4 | sdk: ^3.9.0
5 |
6 | dependencies:
7 | github: ^9.9.0
8 | http: ^1.0.0
9 |
10 | dev_dependencies:
11 | dart_flutter_team_lints: 3.5.0
12 |
--------------------------------------------------------------------------------
/app_dart/build.yaml:
--------------------------------------------------------------------------------
1 | targets:
2 | $default:
3 | builders:
4 | source_gen|combining_builder:
5 | options:
6 | ignore_for_file:
7 | - always_specify_types
8 | - implicit_dynamic_parameter
9 |
--------------------------------------------------------------------------------
/app_dart/lib/protos.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | export 'src/model/proto/protos.dart';
6 |
--------------------------------------------------------------------------------
/packages/cocoon_server/lib/logging.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | export 'src/logging.dart' show log;
6 |
--------------------------------------------------------------------------------
/packages/cocoon_server_test/build.yaml:
--------------------------------------------------------------------------------
1 | targets:
2 | $default:
3 | sources:
4 | - $package$
5 | - lib/$lib$
6 | - lib/**.dart
7 | builders:
8 | mockito|mockBuilder:
9 | generate_for:
10 | - lib/**.dart
11 |
--------------------------------------------------------------------------------
/licenses/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: license_checks
2 | description: Script to check licenses.
3 |
4 | environment:
5 | sdk: ^3.9.0
6 |
7 | dependencies:
8 | path: 1.9.1
9 | platform: 3.1.6
10 |
11 | dev_dependencies:
12 | mockito: ^5.4.6
13 | test_api: 0.7.8
14 |
--------------------------------------------------------------------------------
/app_dart/lib/ci_yaml.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | export 'src/model/ci_yaml/ci_yaml.dart';
6 | export 'src/model/ci_yaml/target.dart';
7 |
--------------------------------------------------------------------------------
/auto_submit/build.yaml:
--------------------------------------------------------------------------------
1 | targets:
2 | $default:
3 | builders:
4 | json_serializable:
5 | options:
6 | # Options configure how source code is generated for every
7 | # `@JsonSerializable`-annotated class in the package.
8 | field_rename: snake
9 |
--------------------------------------------------------------------------------
/cipd_packages/codesign/lib/codesign.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | export 'src/file_codesign_visitor.dart';
6 | export 'src/utils.dart';
7 |
--------------------------------------------------------------------------------
/cipd_packages/device_doctor/tool/infra-dialog/infra-dialog.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/dashboard/web/flutter_bootstrap.js:
--------------------------------------------------------------------------------
1 | {{flutter_js}}
2 | {{flutter_build_config}}
3 |
4 | _flutter.loader.load({
5 | onEntrypointLoaded: async function(engineInitializer) {
6 | let appRunner = await engineInitializer.initializeEngine();
7 | appRunner.runApp();
8 | }
9 | });
10 |
--------------------------------------------------------------------------------
/app_dart/lib/src/model/proto/protos.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | export 'internal/github_webhook.pb.dart';
6 | export 'internal/scheduler.pb.dart';
7 |
--------------------------------------------------------------------------------
/auto_submit/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: ../analysis_options.yaml
2 |
3 | analyzer:
4 | language:
5 | strict-raw-types: false # TODO: Remove this lint
6 |
7 | linter:
8 | rules:
9 | constant_identifier_names: false # we have all capitalized enums in check_for_waiting_pull_requests_test.dart
--------------------------------------------------------------------------------
/cipd_packages/codesign/lib/src/log.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'package:logging/logging.dart';
6 |
7 | final Logger log = Logger('codesign');
8 |
--------------------------------------------------------------------------------
/analyze/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: cocoon_analyze
2 | description: Cocoon static analysis scripts
3 | publish_to: none
4 |
5 | environment:
6 | sdk: ^3.9.0
7 |
8 | dependencies:
9 | file: 7.0.1
10 | path: 1.9.0
11 | platform: 3.1.6
12 |
13 | dev_dependencies:
14 | mockito: ^5.4.6
15 | test_api: 0.7.8
16 |
--------------------------------------------------------------------------------
/dashboard/lib/widgets/sign_in_button/sign_in_button.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | export 'sign_in_button_native.dart'
6 | if (dart.library.js_interop) 'sign_in_button_web.dart';
7 |
--------------------------------------------------------------------------------
/packages/cocoon_common/lib/cocoon_common.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | export 'src/logging/buffered_logger.dart';
6 | export 'src/logging/log_sink.dart';
7 | export 'src/logging/severity.dart';
8 |
--------------------------------------------------------------------------------
/packages/cocoon_common_test/lib/cocoon_common_test.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | export 'src/buffered_logger_matchers.dart';
6 | export 'src/json_matchers.dart';
7 | export 'src/severity_matchers.dart';
8 |
--------------------------------------------------------------------------------
/dashboard/web/.well-known/apple-app-site-association:
--------------------------------------------------------------------------------
1 | {
2 | "applinks": {
3 | "apps": [],
4 | "details": [
5 | {
6 | "appIDs": ["EQHXZ8M8AV.com.google.experimental0.dev"],
7 | "paths": ["*"]
8 | }
9 | ]
10 | },
11 | "webcredentials": {
12 | "apps": ["EQHXZ8M8AV.com.google.experimental0.dev"]
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/dev/cocoon_code_health/README.md:
--------------------------------------------------------------------------------
1 | # Cocoon Code Health
2 |
3 | Tests and tools that try to keep the `flutter/cocoon` repo healthy.
4 |
5 | Note that this package currently has some overlap in responsibility (but not
6 | precise implementation) with the root [`analyze`](../../analyze/) package, but
7 | new functionality should be added here (and migrated from `analyze`).
8 |
--------------------------------------------------------------------------------
/cipd_packages/device_doctor/tool/infra-dialog/infra-dialog.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/cloud_build/deploy_cron_jobs.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # Copyright 2020 The Flutter Authors. All rights reserved.
3 | # Use of this source code is governed by a BSD-style license that can be
4 | # found in the LICENSE file.
5 |
6 | # Deploy latest cron jobs to google cloud.
7 | # This includes cron jobs for both app_dart and auto_submit.
8 |
9 | gcloud app deploy --project "$1" cron.yaml
10 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/.gitignore:
--------------------------------------------------------------------------------
1 | # Files and directories created by pub.
2 | .dart_tool/
3 | .packages
4 |
5 | # Conventional directory for build outputs.
6 | build/
7 |
8 | # Omit committing pubspec.lock for library packages; see
9 | # https://dart.dev/guides/libraries/private-files#pubspeclock.
10 | pubspec.lock
11 |
12 | # Directory used to checkout proto deps to process them.
13 | buildbucket_tmp
14 |
--------------------------------------------------------------------------------
/test_utilities/bin/code_health_check.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # Copyright 2020 The Flutter Authors. All rights reserved.
3 | # Use of this source code is governed by a BSD-style license that can be
4 | # found in the LICENSE file.
5 |
6 | set -ex
7 |
8 | dir=$(dirname $0)
9 |
10 | pushd $dir/../../dev/cocoon_code_health >/dev/null
11 | dart pub get
12 | dart run bin/check.dart
13 |
14 | popd >/dev/null
15 |
--------------------------------------------------------------------------------
/packages/cocoon_common_test/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: cocoon_common_test
2 | description: Testing specific functionality for package:cocoon_common
3 | publish_to: none
4 |
5 | environment:
6 | sdk: ^3.9.0
7 |
8 | resolution: workspace
9 |
10 | dependencies:
11 | cocoon_common:
12 | path: ../cocoon_common
13 | matcher: ^0.12.17
14 |
15 | dev_dependencies:
16 | dart_flutter_team_lints:
17 | test: ^1.25.15
18 |
--------------------------------------------------------------------------------
/dev/githubanalysis/bin/githubanalysis.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2023 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'dart:io' show exit;
6 |
7 | import 'package:githubanalysis/main.dart' as lib show main;
8 |
9 | void main(final List arguments) async {
10 | exit(await lib.main(arguments));
11 | }
12 |
--------------------------------------------------------------------------------
/auto_submit/test/utilities/mocks.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2022 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'package:auto_submit/service/approver_service.dart';
6 | import 'package:mockito/annotations.dart';
7 |
8 | export 'mocks.mocks.dart';
9 |
10 | @GenerateMocks([ApproverService])
11 | void main() {}
12 |
--------------------------------------------------------------------------------
/cipd_packages/device_doctor/lib/device_doctor.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2020 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | export 'src/device.dart';
6 | export 'src/health.dart';
7 | export 'src/host_utils.dart';
8 | export 'src/ios_debug_symbol_doctor.dart';
9 | export 'src/ios_device.dart';
10 | export 'src/utils.dart';
11 |
--------------------------------------------------------------------------------
/test_utilities/bin/prepare_environment.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # Copyright 2019 The Flutter Authors. All rights reserved.
3 | # Use of this source code is governed by a BSD-style license that can be
4 | # found in the LICENSE file.
5 |
6 | # List of commands to be run once per PR before running dart and flutter
7 | # tests.
8 |
9 | set -ex
10 |
11 | dart pub global activate tuneup
12 | flutter channel master
13 | flutter upgrade
14 |
--------------------------------------------------------------------------------
/auto_submit/lib/service/process_method.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2022 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | /// Enum to tell the auto-submit bot which action to take based on the label
6 | /// found.
7 | enum ProcessMethod {
8 | processAutosubmit,
9 | processEmergency,
10 | processRevert,
11 | doNotProcess,
12 | }
13 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: buildbucket
2 | description: LUCI Buildbucket library. Protos and utilities to communicate with LUCI buildbucket service.
3 | publish_to: none
4 |
5 | resolution: workspace
6 |
7 | environment:
8 | sdk: ^3.9.0
9 |
10 | dependencies:
11 | protoc_plugin: 21.1.2
12 | fixnum: ^1.1.1
13 | protobuf: 3.1.0
14 | grpc: ^4.0.1
15 |
16 | dev_dependencies:
17 | lints: ^5.1.1
18 | test: ^1.25.15
19 |
--------------------------------------------------------------------------------
/test_utilities/bin/analyze.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # Copyright 2020 The Flutter Authors. All rights reserved.
3 | # Use of this source code is governed by a BSD-style license that can be
4 | # found in the LICENSE file.
5 |
6 | # General flutter/cocoon repo static analysis.
7 |
8 | set -ex
9 |
10 | dir=$(dirname $0)
11 |
12 | pushd $dir/../../analyze > /dev/null
13 | dart pub get
14 | dart --enable-asserts analyze.dart
15 |
16 | popd > /dev/null
17 |
--------------------------------------------------------------------------------
/tests.yaml:
--------------------------------------------------------------------------------
1 | # Copyright 2019 The Flutter Authors. All rights reserved.
2 | # Use of this source code is governed by a BSD-style license that can be
3 | # found in the LICENSE file.
4 |
5 | # Tests configuration file.
6 | #
7 | # It is used to define the tests that will be run on this repository
8 | # it uses a very simple schema:
9 | #
10 | # tasks:
11 | # - task:
12 | # script:
13 |
14 | tasks:
15 |
--------------------------------------------------------------------------------
/app_dart/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: ../analysis_options.yaml
2 |
3 | linter:
4 | rules:
5 | # a few rules listed below are the ones we would like to exclude from flutter_lint package, for app_dart
6 | # reasons for exclusions are provided in the comments to the right
7 | avoid_print: false # we have necessary print calls in the code
8 | constant_identifier_names: false # we have all capitalized enums in check_for_waiting_pull_requests_test.dart
9 |
--------------------------------------------------------------------------------
/auto_submit/lib/exception/retryable_exception.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2022 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | /// General exception for retryable error catching.
6 | class RetryableException implements Exception {
7 | const RetryableException(this.cause);
8 |
9 | final String cause;
10 |
11 | @override
12 | String toString() => cause;
13 | }
14 |
--------------------------------------------------------------------------------
/app_dart/lib/src/model/proto/internal/github_webhook.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: internal/github_webhook.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/google/rpc/status.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: google/rpc/status.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/google/protobuf/any.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: google/protobuf/any.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/app_dart/test/src/utilities/matchers.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'package:test/test.dart';
6 |
7 | Matcher throwsExceptionWith(String messageSubString) {
8 | return throwsA(
9 | isA().having(
10 | (T e) => e.toString(),
11 | 'description',
12 | contains(messageSubString),
13 | ),
14 | );
15 | }
16 |
--------------------------------------------------------------------------------
/auto_submit/app.yaml:
--------------------------------------------------------------------------------
1 | # Copyright 2019 The Flutter Authors. All rights reserved.
2 | # Use of this source code is governed by a BSD-style license that can be
3 | # found in the LICENSE file.
4 |
5 | runtime: custom
6 | env: flex
7 | service: auto-submit
8 |
9 | resources:
10 | memory_gb: 2.0
11 |
12 | readiness_check:
13 | path: "/readiness_check"
14 | check_interval_sec: 20
15 | timeout_sec: 20
16 | failure_threshold: 10
17 | success_threshold: 2
18 | app_start_timeout_sec: 300
19 |
--------------------------------------------------------------------------------
/auto_submit/lib/exception/configuration_exception.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2023 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | class ConfigurationException implements Exception {
6 | /// Create a custom exception for Autosubmit Configuration Errors.
7 | ConfigurationException(this.cause);
8 |
9 | final String cause;
10 |
11 | @override
12 | String toString() => cause;
13 | }
14 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/google/protobuf/empty.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: google/protobuf/empty.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/google/protobuf/duration.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: google/protobuf/duration.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/google/protobuf/timestamp.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: google/protobuf/timestamp.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/google/protobuf/wrappers.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: google/protobuf/wrappers.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/google/protobuf/field_mask.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: google/protobuf/field_mask.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/cocoon_common/lib/is_release_branch.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | /// Returns whether [branchName] "looks like" a release candidate build.
6 | bool isReleaseCandidateBranch({required String branchName}) {
7 | return _isReleaseCandidate.hasMatch(branchName);
8 | }
9 |
10 | final _isReleaseCandidate = RegExp(r'flutter-\d+\.\d+-candidate\.\d+');
11 |
--------------------------------------------------------------------------------
/test_utilities/bin/licenses.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # Copyright 2020 The Flutter Authors. All rights reserved.
3 | # Use of this source code is governed by a BSD-style license that can be
4 | # found in the LICENSE file.
5 |
6 | # Runner for dart tests. It expects a single parameter with the full
7 | # path to the start folder where tests will be run.
8 |
9 | set -ex
10 |
11 | dir=$(dirname $0)
12 |
13 | pushd $dir/../../licenses > /dev/null
14 | dart pub get
15 | dart check_licenses.dart
16 |
17 | popd > /dev/null
18 |
--------------------------------------------------------------------------------
/cocoon.code-workspace:
--------------------------------------------------------------------------------
1 | {
2 | "folders": [
3 | {
4 | "path": "analyze"
5 | },
6 | {
7 | "path": "app_dart"
8 | },
9 | {
10 | "path": "auto_submit"
11 | },
12 | {
13 | "path": "cipd_packages"
14 | },
15 | {
16 | "path": "cloud_build"
17 | },
18 | {
19 | "path": "dev"
20 | },
21 | {
22 | "path": "licenses"
23 | },
24 | {
25 | "path": "packages"
26 | },
27 | {
28 | "path": "test_utilities"
29 | },
30 | {
31 | "path": "tooling"
32 | }
33 | ],
34 | "settings": {}
35 | }
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/buildbucket/proto/step.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/buildbucket/proto/step.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/buildbucket/proto/task.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/buildbucket/proto/task.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/common.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/resultdb/proto/v1/common.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/google/protobuf/struct.pbserver.dart:
--------------------------------------------------------------------------------
1 | ///
2 | // Generated code. Do not modify.
3 | // source: google/protobuf/struct.proto
4 | //
5 | // @dart = 2.12
6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
7 |
8 | export 'struct.pb.dart';
9 |
--------------------------------------------------------------------------------
/auto_submit/lib/foundation/typedefs.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'package:http/http.dart' as http;
6 |
7 | /// Signature for a function that returns an [HttpClient].
8 | ///
9 | /// This is used by [CronAuthProvider] to provide the HTTP client that
10 | /// will be used (if necessary) to verify OAuth ID tokens (JWT tokens).
11 | typedef HttpClientProvider = http.Client Function();
12 |
--------------------------------------------------------------------------------
/dev/cocoon_code_health/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: cocoon_code_health
2 | description: Tests and tools that try to keep the flutter/cocoon repo healthy.
3 | publish_to: none
4 |
5 | environment:
6 | sdk: ^3.9.0
7 |
8 | resolution: workspace
9 |
10 | executables:
11 | check:
12 |
13 | dependencies:
14 | args: ^2.7.0
15 | cocoon_common:
16 | path: ../../packages/cocoon_common
17 | file: ^7.0.1
18 | glob: ^2.1.3
19 | meta: ^1.16.0
20 | path: ^1.9.1
21 |
22 | dev_dependencies:
23 | dart_flutter_team_lints:
24 | test: ^1.25.15
25 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/buildbucket/proto/launcher.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/buildbucket/proto/launcher.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/artifact.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/resultdb/proto/v1/artifact.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/resultdb.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/resultdb/proto/v1/resultdb.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/google/protobuf/duration.pbserver.dart:
--------------------------------------------------------------------------------
1 | ///
2 | // Generated code. Do not modify.
3 | // source: google/protobuf/duration.proto
4 | //
5 | // @dart = 2.12
6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
7 |
8 | export 'duration.pb.dart';
9 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/google/protobuf/wrappers.pbserver.dart:
--------------------------------------------------------------------------------
1 | ///
2 | // Generated code. Do not modify.
3 | // source: google/protobuf/wrappers.proto
4 | //
5 | // @dart = 2.12
6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
7 |
8 | export 'wrappers.pb.dart';
9 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/sink.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/resultdb/sink/proto/v1/sink.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/google/protobuf/timestamp.pbserver.dart:
--------------------------------------------------------------------------------
1 | ///
2 | // Generated code. Do not modify.
3 | // source: google/protobuf/timestamp.proto
4 | //
5 | // @dart = 2.12
6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
7 |
8 | export 'timestamp.pb.dart';
9 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/buildbucket/proto/notification.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/buildbucket/proto/notification.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/test_metadata.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/resultdb/proto/v1/test_metadata.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/buildbucket/proto/builder_common.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/buildbucket/proto/builder_common.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/buildbucket/proto/builds_service.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/buildbucket/proto/builds_service.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/common/proto/structmask/structmask.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/common/proto/structmask/structmask.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/failure_reason.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/resultdb/proto/v1/failure_reason.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/packages/cocoon_common/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: cocoon_common
2 | description: Shared functionality and interfaces across flutter/cocoon
3 | publish_to: none
4 |
5 | environment:
6 | sdk: ^3.9.0
7 |
8 | resolution: workspace
9 |
10 | dependencies:
11 | collection: ^1.19.1
12 | json_annotation: ^4.9.0
13 | meta: ^1.16.0
14 | stack_trace: ^1.12.1
15 |
16 | dev_dependencies:
17 | build_runner: ^2.4.15
18 | cocoon_common_test:
19 | path: ../cocoon_common_test
20 | dart_flutter_team_lints:
21 | json_serializable: ^6.9.4
22 | test: ^1.25.15
23 |
--------------------------------------------------------------------------------
/pubspec.yaml:
--------------------------------------------------------------------------------
1 | # This file represents a "workspace" that applies to the whole repository.
2 | #
3 | # See for details.
4 |
5 | name: _cocoon_workspace
6 |
7 | # Required for workspace support.
8 | environment:
9 | sdk: ^3.9.0
10 |
11 | workspace:
12 | - packages/buildbucket-dart
13 | - packages/cocoon_common
14 | - packages/cocoon_common_test
15 | - packages/cocoon_server
16 | - packages/cocoon_server_test
17 | - dev/cocoon_code_health
18 |
19 | dev_dependencies:
20 | dart_flutter_team_lints: 3.5.0
21 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/sink/proto/v1/location_tag.pbenum.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/resultdb/sink/proto/v1/location_tag.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names, library_prefixes
9 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
10 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
11 |
--------------------------------------------------------------------------------
/tooling/tooling_test.go:
--------------------------------------------------------------------------------
1 | // Copyright 2023 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | // This file is used so that slsa-verifier can be updated by dependabot.
6 | // Additional context can be found at:
7 | // https://github.com/slsa-framework/slsa-verifier#option-1-install-via-go
8 |
9 | //go:build tools
10 | // +build tools
11 |
12 | package main
13 |
14 | import (
15 | _ "github.com/slsa-framework/slsa-verifier/v2/cli/slsa-verifier"
16 | )
17 |
--------------------------------------------------------------------------------
/auto_submit/test/src/service/fake_approver_service.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2022 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'package:auto_submit/service/approver_service.dart';
6 | import 'package:github/github.dart' as gh;
7 |
8 | class FakeApproverService extends ApproverService {
9 | FakeApproverService(super.config);
10 |
11 | @override
12 | Future autoApproval(gh.PullRequest pullRequest) async {
13 | // no op
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/auto_submit/test/src/service/fake_discord_notification.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2024 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'package:auto_submit/service/discord_notification.dart';
6 |
7 | class FakeDiscordNotification extends DiscordNotification {
8 | FakeDiscordNotification({required super.targetUri});
9 |
10 | @override
11 | Future notifyDiscordChannelWebhook(String jsonMessageString) async {
12 | // do nothing
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/cipd_packages/device_doctor/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: device_doctor
2 | description: A Dart tool to check device healthiness and implement recovery mechanisms to get the device back to a working state.
3 | version: 1.0.1
4 |
5 | environment:
6 | sdk: ^3.9.0
7 |
8 | dependencies:
9 | args: 2.7.0
10 | file: any
11 | logging: 1.2.0
12 | meta: 1.16.0
13 | path: 1.9.1
14 | platform: any
15 | process: 5.0.4
16 | retry: 3.1.2
17 | yaml: 3.1.2
18 |
19 | dev_dependencies:
20 | build_runner: 2.4.13
21 | fake_async: 1.3.3
22 | mockito: 5.4.4
23 | test: 1.26.3
24 |
--------------------------------------------------------------------------------
/dashboard/test/utils/fake_flutter_app_icons.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'package:flutter_app_icons/flutter_app_icons_platform_interface.dart';
6 |
7 | class FakeFlutterAppIcons extends FlutterAppIconsPlatform {
8 | @override
9 | Future setIcon({
10 | required String icon,
11 | String oldIcon = '',
12 | String appleTouchIcon = '',
13 | }) async {
14 | return icon;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/app_dart/lib/src/model/proto/internal/scheduler.pbserver.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: internal/scheduler.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names
9 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
10 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
11 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
12 |
13 | export 'scheduler.pb.dart';
14 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/buildbucket/proto/build.pbserver.dart:
--------------------------------------------------------------------------------
1 | ///
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/buildbucket/proto/build.proto
4 | //
5 | // @dart = 2.12
6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
7 |
8 | export 'build.pb.dart';
9 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/buildbucket/proto/step.pbserver.dart:
--------------------------------------------------------------------------------
1 | ///
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/buildbucket/proto/step.proto
4 | //
5 | // @dart = 2.12
6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
7 |
8 | export 'step.pb.dart';
9 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/buildbucket/proto/task.pbserver.dart:
--------------------------------------------------------------------------------
1 | ///
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/buildbucket/proto/task.proto
4 | //
5 | // @dart = 2.12
6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
7 |
8 | export 'task.pb.dart';
9 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/buildbucket/proto/common.pbserver.dart:
--------------------------------------------------------------------------------
1 | ///
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/buildbucket/proto/common.proto
4 | //
5 | // @dart = 2.12
6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
7 |
8 | export 'common.pb.dart';
9 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/common.pbserver.dart:
--------------------------------------------------------------------------------
1 | ///
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/resultdb/proto/v1/common.proto
4 | //
5 | // @dart = 2.12
6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
7 |
8 | export 'common.pb.dart';
9 |
--------------------------------------------------------------------------------
/app_dart/lib/src/model/proto/internal/github_webhook.pbserver.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated code. Do not modify.
3 | // source: internal/github_webhook.proto
4 | //
5 | // @dart = 2.12
6 |
7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references
8 | // ignore_for_file: constant_identifier_names
9 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
10 | // ignore_for_file: non_constant_identifier_names, prefer_final_fields
11 | // ignore_for_file: unnecessary_import, unnecessary_this, unused_import
12 |
13 | export 'github_webhook.pb.dart';
14 |
--------------------------------------------------------------------------------
/cipd_packages/codesign/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: codesign
2 | description: A standalone app to codesign Mac engine binaries.
3 | version: 1.0.0
4 | homepage: https://github.com/flutter/cocoon
5 |
6 | environment:
7 | sdk: ^3.9.0
8 |
9 | dependencies:
10 | archive: 4.0.7
11 | args: 2.7.0
12 | crypto: 3.0.7
13 | fake_async: 1.3.3
14 | file: 7.0.1
15 | flutter_lints: 5.0.0
16 | logging: 1.3.0
17 | meta: 1.17.0
18 | platform: 3.1.6
19 | process: 5.0.5
20 | retry: 3.1.2
21 |
22 | dev_dependencies:
23 | dart_flutter_team_lints: 3.5.1
24 | lints: 5.0.0
25 | test: 1.28.0
26 |
--------------------------------------------------------------------------------
/cloud_build/dashboard_build.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # Copyright 2020 The Flutter Authors. All rights reserved.
3 | # Use of this source code is governed by a BSD-style license that can be
4 | # found in the LICENSE file.
5 |
6 | # Build flutter build dashboard.
7 |
8 | pushd dashboard > /dev/null
9 | set -e
10 | rm -rf build
11 | flutter channel stable
12 | flutter upgrade
13 | flutter doctor
14 | flutter pub get
15 | flutter config --enable-web
16 | flutter build web --source-maps
17 | rm -rf ../app_dart/build
18 | cp -r build ../app_dart/build
19 | flutter clean
20 | popd > /dev/null
21 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/invocation.pbserver.dart:
--------------------------------------------------------------------------------
1 | ///
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/resultdb/proto/v1/invocation.proto
4 | //
5 | // @dart = 2.12
6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
7 |
8 | export 'invocation.pb.dart';
9 |
--------------------------------------------------------------------------------
/packages/buildbucket-dart/lib/src/generated/go.chromium.org/luci/resultdb/proto/v1/predicate.pbserver.dart:
--------------------------------------------------------------------------------
1 | ///
2 | // Generated code. Do not modify.
3 | // source: go.chromium.org/luci/resultdb/proto/v1/predicate.proto
4 | //
5 | // @dart = 2.12
6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name
7 |
8 | export 'predicate.pb.dart';
9 |
--------------------------------------------------------------------------------
/app_dart/lib/src/request_handlers/readiness_check.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2021 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'dart:async';
6 |
7 | import '../request_handling/request_handler.dart';
8 | import '../request_handling/response.dart';
9 |
10 | final class ReadinessCheck extends RequestHandler {
11 | const ReadinessCheck({required super.config});
12 |
13 | @override
14 | Future get(Request request) async {
15 | return Response.emptyOk;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/app_dart/lib/src/service/flags/ci_yaml_flags.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | // ignore_for_file: always_specify_types, implicit_dynamic_parameter
4 |
5 | part of 'ci_yaml_flags.dart';
6 |
7 | // **************************************************************************
8 | // JsonSerializableGenerator
9 | // **************************************************************************
10 |
11 | CiYamlFlags _$CiYamlFlagsFromJson(Map json) => CiYamlFlags();
12 |
13 | Map _$CiYamlFlagsToJson(CiYamlFlags instance) =>
14 | {};
15 |
--------------------------------------------------------------------------------
/test_utilities/bin/config_test_runner.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # Copyright 2019 The Flutter Authors. All rights reserved.
3 | # Use of this source code is governed by a BSD-style license that can be
4 | # found in the LICENSE file.
5 |
6 | # Runner for cocoon scheduler config tests. It expects a single parameter with
7 | # the full path to the config file under test.
8 |
9 | set -ex
10 |
11 | # Build and analyze
12 | echo "Running config tests on $1"
13 | pushd app_dart > /dev/null
14 | flutter clean
15 | pub get
16 |
17 | dart bin/validate_scheduler_config.dart "$1"
18 |
19 | popd > /dev/null
20 |
--------------------------------------------------------------------------------
/Dockerfile.app_dart:
--------------------------------------------------------------------------------
1 | # Copyright 2022 The Flutter Authors. All rights reserved.
2 | # Use of this source code is governed by a BSD-style license that can be
3 | # found in the LICENSE file.
4 |
5 | # Dart Docker official images can be found here: https://hub.docker.com/_/dart
6 | FROM dart:stable
7 |
8 | # Packages are PATH dependencies of app_dart, and need to be copied/accessible.
9 | WORKDIR /packages
10 | COPY packages .
11 |
12 | WORKDIR /app
13 | COPY app_dart .
14 |
15 | RUN dart pub get
16 |
17 | # Start server.
18 | EXPOSE 8080
19 | CMD ["/usr/lib/dart/bin/dart", "/app/bin/gae_server.dart"]
20 |
--------------------------------------------------------------------------------
/auto_submit/lib/action/revert_method.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2023 The Flutter Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'package:github/github.dart' as github;
6 |
7 | import '../service/config.dart';
8 |
9 | abstract class RevertMethod {
10 | // Allows substitution of the method of creating the revert request.
11 | Future