HomePhabricator

[CI] Allow for describing the build from the configuration file

Description

[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

Details

Provenance
FabienAuthored on Sep 4 2020, 06:45
abc-botPushed on Sep 4 2020, 06:49
Reviewer
Restricted Project
Differential Revision
D7324: [CI] Allow for describing the build from the configuration file
Parents
rABC8ac51748d64f: [backport#15917] wallet: Avoid logging no_such_file_or_directory error
Branches
Unknown
Tags
Unknown