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