jjb: liburcu: Add debug-rcu as conf value
[lttng-ci.git] / jobs / liburcu.yaml
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
30 wrappers:
31 - workspace-cleanup
32 - timestamps
33 - ansicolor:
34 colormap: xterm
35
36 scm:
37 - git:
38 url: git://github.com/{github_user}/{github_name}.git
39 browser: githubweb
40 browser-url: https://github.com/{github_user}/{github_name}
41 branches:
42 - origin/{version}
43 basedir: src/liburcu
44 skip-tag: true
45
46 triggers:
47 - pollscm:
48 cron: "@hourly"
49
50 properties:
51 - inject:
52 properties-content: |
53 PROJECT_NAME=liburcu
54 - build-discarder:
55 num-to-keep: 2
56 - github:
57 url: https://github.com/{github_user}/{github_name}
58
59
60 ## Templates
61 - job-template:
62 name: liburcu_{version}_{buildtype}
63 defaults: liburcu
64
65 project-type: matrix
66 node: 'master' # Applies only to matrix flyweight task
67 axes:
68 - axis:
69 type: slave
70 name: arch
71 values: '{obj:arch}'
72 - axis:
73 type: user-defined
74 name: conf
75 values:
76 - std
77 - static
78 - tls_fallback
79 - debug-rcu
80 - axis:
81 type: user-defined
82 name: build
83 values: '{obj:build}'
84
85 builders:
86 - shell:
87 !include-raw-escape: scripts/liburcu/build.sh
88
89 # TODO: Scan for open tasks
90 publishers:
91 - warnings:
92 console-log-parsers:
93 - 'GNU Make + GNU C Compiler (gcc)'
94 total-thresholds:
95 unstable:
96 total-all: 0
97 total-high: 0
98 total-normal: 0
99 total-low: 0
100 - archive:
101 artifacts: 'build/**'
102 allow-empty: false
103 - ircbot:
104 strategy: new-failure-and-fixed
105 matrix-notifier: only-parent
106 channels:
107 - name: '#lttng'
108
109 - job-template:
110 name: liburcu_{version}_cppcheck
111 defaults: liburcu
112
113 triggers:
114 - pollscm:
115 cron: "@daily"
116
117 builders:
118 - shell: |
119 rm -f liburcu-cppcheck.xml
120 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/liburcu 2> liburcu-cppcheck.xml
121
122 publishers:
123 - archive:
124 artifacts: 'liburcu-cppcheck.xml'
125 allow-empty: false
126 - cppcheck:
127 pattern: 'liburcu-cppcheck.xml'
128 - email:
129 recipients: 'ci-notification@lists.lttng.org'
130 notify-every-unstable-build: true
131 send-to-individuals: false
132
133 - job-template:
134 name: liburcu_{version}_scan-build
135 defaults: liburcu
136 node: 'x86-64'
137
138 triggers:
139 - pollscm:
140 cron: "@daily"
141
142 builders:
143 - shell:
144 !include-raw-escape: scripts/common/scan-build.sh
145
146 publishers:
147 - html-publisher:
148 name: 'HTML Report'
149 dir: 'scan-build-archive/'
150 files: 'index.html'
151
152 - job-template:
153 name: liburcu_{version}_coverity
154 defaults: liburcu
155 node: 'x86-64'
156
157 triggers:
158 - pollscm:
159 cron: "@daily"
160
161 wrappers:
162 - workspace-cleanup
163 - timestamps
164 - ansicolor:
165 colormap: xterm
166 - credentials-binding:
167 - username-password-separated:
168 credential-id: liburcu_coverity_token
169 username: COVERITY_SCAN_PROJECT_NAME
170 password: COVERITY_SCAN_TOKEN
171
172 builders:
173 - shell:
174 !include-raw-escape: scripts/common/coverity.sh
175
176 publishers:
177 - workspace-cleanup
178 - archive:
179 artifacts: 'analysis-results.tgz,cov-int/**'
180 allow-empty: false
181
182
183 ## Project
184 - project:
185 name: liburcu
186 github_user: urcu
187 github_name: userspace-rcu
188 version:
189 !include: jobs/inc/liburcu-versions.yaml.inc
190 jobs:
191 - 'liburcu_{version}_{buildtype}':
192 buildtype: build
193 arch: !!python/tuple [x86-32, x86-64]
194 build: !!python/tuple [std, oot, dist]
195 - 'liburcu_{version}_{buildtype}':
196 buildtype: portbuild
197 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
198 build: !!python/tuple [std]
199 - 'liburcu_{version}_{buildtype}':
200 buildtype: solarisbuild
201 arch: !!python/tuple [solaris10, solaris11]
202 build: !!python/tuple [std]
203 version: # Solaris support was introduced in 0.9
204 - master
205 - stable-0.9
206 - 'liburcu_{version}_{buildtype}':
207 buildtype: macosxbuild
208 arch: !!python/tuple [macosx]
209 build: !!python/tuple [std]
210 version:
211 - master
212 - stable-0.9
213 - 'liburcu_{version}_cppcheck'
214 - 'liburcu_{version}_scan-build'
215 - 'liburcu_{version}_coverity':
216 version: master
217
This page took 0.034727 seconds and 5 git commands to generate.