Proto commits in flutter/cocoon

These 63 commits are when the Protocol Buffers files have changed:

Commit:e3012d4
Author:Matan Lurey
Committer:GitHub

Mark tasks that are not eligible for backfill as skipped (#4589) Closes https://github.com/flutter/flutter/issues/167756. Starts https://github.com/flutter/flutter/issues/167755.

The documentation is generated from this commit.

Commit:d5617fb
Author:Matan Lurey
Committer:GitHub

Remove all references to (now unused) Datastore (#4557) Removes all references to Datastore. Happy to hold off on this for a few days if we want to investigate anything.

Commit:ebc43c7
Author:Matan Lurey
Committer:GitHub

Remove duplicate code now that FE/BE shares a model package. (#4452) This removes bespoke backend code that existed to marshal into a format the frontend expects.

Commit:ac0f9ad
Author:Matan Lurey
Committer:GitHub

Delete unused datastore models (#4445) This code is/was unsed.

Commit:29660fc
Author:Matan Lurey
Committer:GitHub

Finish removing `lib/model` and `package:proto` (#4425) Closes https://github.com/flutter/flutter/issues/165025. There is a case for follow-up changes, i.e. moving `rpc_model` to `package:cocoon_common`, and guaranteeing protocol compatibility, but that can be follow-up work (https://github.com/flutter/flutter/issues/166376).

Commit:aa61da0
Author:Matan Lurey
Committer:GitHub

Remove datastore from all read paths related to build/commit/task status (#4367) This PR removes datastore, and related datastore only helper classes (`Stage[Builder]`, `CommitStatus`). It does so by rewriting `GetStatus` (and associated code, i.e. `BuildStatusService`), which are _read-only_ paths, to exclusively use Firestore, and no longer use (or convert from) Datastore. One hack can to be introduced to get this into a good state, https://github.com/flutter/flutter/issues/165718, which IMHO is well worth the overall delta removed. Summary of changes: - Deletes `Stage` and `StageBuilder`, which were unused (legacy) on the frontend, and do not exist in Firestore - Change `BuildStatusService` to read from Firestore, and _only_ Firestore, removing dependencies on Datastore - Keep compatibility with most of the RPC JSON model, but remove fields that were not used on the frontend

Commit:f220a6d
Author:Matan Lurey
Committer:GitHub

Remove fields from `dashboard/task.proto` that are unused. (#4366) Towards https://github.com/flutter/flutter/issues/165025. This makes it easier to understand what needs to be created in the eventual `task.dart`.

Commit:1be2598
Author:Matan Lurey
Committer:GitHub

Remove remaining datastore keys from the "public" API (#4365) Towards https://github.com/flutter/flutter/issues/142951. Towards https://github.com/flutter/flutter/issues/165025. This PR refactors the last occurrence of `__key` leaking into the public API, which was via `/api/public/get-build-status?lastCommitKey=<...>`, by replacing it with a semantically equivalent `/api/public/get-build-status?lastCommitSha=<...>`, and then removing the concept of keys as part of the data model across both the frontend and backend. To make future migrations easier, also added/refactored a `firestore.Task.fromFirestoreBySha`.

Commit:99539df
Author:Matan Lurey
Committer:GitHub

Replace `commit_status.proto` with `commit_status.dart`. (#4352) Towards https://github.com/flutter/flutter/issues/165025.

Commit:24ed614
Author:Matan Lurey
Committer:GitHub

Roll forward `build_status_response.dart` (#4354) (#4355) Reverts https://github.com/flutter/cocoon/pull/4354 with a fix and test. Towards https://github.com/flutter/flutter/issues/165025. The main change is needing to encode as `proto3Json` (JSON-like, not Proto-like, fields/values). A test was added.

Commit:948a6c6
Author:auto-submit[bot]
Committer:GitHub

Reverts "Replace `build_status_response.proto` with `build_status_response.dart`. (#4348)" (#4354) Reverts: flutter/cocoon#4348 Initiated by: matanlurey Reason for reverting: Broke dashboard. Original PR Author: matanlurey Reviewed By: {jtmcdole} This change reverts the following previous change: Towards https://github.com/flutter/flutter/issues/165025.

Commit:1eb680a
Author:auto-submit[bot]

Revert "Replace `build_status_response.proto` with `build_status_response.dart`. (#4348)" This reverts commit 20d71f65386cd4a2e56790ab889feb460e20b711.

Commit:20d71f6
Author:Matan Lurey
Committer:GitHub

Replace `build_status_response.proto` with `build_status_response.dart`. (#4348) Towards https://github.com/flutter/flutter/issues/165025.

Commit:36544fc
Author:Matan Lurey
Committer:GitHub

Delete `branch.{pb|proto}` and replace with `branch.dart`. (#4330) Towards https://github.com/flutter/flutter/issues/165025.

Commit:f99f004
Author:Matan Lurey
Committer:GitHub

Remove the frontend (unused) firestore proto models. (#4331) Towards https://github.com/flutter/flutter/issues/165025. These models were never used (outside of tests), and a better approach would be to hide the backend implementation entirely (i.e. along the vein of https://github.com/flutter/cocoon/pull/4330), so removing this unused code and future PRs will opaquely transition from datastore -> firestore.

Commit:22cfe02
Author:Matan Lurey
Committer:GitHub

Remove unused, terribly confusing, `runIfNot` feature. (#4140) Closes https://github.com/flutter/flutter/issues/147182.

Commit:fae8b43
Author:keyonghan
Committer:GitHub

Add commit sha to Frontend task data model (#3673) Follow up of https://github.com/flutter/cocoon/pull/3672 to add the field in frontend.

Commit:41aa3cf
Author:keyonghan
Committer:GitHub

Add buildList field in Frontend task model (#3670) This is a follow up of https://github.com/flutter/cocoon/pull/3669 to support `buildList` in frontend data model.

Commit:9ccd1e7
Author:keyonghan
Committer:GitHub

Add firestore data model protos (#3632) This is to prepare frontend firestore migration for Cocoon dashboard. Part of https://github.com/flutter/flutter/issues/142951. One can view https://github.com/flutter/cocoon/pull/3619 for a quick reference how we are gonna to use these protos. This PR adds: - commit_firestore.proto, a replacement of commit.proto for Datastore case - task_firestore.proto, a replacement of task.proto for Datastore case - commit_tasks_status.proto, a replacement of commit_status.proto for Datastore case Note: *.pb.dart, *.pbenum.dart, *.pbjson.dart, *.pbserver.dart are auto generated based on the proto.

Commit:e1ab8d1
Author:Flutter GitHub Bot

Automatic compilation

This commit does not contain any .proto files.

Commit:58676a6
Author:godofredoc
Committer:GitHub

Add support for run_if_not. (#3004) This is required to filter fuchsia changes in presubmit. Bug: https://github.com/flutter/flutter/issues/93261

Commit:74a6174
Author:godofredoc
Committer:GitHub

Add drone_dimensions property to target proto. (#2759) Drone_dimensions is required for builds running as release_builds from dart_internal.

Commit:f3e06d6
Author:Casey Hillers
Committer:GitHub

Namespace Cocoon protos (#2545) Namespace Cocoon protos

Commit:46714fd
Author:Drew Roen
Committer:GitHub

Add 'release' SchedulerSystem (#2295) * Add 'release' SchedulerSystem * Update app_dart/lib/src/model/proto/internal/scheduler.proto Co-authored-by: Casey Hillers <chillers@google.com> Co-authored-by: Casey Hillers <chillers@google.com>

Commit:200755e
Author:Casey Hillers
Committer:GitHub

[app_dart] Push GitHub webhooks to PubSub (#2068)

Commit:c893512
Author:Xilai Zhang
Committer:GitHub

[ciyaml] add dimension support (#1839)

Commit:a147c2f
Author:Xilai Zhang
Committer:GitHub

[release] update release branches through cron jobs, and retrieve release branches for frontend display (#1695)

Commit:27c3702
Author:Casey Hillers
Committer:GitHub

[ci.yaml] Add postsubmit_properties, update dependency docs (#1457)

Commit:07f1f7c
Author:Casey Hillers
Committer:GitHub

Rename app_flutter to dashboard (#1339)

Commit:e636ec6
Author:Casey Hillers
Committer:GitHub

[ci.yaml] Deprecate builder (#1308)

Commit:faaab82
Author:Casey Hillers
Committer:GitHub

[ci.yaml] Deprecate tags field (#1277)

Commit:a8d005a
Author:keyonghan
Committer:GitHub

Reflect test flakiness in dashboard when test step flakes from test runner (#1289)

Commit:c3720c7
Author:chunhtai
Committer:GitHub

update Tags format (#1268)

Commit:c9d1738
Author:Casey Hillers
Committer:GitHub

[scheduler] Add platform properties to .ci.yaml (#1264)

Commit:8aa7c77
Author:chunhtai
Committer:GitHub

change scheduler.proto to accept tags (#1266)

Commit:d8b9424
Author:Casey Hillers
Committer:GitHub

[app_flutter] Remove stage from frontend (#1263)

Commit:fda3b37
Author:Casey Hillers
Committer:GitHub

add google_internal scheduler system (#1258)

Commit:e237b9f
Author:Casey Hillers
Committer:GitHub

[scheduler] Merge package:cocoon_scheduler into backend project (#1254)

Commit:e2e3327
Author:Casey Hillers
Committer:GitHub

[scheduler] Add recipe field and generate_jspb script (#1251)

Commit:cbd0aca
Author:Casey Hillers
Committer:GitHub

[app_flutter] Remove app_dart dependency (#1243)

Commit:ba63fd8
Author:Casey Hillers
Committer:GitHub

[scheduler] ci migration script (#1213)

Commit:cdc1b10
Author:Casey Hillers
Committer:GitHub

cocoon scheduler dart project (#1209) * cocoon scheduler dart project * disable null safety * fix imports, add test utiltiies * fix integration test

Commit:6f96320
Author:Casey Hillers
Committer:GitHub

[scheduler] Add ci yaml postsubmit targets to datastore (#1199)

Commit:ed173b8
Author:Casey Hillers
Committer:GitHub

Revert "Remove stage (#1190)" (#1197) This reverts commit d5eb55fcaea217ffce8d52f92a21a7a0c56f8e6b.

Commit:6e68b89
Author:Casey Hillers
Committer:GitHub

[scheduler] Add .ci.yaml presubmit scheduling (#1184)

Commit:d5eb55f
Author:Casey Hillers
Committer:GitHub

Remove stage (#1190)

Commit:2558588
Author:yusufm
Committer:GitHub

Removing agent proto and classes from app_dart (#1189)

Commit:91f71bd
Author:Christopher Fujino
Committer:GitHub

add presubmit, postsubmit to targets (#1156)

Commit:d69a57a
Author:Casey Hillers
Committer:GitHub

[scheduler] Add scheduler field to target (#1144)

Commit:4721842
Author:Casey Hillers
Committer:GitHub

[scheduler] Rename recipe field to builder (#1136)

Commit:de0c55b
Author:Casey Hillers
Committer:GitHub

[scheduler] Add SchedulerConfig and validation tests (#1130)

Commit:3973775
Author:Greg Spencer
Committer:GitHub

Show which tasks are failing in the status bar (#1052) When I was gardener last week, I was frustrated several times because Cocoon would say that a task was failing, but all of the tiles on the screen were either green or yellow, so I had to wait a while until something turned red to find out what was broken. This adds information to the status display that shows which tasks are failing when the build is failing, so that even before any indication is given about the failure, you can tell that it failed. The main changes in this PR are to add failed task information to the server response for build-status, and to display those failures in the UI in build_dashboard_page.dart. To do this, I created a BuildResponseProto so that it could return more than just a bool. One alternative to this approach (or an additional thing that could be done) would be to introduce another color for "failed once, but still in progress" tasks (orange?) that would show up right away.

Commit:93eacbf
Author:Todd Volkert
Committer:GitHub

Store commit message in the `Checklist` Datastore & BigQuery (#877) This will allow us to show the commit message in the overlay card of the build dashboard that pops up when the user clicks on the commit. https://github.com/flutter/flutter/issues/43107

Commit:9ebdfcd
Author:keyonghan
Committer:GitHub

Add branch to cirrus log url (#832) * add branch to cirrus log url * fix test * formatting

Commit:80357b2
Author:keyonghan
Committer:GitHub

Add new properties to Task in app flutter appengine (#826) * add new properties to task in app flutter * formatting * luckPoolName -> luciBucket * add luci check for task properties assignment * dartfmt * add test for luci task * clean codes

Commit:be08570
Author:keyonghan
Committer:GitHub

Add flutter dashboard link to luci tasks (#820) * add frontend support for different luci builds * kick off test * trigger flutter test * formatting

Commit:a6db0e2
Author:godofredoc
Committer:GitHub

Update author headers to Flutter Authors. (#758) * Update author headers to Flutter Authors. * Add test to validate license headers. * Make path calculations more generic. * Centralize all license checks on check_licenses.dart. Also remove non needed files and add tests for the licenses folder. * Add readme file. * Add checks and tests for license folder. * Remove empty test folder.

Commit:3ec4d08
Author:Casey Hillers
Committer:GitHub

Update CommitStatus to have branch (#698)

Commit:dca0bab
Author:Casey Hillers
Committer:GitHub

Infra Agent Dashboard (#594) - Removes the Angular Dart build dashboard - Lists agents and their statuses with ability to look at their current health checks (shows unhealthy agents first) - UI to create agents (prints the token to the console so it can be copied) - Authorizing an agent (prints the token to the console so it can be copied) - Reserving a task for an agent (prints response to the console so it can be copied too) - Agent button in Task Overlay on build dashboard redirects to the agent dashboard showing that agent

Commit:d7a2628
Author:Todd Volkert
Committer:GitHub

Provide proto representations of some model classes (#433)

Commit:82441ab
Author:Dan Field
Committer:GitHub

Add buildbucket model/service (#324)

Commit:4c03971
Author:Todd Volkert
Committer:GitHub

Minor cleanup (#325) * remove accidental print() stmt * delete auto-generated protobuf files that weren't being referenced * add docs * fix bug in `KeyHelper.decode()` * remove unused JsonConverter class

Commit:a228b70
Author:Todd Volkert
Committer:GitHub

Serialize Keys to match the Go backend serialization (#323)