1bdep-ci(1) General Commands Manual bdep-ci(1)
2
3
4
6 bdep-ci - submit project test request to CI server
7
9 bdep ci [options] [cfg-spec] [pkg-spec]
10
11 cfg-spec = (@cfg-name | --config|-c cfg-dir)... | --all|-a | --forward
12 pkg-spec = (--directory|-d pkg-dir)... | prj-spec
13 prj-spec = --directory|-d prj-dir
14
16 The ci command submits the project packages test request to a CI
17 server.
18
19 If no project or package directory is specified, then the current work‐
20 ing directory is assumed. If no configuration is specified, then the
21 default configurations are used. If the specified directory is a
22 project directory, then all the packages initialized in the configura‐
23 tions are submitted, unless the --forward option is specified (see be‐
24 low). See bdep-projects-configs(1) for details on specifying projects
25 and configurations.
26
27 A CI request consists of the specified packages and their versions as
28 well as the project's remote version control repository URL correspond‐
29 ing to the current (local) state of the project. The CI server should
30 be able to fetch these package versions from this repository as well as
31 any dependencies from this repository or its prerequisite/complement
32 repositories, according to each package's repositories.manifest.
33
34 If the CI server is not explicitly specified with the --server option,
35 the request is submitted to ci.cppget.org by default.
36
37 Unless the remote repository URL is specified with the --repository op‐
38 tion, it will be automatically derived from the version control's "re‐
39 mote" URL. In case of git(1), it will be based on the remote.origin.url
40 configuration value unless overridden with remote.origin.build2Url. The
41 repository URL is then adjusted to corresponding to the current (local)
42 state of the project. In case of git(1), the current branch and commit
43 id are added as the repository URL fragment (see bpkg-repository-
44 types(1) for details).
45
46 Some package manifest values can be overridden as part of the CI re‐
47 quest submission using the --override and --overrides-file options as
48 well as their --builds, --build-config, and --build-email shortcuts.
49 This is primarily useful for specifying alternative build configura‐
50 tions and/or build notification emails. For example:
51
52 $ bdep ci --builds gcc
53 $ bdep ci --build-config 'linux*-gcc*'
54
55 Note that manifest overrides override the entire value group that they
56 belong to. Currently, the following value groups can be overridden with
57 the build*-email group overridden by default as if by specifying an
58 empty build email.
59
60 build-email build-{warning,error}-email
61 builds build-{include,exclude}
62
63 Note also that the build constraints group values are overridden hier‐
64 archically so that the build-{include,exclude} overrides don't affect
65 the builds values.
66
67 If supported by the CI service, a package can be tested interactively
68 in a specific build configuration using the --interactive|-i option. In
69 this mode the CI service provides the login information for the execu‐
70 tion environment and pauses the testing at the specified breakpoint.
71
72 While the exact interpretation of the CI request depends on the spe‐
73 cific service, normally, the CI server will respond with a reference
74 that can be used to query the results. See Package CI (#ci) for details
75 on the CI request handling.
76
77 If the --forward option is specified then the forwarded configurations
78 are used instead of the default configurations. In particular, this
79 means that in this mode the project doesn't need to be initialized and
80 all that's required is for package's source directories to be config‐
81 ured to forward to an out of source build configuration (see b(1) for
82 details on forwarded configurations). This, for example, can be used to
83 submit packages that don't use the standard version.
84
86 --yes|-y
87 Don't prompt for confirmation before submitting.
88
89 --interactive|-i cf[/bp]
90 Test the package interactively in the specified build configura‐
91 tion, pausing the execution at the specified breakpoint. Valid
92 breakpoint values are error (stop after first error), warning
93 (stop after first warning), as well as the CI service-specific
94 step ids in which case the execution stops before performing the
95 specified step (see bbot worker step ids (bbot#arch-worker)). If
96 no breakpoint is specified, then error is assumed.
97
98 --server url
99 CI server to submit the request to.
100
101 --repository url
102 Remote repository URL for the project.
103
104 --override name:value
105 Package manifest value override. Repeat this option to override
106 multiple values.
107
108 --overrides-file file
109 Read manifest value overrides from the specified manifest frag‐
110 ment file. Repeat this option to specify multiple override
111 files.
112
113 --builds class-expr
114 Shortcut for --override builds:class-expr.
115
116 --build-config cf[/tg]
117 Shortcut for the following options sequence:
118
119 --override builds:all
120 --override build-include:cf[/tg]
121 --override build-exclude:**
122
123 Repeat this option to specify multiple build configurations.
124
125 --build-email email
126 Shortcut for --override build-email:email.
127
128 --simulate outcome
129 Simulate the specified outcome of the CI process without actu‐
130 ally performing any externally visible actions (such as testing
131 the packages or publishing the result). The commonly used out‐
132 come value is success. For other recognized outcomes refer to
133 the CI service documentation.
134
135 --forward
136 Use the forwarded configuration for each package instead of the
137 default configuration.
138
139 --all|-a
140 Use all build configurations.
141
142 --config|-c dir
143 Specify the build configuration as a directory.
144
145 --directory|-d dir
146 Assume project/package is in the specified directory rather than
147 in the current working directory.
148
149 --config-name|-n name
150 Specify the build configuration as a name.
151
152 --config-id num
153 Specify the build configuration as an id.
154
156 The common options are summarized below with a more detailed descrip‐
157 tion available in bdep-common-options(1).
158
159 -v Print essential underlying commands being executed.
160
161 -V Print all underlying commands being executed.
162
163 --quiet|-q
164 Run quietly, only printing error messages.
165
166 --verbose level
167 Set the diagnostics verbosity to level between 0 and 6.
168
169 --stdout-format format
170 Representation format to use for printing to stdout.
171
172 --jobs|-j num
173 Number of jobs to perform in parallel.
174
175 --progress
176 Display progress indicators for long-lasting operations, such as
177 network transfers, building, etc.
178
179 --no-progress
180 Suppress progress indicators for long-lasting operations, such
181 as network transfers, building, etc.
182
183 --bpkg path
184 The package manager program to be used for build configuration
185 management.
186
187 --bpkg-option opt
188 Additional option to be passed to the package manager program.
189
190 --build path
191 The build program to be used to build packages.
192
193 --build-option opt
194 Additional option to be passed to the build program.
195
196 --curl path
197 The curl program to be used for network operations.
198
199 --curl-option opt
200 Additional option to be passed to the curl program.
201
202 --pager path
203 The pager program to be used to show long text.
204
205 --pager-option opt
206 Additional option to be passed to the pager program.
207
208 --options-file file
209 Read additional options from file.
210
211 --default-options dir
212 The directory to load additional default options files from.
213
214 --no-default-options
215 Don't load default options files.
216
218 See bdep-default-options-files(1) for an overview of the default op‐
219 tions files. For the ci command the search start directory is the
220 project directory. The following options files are searched for in each
221 directory and, if found, loaded in the order listed:
222
223 bdep.options
224 bdep-ci.options
225
226 The following ci command options cannot be specified in the default op‐
227 tions files:
228
229 --directory|-d
230
232 Send bug reports to the users@build2.org mailing list.
233
235 Copyright (c) 2014-2022 the build2 authors.
236
237 Permission is granted to copy, distribute and/or modify this document
238 under the terms of the MIT License.
239
240
241
242bdep 0.15.0 July 2022 bdep-ci(1)