Remove Regression Test Selection (RTS) support

Regression Test Selection (RTS) and Smart Test Selection (STS) are no longer supported in MB. This CL completely removes RTS integration, command-line arguments, helper methods, and related config files.

Specifically, this CL:

- Removes `--rts-model` and `--sts-config-file` arguments from the CLI.
- Removes the unused methods `RtsSelect`, `GetFilterFilePath`, and `AddFilterFileArg`.
- Deletes `tools/mb/rts_banned_suites.json` and its loading logic.
- Removes `use_rts=true` from gn_args when RTS was enabled.
- Cleans up `mb_unittest.py` mocks to remove references to the deleted `rts_banned_suites.json` file.

Bug: 515115287
Change-Id: I62a7a1d57897b0f1494de1c873fa851f8aaedf77
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7872353
Reviewed-by: Struan Shrimpton <sshrimp@google.com>
Reviewed-by: Ben Pastene <bpastene@chromium.org>
Commit-Queue: Diego Becerra Merodio <diegobecerra@google.com>
Cr-Commit-Position: refs/heads/main@{#1649287}
NOKEYCHECK=True
GitOrigin-RevId: 555a6c77532d302a2347a98f9c8cd1fe7efb37d9
3 files changed
tree: 0888b5c5b30dd01376c9dfebc861e5c305a0e770
  1. docs/
  2. lib/
  3. mb_config_expectations/
  4. __init__.py
  5. DIR_METADATA
  6. mb
  7. mb.bat
  8. mb.py
  9. mb_config.pyl
  10. mb_unittest.py
  11. mb_validation_unittest.py
  12. OWNERS
  13. PRESUBMIT.py
  14. README.md
README.md

MB - The Meta-Build wrapper

MB is a simple wrapper around the GN build tool.

It was originally written as part of the GYP->GN migration, in order to provide a uniform interface to either GYP or GN, such that users and bots can call one script and not need to worry about whether a given bot was meant to use GN or GYP.

It eventually grew additional functionality and is now still used even though everything is GN-only.

It supports two main functions:

  1. “gen” - the main gn gen invocation that generates the Ninja files needed for the build.

  2. “analyze” - the step that takes a list of modified files and a list of desired targets and reports which targets will need to be rebuilt.

We also use MB as a forcing function to collect all of the different build configurations that we actually support for Chromium builds into one place, in //tools/mb/mb_config.pyl.

For more information, see: