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