tree: 17bd2ca4577574c3168515acde04475e455e66e5 [path history] [tgz]
  1. assets/
  2. lib/
  3. test/
  4. tool/
  5. web/
  6. .gitignore
  7. .metadata
  8. analysis_options.yaml
  9. devtools_options.yaml
  10. LICENSE
  11. merge_queue_dashboard_modal.png
  12. pubspec.yaml
  13. README.md
  14. 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. For compatibility reasons, only a Linux host is supported.

flutter test --update-goldens

The GitHub workflow that checks this should upload the golden failures as annotations to review. You can also verify locally with:

gh act \
  -b \ # BIND your folder instead of copying - this is how you get failures/ out.
  --container-architecture linux/amd64 \ # required for mac
  --container-options="--tty" \
  --workflows ".github/workflows/dashboard_tests.yaml"

To just accept the changes:

gh act \
  -b \ # BIND your folder instead of copying - this is how you get updates out.
  --env UPDATE_GOLDENS=true \            # Use this to pass --update-goldens.
  --container-architecture linux/amd64 \ # required for mac
  --container-options="--tty" \
  --workflows ".github/workflows/dashboard_tests.yaml"