Commit | Line | Data |
---|---|---|
ae855ba1 MJ |
1 | # {project}_{version}_{jobtype} |
2 | # librseq_stable-0.8_build | |
3 | # | |
4 | # jobtypes: | |
5 | # - build | |
6 | # - portbuild | |
ae855ba1 MJ |
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: | |
5745cfaa MJ |
20 | - ansicolor: &librseq_wrapper_ansicolor_defaults |
21 | colormap: xterm | |
22 | - timeout: &librseq_wrapper_timeout_defaults | |
ae855ba1 MJ |
23 | timeout: 10 |
24 | fail: true | |
733146f2 | 25 | type: no-activity |
ae855ba1 | 26 | - timestamps |
5745cfaa | 27 | - workspace-cleanup |
ae855ba1 MJ |
28 | |
29 | scm: | |
30 | - git: | |
4d27af8f | 31 | url: https://github.com/{github_user}/{github_name}.git |
ae855ba1 MJ |
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: | |
3b228cdd MJ |
48 | num-to-keep: 10 |
49 | artifact-num-to-keep: 2 | |
ae855ba1 MJ |
50 | - github: |
51 | url: https://github.com/{github_user}/{github_name} | |
52 | ||
53 | ||
54 | ## Anchors | |
9a54aa3b | 55 | - _librseq_matrix_axes_defaults: &librseq_matrix_axes_defaults |
5745cfaa | 56 | name: 'librseq_matrix_axes_defaults' |
ae855ba1 MJ |
57 | project-type: matrix |
58 | node: 'master' # Applies only to matrix flyweight task | |
9a07183c MJ |
59 | execution-strategy: |
60 | touchstone: | |
61 | expr: '{touchstone}' | |
62 | result: unstable | |
ae855ba1 | 63 | axes: |
5745cfaa | 64 | - axis: &librseq_matrix_axis_platform |
ae855ba1 | 65 | type: slave |
9a07183c MJ |
66 | name: platform |
67 | values: '{obj:platforms}' | |
5745cfaa | 68 | - axis: &librseq_matrix_axis_conf |
ae855ba1 MJ |
69 | type: user-defined |
70 | name: conf | |
9a07183c | 71 | values: '{obj:confs}' |
5745cfaa | 72 | - axis: &librseq_matrix_axis_build |
ae855ba1 MJ |
73 | type: user-defined |
74 | name: build | |
9a07183c | 75 | values: '{obj:builds}' |
ae855ba1 | 76 | |
9a54aa3b | 77 | - _librseq_matrix_axes_cc: &librseq_matrix_axes_cc |
5745cfaa | 78 | name: 'librseq_matrix_axes_cc' |
ae855ba1 MJ |
79 | project-type: matrix |
80 | node: 'master' # Applies only to matrix flyweight task | |
9a07183c MJ |
81 | execution-strategy: |
82 | touchstone: | |
83 | expr: '{touchstone}' | |
84 | result: unstable | |
ae855ba1 | 85 | axes: |
5745cfaa MJ |
86 | - axis: *librseq_matrix_axis_platform |
87 | - axis: *librseq_matrix_axis_conf | |
88 | - axis: *librseq_matrix_axis_build | |
89 | - axis: &librseq_matrix_axis_cc | |
ae855ba1 MJ |
90 | type: user-defined |
91 | name: cc | |
9a07183c | 92 | values: '{obj:ccs}' |
ae855ba1 | 93 | |
9a54aa3b | 94 | - _librseq_builders_defaults: &librseq_builders_defaults |
5745cfaa | 95 | name: 'librseq_builders_defaults' |
ae855ba1 MJ |
96 | builders: |
97 | - shell: | |
51c9c62d MJ |
98 | !include-raw-escape: |
99 | - scripts/common/print.sh | |
100 | - scripts/librseq/build.sh | |
ae855ba1 | 101 | |
9a54aa3b | 102 | - _librseq_publishers_defaults: &librseq_publishers_defaults |
5745cfaa | 103 | name: 'librseq_publishers_defaults' |
ae855ba1 | 104 | publishers: |
5745cfaa | 105 | - tap: &librseq_publisher_tap_defaults |
10c9bf80 MJ |
106 | results: 'tap/**/*.log' |
107 | fail-if-no-results: true | |
108 | failed-tests-mark-build-as-failure: true | |
4f04deeb MJ |
109 | include-comment-diagnostics: true |
110 | output-tap-to-console: false | |
10c9bf80 | 111 | todo-is-failure: false |
5745cfaa MJ |
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> | |
5745cfaa MJ |
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 | |
4174b905 | 153 | artifacts: 'build/**,tap/**,log/**' |
23f01bc3 | 154 | follow-symlinks: true |
ae855ba1 | 155 | allow-empty: false |
5745cfaa MJ |
156 | - workspace-cleanup: &librseq_publisher_workspace-cleanup_defaults |
157 | clean-if: | |
158 | - failure: false | |
ee4b760a MJ |
159 | - ircbot: &librseq_publisher_ircbot_defaults |
160 | strategy: statechange-only | |
2abd3a64 MJ |
161 | message-type: summary |
162 | matrix-notifier: only-parent | |
5745cfaa | 163 | - email-ext: &librseq_publisher_email-ext_defaults |
ae855ba1 MJ |
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 | ||
9a54aa3b MJ |
186 | - _librseq_publishers_review: &librseq_publishers_review |
187 | name: 'librseq_publishers_review' | |
10c9bf80 | 188 | publishers: |
5745cfaa MJ |
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 | |
10c9bf80 MJ |
193 | |
194 | ||
ae855ba1 MJ |
195 | ## Templates |
196 | - job-template: | |
197 | name: librseq_{version}_{buildtype} | |
198 | defaults: librseq | |
199 | ||
5745cfaa MJ |
200 | <<: *librseq_matrix_axes_defaults |
201 | <<: *librseq_builders_defaults | |
202 | <<: *librseq_publishers_defaults | |
ae855ba1 MJ |
203 | |
204 | - job-template: | |
205 | name: librseq_{version}_{cctype} | |
206 | defaults: librseq | |
207 | ||
5745cfaa MJ |
208 | <<: *librseq_matrix_axes_cc |
209 | <<: *librseq_builders_defaults | |
210 | <<: *librseq_publishers_defaults | |
ae855ba1 | 211 | |
10c9bf80 | 212 | - job-template: |
9a54aa3b | 213 | name: dev_review_librseq_{version}_{buildtype} |
10c9bf80 MJ |
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: | |
9a54aa3b MJ |
236 | - branch-compare-type: 'PLAIN' |
237 | branch-pattern: '{version}' | |
10c9bf80 | 238 | |
5745cfaa MJ |
239 | <<: *librseq_matrix_axes_defaults |
240 | <<: *librseq_builders_defaults | |
9a54aa3b | 241 | <<: *librseq_publishers_review |
10c9bf80 MJ |
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 | ||
ae855ba1 MJ |
254 | - job-template: |
255 | name: librseq_{version}_scan-build | |
256 | defaults: librseq | |
ee684f72 | 257 | node: 'deb12-amd64' |
ae855ba1 MJ |
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' | |
5745cfaa | 272 | - workspace-cleanup: *librseq_publisher_workspace-cleanup_defaults |
ae855ba1 MJ |
273 | |
274 | - job-template: | |
275 | name: librseq_{version}_coverity | |
276 | defaults: librseq | |
ee684f72 | 277 | node: 'deb12-amd64' |
ae855ba1 MJ |
278 | |
279 | triggers: | |
280 | - pollscm: | |
281 | cron: "@daily" | |
282 | ||
283 | wrappers: | |
5745cfaa MJ |
284 | - ansicolor: *librseq_wrapper_ansicolor_defaults |
285 | - timeout: *librseq_wrapper_timeout_defaults | |
ae855ba1 | 286 | - timestamps |
5745cfaa | 287 | - workspace-cleanup |
ae855ba1 MJ |
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 | |
5745cfaa | 303 | - workspace-cleanup: *librseq_publisher_workspace-cleanup_defaults |
ae855ba1 MJ |
304 | |
305 | - view-template: | |
72600ad8 | 306 | name: 'Librseq' |
ae855ba1 MJ |
307 | description: 'Restartable sequences' |
308 | view-type: list | |
b4c748a8 | 309 | regex: 'librseq_.*' |
ae855ba1 MJ |
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}': | |
5745cfaa | 322 | buildtype: linuxbuild |
30e5c12c | 323 | platforms: !!python/tuple [deb12-amd64] |
9a07183c MJ |
324 | builds: !!python/tuple [std, oot, dist, oot-dist] |
325 | confs: !!python/tuple [std, static] | |
50c1e250 | 326 | touchstone: '' |
ae855ba1 MJ |
327 | - 'librseq_{version}_{cctype}': |
328 | cctype: clangbuild | |
30e5c12c | 329 | platforms: !!python/tuple [deb12-amd64] |
9a07183c MJ |
330 | builds: !!python/tuple [std] |
331 | confs: !!python/tuple [std, static] | |
97d4d13c | 332 | ccs: !!python/tuple [clang-13, clang-14, clang-15] |
50c1e250 | 333 | touchstone: '' |
ae855ba1 MJ |
334 | - 'librseq_{version}_{buildtype}': |
335 | buildtype: portbuild | |
29901a39 | 336 | platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386] |
9a07183c MJ |
337 | builds: !!python/tuple [std] |
338 | confs: !!python/tuple [std, static] | |
50c1e250 | 339 | touchstone: '' |
ae855ba1 | 340 | |
10c9bf80 | 341 | - project: |
9a54aa3b | 342 | name: review-librseq |
10c9bf80 MJ |
343 | github_user: compudj |
344 | github_name: librseq | |
9a54aa3b MJ |
345 | version: |
346 | - master | |
10c9bf80 | 347 | jobs: |
9a54aa3b | 348 | - 'dev_review_librseq_{version}_{buildtype}': |
5745cfaa | 349 | buildtype: linuxbuild |
30e5c12c | 350 | platforms: !!python/tuple [deb12-amd64] |
9a07183c MJ |
351 | builds: !!python/tuple [std, oot, dist, oot-dist] |
352 | confs: !!python/tuple [std, static] | |
50c1e250 MJ |
353 | touchstone: '' |
354 | - 'dev_review_librseq_{version}_{buildtype}': | |
355 | buildtype: portbuild | |
356 | platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386] | |
357 | builds: !!python/tuple [std] | |
358 | confs: !!python/tuple [std] | |
359 | touchstone: '' | |
10c9bf80 | 360 | |
ae855ba1 MJ |
361 | - project: |
362 | name: librseq-views | |
363 | views: | |
72600ad8 | 364 | - Librseq |