jjb: Add dev lttng-modules master crossbuild job
[lttng-ci.git] / jobs / librseq.yaml
1 # {project}_{version}_{jobtype}
2 # librseq_stable-0.8_build
3 #
4 # jobtypes:
5 # - build
6 # - portbuild
7 # - coverity
8 # - scan-build
9 # - pylint
10
11 - defaults:
12 name: librseq
13 description: |
14
15 <p>Job is managed by Jenkins Job Builder.</p>
16
17 project-type: freestyle
18
19 wrappers:
20 - ansicolor: &librseq_wrapper_ansicolor_defaults
21 colormap: xterm
22 - timeout: &librseq_wrapper_timeout_defaults
23 timeout: 10
24 fail: true
25 type: no-activity
26 - timestamps
27 - workspace-cleanup
28
29 scm:
30 - git:
31 url: https://github.com/{github_user}/{github_name}.git
32 browser: githubweb
33 browser-url: https://github.com/{github_user}/{github_name}
34 branches:
35 - origin/{version}
36 basedir: src/librseq
37 skip-tag: true
38
39 triggers:
40 - pollscm:
41 cron: "@hourly"
42
43 properties:
44 - inject:
45 properties-content: |
46 PROJECT_NAME=librseq
47 - build-discarder:
48 num-to-keep: 10
49 artifact-num-to-keep: 2
50 - github:
51 url: https://github.com/{github_user}/{github_name}
52
53
54 ## Anchors
55 - _librseq_matrix_axes_defaults: &librseq_matrix_axes_defaults
56 name: 'librseq_matrix_axes_defaults'
57 project-type: matrix
58 node: 'master' # Applies only to matrix flyweight task
59 execution-strategy:
60 touchstone:
61 expr: '{touchstone}'
62 result: unstable
63 axes:
64 - axis: &librseq_matrix_axis_platform
65 type: slave
66 name: platform
67 values: '{obj:platforms}'
68 - axis: &librseq_matrix_axis_conf
69 type: user-defined
70 name: conf
71 values: '{obj:confs}'
72 - axis: &librseq_matrix_axis_build
73 type: user-defined
74 name: build
75 values: '{obj:builds}'
76
77 - _librseq_matrix_axes_cc: &librseq_matrix_axes_cc
78 name: 'librseq_matrix_axes_cc'
79 project-type: matrix
80 node: 'master' # Applies only to matrix flyweight task
81 execution-strategy:
82 touchstone:
83 expr: '{touchstone}'
84 result: unstable
85 axes:
86 - axis: *librseq_matrix_axis_platform
87 - axis: *librseq_matrix_axis_conf
88 - axis: *librseq_matrix_axis_build
89 - axis: &librseq_matrix_axis_cc
90 type: user-defined
91 name: cc
92 values: '{obj:ccs}'
93
94 - _librseq_builders_defaults: &librseq_builders_defaults
95 name: 'librseq_builders_defaults'
96 builders:
97 - shell:
98 !include-raw-escape:
99 - scripts/common/print.sh
100 - scripts/librseq/build.sh
101
102 - _librseq_publishers_defaults: &librseq_publishers_defaults
103 name: 'librseq_publishers_defaults'
104 publishers:
105 - tap: &librseq_publisher_tap_defaults
106 results: 'tap/**/*.log'
107 fail-if-no-results: true
108 failed-tests-mark-build-as-failure: true
109 include-comment-diagnostics: true
110 output-tap-to-console: false
111 todo-is-failure: false
112 - raw: &librseq_publisher_warnings-ng_defaults
113 xml: |
114 <io.jenkins.plugins.analysis.core.steps.IssuesRecorder plugin="warnings-ng">
115 <analysisTools>
116 <io.jenkins.plugins.analysis.warnings.Gcc4>
117 <id/>
118 <name/>
119 <jenkins plugin="plugin-util-api"/>
120 <pattern/>
121 <reportEncoding/>
122 <skipSymbolicLinks>false</skipSymbolicLinks>
123 </io.jenkins.plugins.analysis.warnings.Gcc4>
124 </analysisTools>
125 <sourceCodeEncoding/>
126 <sourceDirectory/>
127 <sourceDirectories/>
128 <ignoreQualityGate>false</ignoreQualityGate>
129 <ignoreFailedBuilds>true</ignoreFailedBuilds>
130 <failOnError>false</failOnError>
131 <healthy>0</healthy>
132 <unhealthy>0</unhealthy>
133 <minimumSeverity plugin="analysis-model-api">
134 <name>LOW</name>
135 </minimumSeverity>
136 <filters/>
137 <isEnabledForFailure>true</isEnabledForFailure>
138 <isAggregatingResults>true</isAggregatingResults>
139 <isBlameDisabled>false</isBlameDisabled>
140 <skipPublishingChecks>true</skipPublishingChecks>
141 <publishAllIssues>false</publishAllIssues>
142 <qualityGates>
143 <io.jenkins.plugins.analysis.core.util.QualityGate>
144 <threshold>1</threshold>
145 <type>TOTAL</type>
146 <status>WARNING</status>
147 </io.jenkins.plugins.analysis.core.util.QualityGate>
148 </qualityGates>
149 <trendChartType>AGGREGATION_TOOLS</trendChartType>
150 <scm/>
151 </io.jenkins.plugins.analysis.core.steps.IssuesRecorder>
152 - archive: &librseq_publisher_archive_defaults
153 artifacts: 'build/**,tap/**,log/**'
154 follow-symlinks: true
155 allow-empty: false
156 - workspace-cleanup: &librseq_publisher_workspace-cleanup_defaults
157 clean-if:
158 - failure: false
159 - ircbot: &librseq_publisher_ircbot_defaults
160 strategy: statechange-only
161 message-type: summary
162 matrix-notifier: only-parent
163 - email-ext: &librseq_publisher_email-ext_defaults
164 recipients: '{obj:email_to}'
165 reply-to: ci-notification@lists.lttng.org
166 always: false
167 unstable: false
168 first-failure: true
169 first-unstable: true
170 not-built: false
171 aborted: false
172 regression: false
173 failure: false
174 second-failure: false
175 improvement: false
176 still-failing: false
177 success: false
178 fixed: false
179 fixed-unhealthy: true
180 still-unstable: false
181 pre-build: false
182 matrix-trigger: only-parent
183 send-to:
184 - recipients
185
186 - _librseq_publishers_review: &librseq_publishers_review
187 name: 'librseq_publishers_review'
188 publishers:
189 - tap: *librseq_publisher_tap_defaults
190 - raw: *librseq_publisher_warnings-ng_defaults
191 - archive: *librseq_publisher_archive_defaults
192 - workspace-cleanup: *librseq_publisher_workspace-cleanup_defaults
193
194
195 ## Templates
196 - job-template:
197 name: librseq_{version}_{buildtype}
198 defaults: librseq
199
200 <<: *librseq_matrix_axes_defaults
201 <<: *librseq_builders_defaults
202 <<: *librseq_publishers_defaults
203
204 - job-template:
205 name: librseq_{version}_{cctype}
206 defaults: librseq
207
208 <<: *librseq_matrix_axes_cc
209 <<: *librseq_builders_defaults
210 <<: *librseq_publishers_defaults
211
212 - job-template:
213 name: dev_review_librseq_{version}_{buildtype}
214 defaults: librseq
215 concurrent: true
216
217 scm:
218 - git:
219 url: https://review.lttng.org/librseq
220 refspec: 'refs/changes/*:refs/changes/*'
221 branches:
222 - '$GERRIT_REFSPEC'
223 basedir: src/librseq
224 skip-tag: true
225
226 triggers:
227 - gerrit:
228 trigger-on:
229 - comment-added-event:
230 approval-category: 'CI-Build'
231 approval-value: 1
232 projects:
233 - project-compare-type: 'PLAIN'
234 project-pattern: 'librseq'
235 branches:
236 - branch-compare-type: 'PLAIN'
237 branch-pattern: '{version}'
238
239 <<: *librseq_matrix_axes_defaults
240 <<: *librseq_builders_defaults
241 <<: *librseq_publishers_review
242
243 properties:
244 - inject:
245 properties-content: |
246 PROJECT_NAME=librseq
247 - build-discarder:
248 days-to-keep: 1
249 - throttle:
250 option: 'category'
251 categories:
252 - 'gerrit-{buildtype}'
253
254 - job-template:
255 name: librseq_{version}_scan-build
256 defaults: librseq
257 node: 'deb12-amd64'
258
259 triggers:
260 - pollscm:
261 cron: "@daily"
262
263 builders:
264 - shell:
265 !include-raw-escape: scripts/common/scan-build.sh
266
267 publishers:
268 - html-publisher:
269 name: 'HTML Report'
270 dir: 'scan-build-archive/'
271 files: 'index.html'
272 - workspace-cleanup: *librseq_publisher_workspace-cleanup_defaults
273
274 - job-template:
275 name: librseq_{version}_coverity
276 defaults: librseq
277 node: 'deb12-amd64'
278
279 triggers:
280 - pollscm:
281 cron: "@daily"
282
283 wrappers:
284 - ansicolor: *librseq_wrapper_ansicolor_defaults
285 - timeout: *librseq_wrapper_timeout_defaults
286 - timestamps
287 - workspace-cleanup
288 - credentials-binding:
289 - username-password-separated:
290 credential-id: librseq_coverity_token
291 username: COVERITY_SCAN_PROJECT_NAME
292 password: COVERITY_SCAN_TOKEN
293
294 builders:
295 - shell:
296 !include-raw-escape: scripts/common/coverity.sh
297
298 publishers:
299 - workspace-cleanup
300 - archive:
301 artifacts: 'analysis-results.tgz,cov-int/**'
302 allow-empty: false
303 - workspace-cleanup: *librseq_publisher_workspace-cleanup_defaults
304
305 - view-template:
306 name: 'Librseq'
307 description: 'Restartable sequences'
308 view-type: list
309 regex: 'librseq_.*'
310
311
312 ## Project
313 - project:
314 name: librseq
315 github_user: compudj
316 github_name: librseq
317 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
318 version:
319 - master
320 jobs:
321 - 'librseq_{version}_{buildtype}':
322 buildtype: linuxbuild
323 platforms: !!python/tuple [deb12-amd64]
324 builds: !!python/tuple [std, oot, dist, oot-dist]
325 confs: !!python/tuple [std, static]
326 touchstone: '(build == "std") && (conf == "std")'
327 - 'librseq_{version}_{cctype}':
328 cctype: clangbuild
329 platforms: !!python/tuple [deb12-amd64]
330 builds: !!python/tuple [std]
331 confs: !!python/tuple [std, static]
332 ccs: !!python/tuple [clang-13, clang-14, clang-15]
333 touchstone: '(build == "std") && (conf == "std") && (cc == "clang-15")'
334 - 'librseq_{version}_{buildtype}':
335 buildtype: portbuild
336 platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386]
337 builds: !!python/tuple [std]
338 confs: !!python/tuple [std, static]
339 touchstone: '(build == "std") && (conf == "std") && (platform == "deb12-i386")'
340
341 - project:
342 name: review-librseq
343 github_user: compudj
344 github_name: librseq
345 version:
346 - master
347 jobs:
348 - 'dev_review_librseq_{version}_{buildtype}':
349 buildtype: linuxbuild
350 platforms: !!python/tuple [deb12-amd64]
351 builds: !!python/tuple [std, oot, dist, oot-dist]
352 confs: !!python/tuple [std, static]
353 touchstone: '(build == "std") && (conf == "std")'
354
355 - project:
356 name: librseq-views
357 views:
358 - Librseq
This page took 0.127643 seconds and 4 git commands to generate.