aboutsummaryrefslogtreecommitdiff
path: root/bdep/ci.cli
diff options
context:
space:
mode:
Diffstat (limited to 'bdep/ci.cli')
-rw-r--r--bdep/ci.cli64
1 files changed, 64 insertions, 0 deletions
diff --git a/bdep/ci.cli b/bdep/ci.cli
index 46a3488..928e884 100644
--- a/bdep/ci.cli
+++ b/bdep/ci.cli
@@ -3,6 +3,7 @@
// license : MIT; see accompanying LICENSE file
include <bdep/project.cli>;
+include <bdep/ci-types.hxx>;
"\section=1"
"\name=bdep-ci"
@@ -55,6 +56,26 @@ namespace bdep
\cb{git(1)}, the current branch and commit id are added as the repository
URL fragment (see \l{bpkg-repository-types(1)} for details).
+ Some package manifest values can be overridden as part of the CI request
+ submission using the \cb{--override} and \cb{--overrides-file} options as
+ well as their \cb{--builds} and \cb{--build-email} shortcuts. This is
+ primarily useful for specifying alternative build configurations and/or
+ build notification emails. For example:
+
+ \
+ $ bdep ci --builds gcc
+ \
+
+ Note that manifest overrides override the entire value group that they
+ belong to. Currently, the following value groups can be overridden with
+ the \cb{build*-email} group overridden by default as if by specifying
+ an empty build email.
+
+ \
+ build-email build-{warning,error}-email
+ builds build-{include,exclude}
+ \
+
While the exact interpretation of the CI request depends on the specific
service, normally, the CI server will respond with a reference that can
be used to query the results. See \l{brep#ci Package CI} for details on
@@ -83,6 +104,49 @@ namespace bdep
"Remote repository URL for the project."
}
+ // Note: the following options are for documentation only (see --overrides
+ // below for details).
+ //
+ strings --override
+ {
+ "<name>:<value>",
+ "Package manifest value override. Repeat this option to override
+ multiple values."
+ }
+
+ path --overrides-file
+ {
+ "<file>",
+ "Read manifest value overrides from the specified manifest fragment
+ file. Repeat this option to specify multiple override files."
+ }
+
+ strings --builds
+ {
+ "<class-expr>",
+ "Shortcut for \c{\b{--override\ builds:}<class-expr>}."
+ }
+
+ string --build-email
+ {
+ "<email>",
+ "Shortcut for \c{\b{--override\ build-email:}<email>}."
+ }
+
+ // All the overrides-related options are handled with a common parser and
+ // are collected in a single manifest value list that is accessible via
+ // the --overrides option accessor. The --overrides option is "fake" in
+ // that it only serves to collect the values in a single list while
+ // preserving their order. Note that for this trick (or hack, if you
+ // will) to work, this option should come after all the options it
+ // aliases.
+ //
+ ci_override --overrides |
+ --override |
+ --overrides-file |
+ --builds |
+ --build-email;
+
string --simulate
{
"<outcome>",