[dart] Use three-way comparison of previous, current, and approved results.

The commit queue will now reject new test failures that aren't approved.
The test results presentation step will list all the changed tests, sliced
by whether whether they are passing or failing (with logs),
and whether they are approved or not.

The continuous integration will turn red if there are any test failures that
aren't approved. The test results presentation step lists the tests that
changed, sliced by passing and failing (with logs), and then lists the
tests that are not approved, sliced by passing and failing (with logs).
This lets developers quickly see what changed in this build, and what is
currently turning the builder red.

The final judgement step now only does the judgement. The sliced information
is done in preliminary steps, and links to the sliced information is
available beneath the judgement step. This provides a single step to look at
which all the important information accessible. The links to the sliced
information don't contain a command and environment variable, which makes
them much more readable.

The presentation step is no longer different if the new workflow is not
enabled, except it only turns red if the new workflow is enabled.

Bug: https://github.com/dart-lang/sdk/issues/35298
Change-Id: I14716d7741d79eba840e952ec7abf8948ba4ff6c
Reviewed-on: https://chromium-review.googlesource.com/c/1356524
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: William Hesse <whesse@google.com>
9 files changed
tree: 624a88fed3a331d80f453280aed6dd0978cc7eb8
  1. infra/
  2. masters/
  3. scripts/
  4. site_config/
  5. slave/
  6. tests/
  7. third_party/
  8. .gitattributes
  9. .gitignore
  10. .vpython
  11. codereview.settings
  12. DEPS
  13. environment.cfg.py
  14. LICENSE
  15. OWNERS
  16. PRESUBMIT.py
  17. README.md
  18. WATCHLISTS
README.md

build

Hi build contributor! If you do any change in scripts/master/ or touching any master's html/ directories, you must restart master.chromium.fyi first and ensure that it still works before restarting other masters.

Recipes

If you're here to make a change to ‘recipes’ (the code located in scripts/slave/recipes*), please take a look at the README for more information pertaining to recipes.