jjb: Make scan-build a common script
[lttng-ci.git] / jobs / liburcu.yaml
CommitLineData
e3022ad9
MJ
1# {project}_{version}_{jobtype}
2# liburcu_stable-0.8_build
3#
4# jobtypes:
5# - build
6# - portbuild
7# - cppcheck
8# - coverity
9# - scan-build
10# - pylint
11
12- defaults:
13 name: liburcu
14 description: |
15 liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library. This
16 data synchronization library provides read-side access which scales
17 linearly with the number of cores. It does so by allowing multiples
18 copies of a given data structure to live at the same time, and by
19 monitoring the data structure accesses to detect grace periods after
20 which memory reclamation is possible.
21
22 liburcu-cds provides efficient data structures based on RCU and
23 lock-free algorithms. Those structures include hash tables, queues,
24 stacks, and doubly-linked lists.
25
26 <p>Job is managed by Jenkins Job Builder.</p>
27
28 project-type: freestyle
29
e3022ad9
MJ
30 wrappers:
31 - workspace-cleanup
32 - timestamps
e8078c79
MJ
33 - ansicolor:
34 colormap: xterm
e3022ad9
MJ
35
36 scm:
37 - git:
51ca880a 38 url: git://github.com/{github_user}/{github_name}.git
e3022ad9 39 browser: githubweb
51ca880a 40 browser-url: https://github.com/{github_user}/{github_name}
e3022ad9
MJ
41 branches:
42 - origin/{version}
6d35c326 43 basedir: src/liburcu
0a6e708b 44 skip-tag: true
e3022ad9
MJ
45
46 triggers:
e8078c79
MJ
47 - pollscm:
48 cron: "@hourly"
e3022ad9
MJ
49
50 properties:
69f05d59
MJ
51 - inject:
52 properties-content: |
53 PROJECT_NAME=liburcu
edf72710
MJ
54 - build-discarder:
55 num-to-keep: 2
e3022ad9 56 - github:
51ca880a 57 url: https://github.com/{github_user}/{github_name}
e3022ad9
MJ
58
59
60## Templates
61- job-template:
b6e61d51 62 name: liburcu_{version}_{buildtype}
e3022ad9
MJ
63 defaults: liburcu
64
65 project-type: matrix
ca8c6144 66 node: 'master' # Applies only to matrix flyweight task
e3022ad9
MJ
67 axes:
68 - axis:
69 type: slave
70 name: arch
b6e61d51 71 values: '{obj:arch}'
e3022ad9
MJ
72 - axis:
73 type: user-defined
74 name: conf
75 values:
76 - std
77 - static
78 - tls_fallback
79 - axis:
80 type: user-defined
81 name: build
9d0846f3 82 values: '{obj:build}'
e3022ad9
MJ
83
84 builders:
85 - shell:
ef63064f 86 !include-raw-escape: scripts/liburcu/build.sh
e3022ad9
MJ
87
88 # TODO: Scan for open tasks
89 publishers:
90 - warnings:
91 console-log-parsers:
92 - 'GNU Make + GNU C Compiler (gcc)'
51ca880a
MJ
93 total-thresholds:
94 unstable:
d2c76ee5
MJ
95 total-all: 0
96 total-high: 0
97 total-normal: 0
98 total-low: 0
e3022ad9
MJ
99 - archive:
100 artifacts: 'build/**'
101 allow-empty: false
1d573689 102 - ircbot:
95654431 103 strategy: new-failure-and-fixed
1d573689
MJ
104 matrix-notifier: only-parent
105 channels:
106 - name: '#lttng'
e3022ad9
MJ
107
108- job-template:
109 name: liburcu_{version}_cppcheck
110 defaults: liburcu
111
112 triggers:
e8078c79
MJ
113 - pollscm:
114 cron: "@daily"
e3022ad9
MJ
115
116 builders:
117 - shell: |
118 rm -f liburcu-cppcheck.xml
6d35c326 119 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/liburcu 2> liburcu-cppcheck.xml
e3022ad9
MJ
120
121 publishers:
122 - archive:
123 artifacts: 'liburcu-cppcheck.xml'
124 allow-empty: false
e3022ad9
MJ
125 - cppcheck:
126 pattern: 'liburcu-cppcheck.xml'
127 - email:
128 recipients: 'ci-notification@lists.lttng.org'
129 notify-every-unstable-build: true
130 send-to-individuals: false
131
132- job-template:
133 name: liburcu_{version}_scan-build
134 defaults: liburcu
135 node: 'x86-64'
136
137 triggers:
e8078c79
MJ
138 - pollscm:
139 cron: "@daily"
e3022ad9
MJ
140
141 builders:
142 - shell:
69f05d59 143 !include-raw-escape: scripts/common/scan-build.sh
e3022ad9
MJ
144
145 publishers:
146 - html-publisher:
147 name: 'HTML Report'
148 dir: 'scan-build-archive/'
149 files: 'index.html'
150
e8078c79
MJ
151- job-template:
152 name: liburcu_{version}_coverity
153 defaults: liburcu
154 node: 'x86-64'
155
156 triggers:
157 - pollscm:
158 cron: "@daily"
159
160 wrappers:
161 - workspace-cleanup
162 - timestamps
163 - ansicolor:
164 colormap: xterm
165 - credentials-binding:
166 - username-password-separated:
167 credential-id: liburcu_coverity_token
168 username: COVERITY_SCAN_PROJECT_NAME
169 password: COVERITY_SCAN_TOKEN
170
171 builders:
172 - shell:
ef63064f 173 !include-raw-escape: scripts/common/coverity.sh
e8078c79
MJ
174
175 publishers:
176 - workspace-cleanup
6d35c326
MJ
177 - archive:
178 artifacts: 'analysis-results.tgz,cov-int/**'
179 allow-empty: false
e3022ad9
MJ
180
181
182## Project
183- project:
184 name: liburcu
51ca880a
MJ
185 github_user: urcu
186 github_name: userspace-rcu
e3022ad9 187 version:
ef63064f 188 !include: jobs/inc/liburcu-versions.yaml.inc
e3022ad9 189 jobs:
57ae8ff4
MJ
190 - 'liburcu_{version}_{buildtype}':
191 buildtype: build
b6e61d51 192 arch: !!python/tuple [x86-32, x86-64]
9d0846f3 193 build: !!python/tuple [std, oot, dist]
57ae8ff4
MJ
194 - 'liburcu_{version}_{buildtype}':
195 buildtype: portbuild
72f4f0c1 196 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
9d0846f3 197 build: !!python/tuple [std]
7491c28d
MJ
198 - 'liburcu_{version}_{buildtype}':
199 buildtype: solarisbuild
200 arch: !!python/tuple [solaris10, solaris11]
201 build: !!python/tuple [std]
51ca880a 202 version: # Solaris support was introduced in 0.9
7491c28d
MJ
203 - master
204 - stable-0.9
f7bf4d7a
MJ
205 - 'liburcu_{version}_{buildtype}':
206 buildtype: macosxbuild
207 arch: !!python/tuple [macosx]
208 build: !!python/tuple [std]
209 version:
210 - master
211 - stable-0.9
e3022ad9
MJ
212 - 'liburcu_{version}_cppcheck'
213 - 'liburcu_{version}_scan-build'
e8078c79
MJ
214 - 'liburcu_{version}_coverity':
215 version: master
e3022ad9 216
This page took 0.031705 seconds and 4 git commands to generate.