testplan: Allow multiple board values in CTPv1 compatibility mode.

- The current test plans allow for rules that specify a list of
boards to choose one of, e.g. `only_keep_one_suite_from_each_group`
(https://source.chromium.org/chromium/chromiumos/infra/proto/+/HEAD:src/testplans/source_tree_test_config.proto;l=33;drc=212ee2d69622a9e9026548f7d789ee4e108c4893).
The choice is based off which boards produced a critical build
(i.e. choose a board that had a successful build, using criticality
to break ties). If there are multiple choices which produced a
critical build, choose randomly with probability proportional to
the priorties configured in a static priority list
(http://cs/chromeos_internal/infra/config/testingconfig/generated/board_priority.cfg).

- This is needed in the chromite example, see
  http://cs/chromeos_internal/infra/config/testingconfig/source_tree_test_config_main.star;l=507;rcl=0c479a9332f94eac32c76dd16aeb924fbcac571e.

BUG=b:218319842
TEST=CQ

Change-Id: Ia83516ddeaa3961110f2078e448f20a2fd8a17d1
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/3511380
Reviewed-by: Tim Bain <tbain@google.com>
Commit-Queue: Andrew Lamb <andrewlamb@chromium.org>
Tested-by: Andrew Lamb <andrewlamb@chromium.org>
5 files changed