[current results ui] Give scrollable widgets unique controllers

Multiple scrollable widgets were using the same default
ScrollController, which caused exceptions to be thrown
and instability in the application.

Now each widget has its own ScrollController.
The controllers are not saved in a stateful widget
because these scrollable objects are refreshed
with new data when the app redraws.

Because horizontal scrolling of text using the mouse
is disabled on the web, the scrolling of long test
names has been removed. It was not working.

Change-Id: I34e1a701039fa5fb3860166494816a0458bff916
Reviewed-on: https://dart-review.googlesource.com/c/dart_ci/+/213360
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2 files changed
tree: 97c54a7c9f84a4add36a1353adb4f8ae956fa456
  1. appengine/
  2. builder/
  3. common/
  4. current_results/
  5. current_results_ui/
  6. functions/
  7. github-label-notifier/
  8. results_feed/
  9. .firebaserc
  10. .gitignore
  11. AUTHORS
  12. firebase.json
  13. LICENSE
  14. PRESUBMIT.py
  15. README.md
README.md

dart_ci

Tools used by Dart's continuous integration (CI) testing infrastructure.

The repository is based at dart.googlesource.com/dart_ci. It is mirrored to github.com/dart-lang/dart_ci. Do not land pull requests on Github.

Results Feed

The results feed is an angular Dart application that displays changed results from the CI and from CQ runs (tryjobs). The code is in the results_feed directory. It is deployed to ci.dart.dev, using Firebase hosting.

Cloud functions

The automated testing of Dart on the CI and CQ publishes results to Cloud Pubsub, and cloud functions triggered by those Pubsub messages process the data and store it in Firestore. These functions are located in the functions directory, and are deployed on the dart-ci Google Cloud project.

Github Label Notifier

Internal users get automatic notifications of new GitHub issues created in certain repositories, by subscribing to issue labels on those repositories. This tool provides a UI for internal users to subscribe to their chosen issue labels. That UI is hosted at dart-github-label-notifier.firebaseapp.com. It also defines cloud functions that are triggered by GitHub webhooks and use the issue label subscriptions to send email notifications using SendGrid.