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