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