tree: 4f1db0cd457f88df11457e62a813a9c1bc24466d [path history] [tgz]
  1. assets/
  2. lib/
  3. test/
  4. tool/
  5. web/
  6. .gitignore
  7. .metadata
  8. analysis_options.yaml
  9. LICENSE
  10. pubspec.yaml
  11. README.md
  12. USER_GUIDE.md
dashboard/README.md

Flutter Dashboard

For how to use the app, see the user guide

Set up

  • Install Flutter, or use an existing checkout if a Flutter developer
  • (Optional) Install Firebase CLI

Running locally

It is possible to run a simulation of the UI locally with fake data:

# Launches Chrome
flutter run -d chrome --web-port=8080

# Starts a web server, bring your own browser instance
flutter run -d web-server --web-port=8080

NOTE: Must run on port 8080[^8080] for authentication to work.

[8080]: Google employees: See GCP > Client ID for Web App.

Tests

Most tests can be run locally:

flutter test

Updating Goldens

Some tests take and compare UI screenshots which will change over time:

flutter test --update-goldens

For compatibility reasons, only a Linux host is supported.

  1. Open the failing pull request

  2. Click on “Linux Cocoon” in failing checks

    1 failing check, Linux Cocoon

  3. Find and click on stdout under the dashboard step

    dashoard > stdout

  4. Run the following command with a link to the stdout URL:

    $ dart run tool/update_goldens_from_luci.dart "<url ending in /stdout>"
    
    Wrote 36825 bytes to goldens/build_dashboard.defaultPropertySheet.dark.png.
    Wrote 38556 bytes to goldens/build_dashboard.defaultPropertySheet.png.
    Wrote 24715 bytes to widgets/goldens/task_grid_test.dev.origin.png.