jjb: Make scan-build a common script
[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 - axis:
80 type: user-defined
81 name: build
82 values: '{obj:build}'
83
84 builders:
85 - shell:
86 !include-raw-escape: scripts/liburcu/build.sh
87
88 # TODO: Scan for open tasks
89 publishers:
90 - warnings:
91 console-log-parsers:
92 - 'GNU Make + GNU C Compiler (gcc)'
93 total-thresholds:
94 unstable:
95 total-all: 0
96 total-high: 0
97 total-normal: 0
98 total-low: 0
99 - archive:
100 artifacts: 'build/**'
101 allow-empty: false
102 - ircbot:
103 strategy: new-failure-and-fixed
104 matrix-notifier: only-parent
105 channels:
106 - name: '#lttng'
107
108 - job-template:
109 name: liburcu_{version}_cppcheck
110 defaults: liburcu
111
112 triggers:
113 - pollscm:
114 cron: "@daily"
115
116 builders:
117 - shell: |
118 rm -f liburcu-cppcheck.xml
119 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/liburcu 2> liburcu-cppcheck.xml
120
121 publishers:
122 - archive:
123 artifacts: 'liburcu-cppcheck.xml'
124 allow-empty: false
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:
138 - pollscm:
139 cron: "@daily"
140
141 builders:
142 - shell:
143 !include-raw-escape: scripts/common/scan-build.sh
144
145 publishers:
146 - html-publisher:
147 name: 'HTML Report'
148 dir: 'scan-build-archive/'
149 files: 'index.html'
150
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:
173 !include-raw-escape: scripts/common/coverity.sh
174
175 publishers:
176 - workspace-cleanup
177 - archive:
178 artifacts: 'analysis-results.tgz,cov-int/**'
179 allow-empty: false
180
181
182 ## Project
183 - project:
184 name: liburcu
185 github_user: urcu
186 github_name: userspace-rcu
187 version:
188 !include: jobs/inc/liburcu-versions.yaml.inc
189 jobs:
190 - 'liburcu_{version}_{buildtype}':
191 buildtype: build
192 arch: !!python/tuple [x86-32, x86-64]
193 build: !!python/tuple [std, oot, dist]
194 - 'liburcu_{version}_{buildtype}':
195 buildtype: portbuild
196 arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
197 build: !!python/tuple [std]
198 - 'liburcu_{version}_{buildtype}':
199 buildtype: solarisbuild
200 arch: !!python/tuple [solaris10, solaris11]
201 build: !!python/tuple [std]
202 version: # Solaris support was introduced in 0.9
203 - master
204 - stable-0.9
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
212 - 'liburcu_{version}_cppcheck'
213 - 'liburcu_{version}_scan-build'
214 - 'liburcu_{version}_coverity':
215 version: master
216
This page took 0.034004 seconds and 5 git commands to generate.