[CI] Allow for describing the build from the configuration file
Summary:
This diff adds a new syntax for describing a build, which only requires
an entry in the configuration file instead of a script. Here are the
rules:
- If a script is defined, only the script is run.
- Otherwise, the configuration can define a list of targets, each entry being a list of the targets to run in parallel. They are run in order.
Example: the following configuration:
targets": [ ["all", "install"], ["check", "check-functional"] ]
will lead to the following calls:
ninja all install ninja check check-functional
- An optional cmake_flags list takes arguments to be passed to cmake.
- A few common options are also implemented as shortcuts, and match the options from the build_cmake.sh script.
The features allow for converting about the half of the tests. More will
be converted later as features are added.
Depends on D7314.
Test Plan: Ran all the builds with the new configuration format.
Reviewers: #bitcoin_abc, jasonbcox, deadalnix
Reviewed By: #bitcoin_abc, jasonbcox, deadalnix
Subscribers: deadalnix, jasonbcox
Differential Revision: https://reviews.bitcoinabc.org/D7324