automation: program to call low-level scripts for variant

new_variant.py will call all of the low-level scripts that create the
pieces of a new variant of an existing base board. In addition to
calling the scripts, it will run builds to verify that the output
of all the scripts is correct.

When the script finishes, there are several git commits ready for
repo upload (or push to coreboot.org HEAD:refs/for/master) to
complete the creation of a new variant.

BUG=b:140261109
TEST=`./new_variant.py --board=hatch --variant=sushi --bug=b:12345`
When the script exits with a prompt to run gen_fit_image.sh outside
the chroot, follow the instructions. Resume with
`./new_variant.py --continue` inside the chroot.
When the script is finished, use `repo branch` to see that there
is a "coreboot_sushi_<YYYYMMDD>" branch for coreboot, and a
"create_sushi_<YYYYMMDD>" branch for the following repos:
* overlays
* platform/ec
* private-overlays/baseboard-hatch-private
* private-overlays/overlay-hatch-private
* third_party/chromiumos-overlay
Use `git show` to examine the changes that will be made in each
of the commits.

Change-Id: Ibe1eb953ad270771ca69f414e604b60d9f7423ba
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/1960057
Tested-by: Paul Fagerburg <pfagerburg@chromium.org>
Reviewed-by: Justin TerAvest <teravest@chromium.org>
4 files changed