Replace modules and kernel jobs with new design
[lttng-ci.git] / jobs / lttng-modules.yaml
1 ---
2 - defaults:
3 name: lttng-modules
4 description: |
5 The LTTng modules provide Linux kernel tracing capability to the LTTng
6 2.0 tracer toolset.
7
8 <p>Job is managed by Jenkins Job Builder.</p>
9
10 project-type: freestyle
11
12 logrotate:
13 numToKeep: 2
14
15 wrappers:
16 - workspace-cleanup
17 - timestamps
18 - ansicolor
19
20 scm:
21 - git:
22 url: git://github.com/lttng/lttng-modules.git
23 browser: githubweb
24 browser-url: https://github.com/lttng/lttng-modules
25 branches:
26 - "{mversion}"
27 shallow-clone: true
28 skip-tag: true
29 fastpoll: true
30 basedir: lttng-modules
31
32 triggers:
33 - pollscm:
34 cron: "@hourly"
35
36 properties:
37 - github:
38 url: https://github.com/lttng/lttng-modules
39
40
41 ## Templates
42 - job-template:
43 name: lttng-modules_{mversion}_{kversion}_{buildtype}
44 defaults: lttng-modules
45
46 project-type: matrix
47 node: 'master' # Applies only to matrix flyweight task
48 axes:
49 - axis:
50 type: slave
51 name: arch
52 values: '{obj:arch}'
53
54 builders:
55 - copyartifact:
56 project: kernel_{kversion}_{buildtype}/arch=$arch
57 which-build: last-successful
58 stable: true
59 filter: 'build/**'
60 target: 'deps/linux'
61 do-not-fingerprint: true
62 - shell: |
63 git clone --depth=1 -b "v{kversion}" --reference $HOME/gitcache/linux-stable.git/ git://artifacts.internal.efficios.com/git/linux-stable.git linux
64 - shell:
65 !include-raw-escape: scripts/lttng-modules/build.sh
66
67 publishers:
68 - archive:
69 artifacts: 'build/**'
70 allow-empty: false
71 - workspace-cleanup
72
73 - job-template:
74 name: lttng-modules_{mversion}_build-vanilla
75 defaults: lttng-modules
76
77 node: 'master'
78
79 parameters:
80 - string:
81 name: 'mversion'
82 default: '{mversion}'
83 description: 'The lttng-modules branch to build.'
84 - string:
85 name: 'maxConcurrentBuild'
86 default: '4'
87 description: 'The maximum number of concurrent child build to run.'
88 - string:
89 name: 'kverfloor'
90 default: 'v2.6.36'
91 description: 'The lowest kernel version to build.'
92 - string:
93 name: 'kgitrepo'
94 default: 'git://artifacts.internal.efficios.com/git/linux-stable.git'
95 description: 'The linux kernel git repository url.'
96 - string:
97 name: 'kbuildjob'
98 default: 'lttng-modules_VERSION_param-build'
99 description: 'The parametrized job to use for child builds.'
100
101 builders:
102 - system-groovy:
103 command:
104 !include-raw-escape: scripts/lttng-modules/master.groovy
105
106 publishers:
107 - workspace-cleanup
108
109 - job-template:
110 name: lttng-modules_{mversion}_build-{uversion}
111 defaults: lttng-modules
112
113 node: 'master'
114
115 parameters:
116 - string:
117 name: 'mversion'
118 default: '{mversion}'
119 description: 'The lttng-modules branch to build.'
120 - string:
121 name: 'maxConcurrentBuild'
122 default: '4'
123 description: 'The maximum number of concurrent child build to run.'
124 - string:
125 name: 'uversion'
126 default: '{uversion}'
127 description: 'The lowest kernel version to build.'
128 - string:
129 name: 'kgitrepo'
130 default: 'git://artifacts.internal.efficios.com/git/ubuntu-{uversion}.git'
131 description: 'The linux kernel git repository url.'
132 - string:
133 name: 'kbuildjob'
134 default: 'lttng-modules_VERSION_param-build'
135 description: 'The parametrized job to use for child builds.'
136
137 builders:
138 - system-groovy:
139 command:
140 !include-raw-escape: scripts/lttng-modules/master-ubuntu.groovy
141
142 publishers:
143 - workspace-cleanup
144
145 - job-template:
146 name: lttng-modules_VERSION_param-build
147 defaults: lttng-modules
148 description: |
149 This is a parametrized job used by 'master' jobs to build any combinations
150 of lttng-modules and linux kernel versions.
151
152 <p>Job is managed by Jenkins Job Builder.</p>
153
154 project-type: matrix
155 node: 'master' # Applies only to matrix flyweight task
156 axes:
157 - axis:
158 type: slave
159 name: arch
160 values: '{obj:arch}'
161
162 parameters:
163 - string:
164 name: 'mversion'
165 default: 'master'
166 description: 'The lttng-modules branch to build.'
167 - string:
168 name: 'kversion'
169 default: ''
170 description: 'The linux kernel git tag to build against.'
171 - string:
172 name: 'kgitrepo'
173 default: 'git://artifacts.internal.efficios.com/git/linux-stable.git'
174 description: 'The linux kernel git repository url.'
175
176 concurrent: true
177 logrotate:
178 daysToKeep: -1
179
180 scm:
181 - git:
182 url: git://github.com/lttng/lttng-modules.git
183 browser: githubweb
184 browser-url: https://github.com/lttng/lttng-modules
185 branches:
186 - "${{mversion}}"
187 skip-tag: true
188 basedir: lttng-modules
189
190 builders:
191 - shell: |
192 git clone --depth=1 -b "$kversion" --reference $HOME/gitcache/linux-stable.git/ "$kgitrepo" linux
193 - shell:
194 !include-raw-escape: scripts/lttng-modules/param-build.sh
195
196 publishers:
197 - workspace-cleanup
198
199 - job-template:
200 name: lttng-modules_{mversion}_coverity
201 defaults: lttng-modules
202 node: 'x86-64'
203
204 triggers:
205 - pollscm:
206 cron: "@daily"
207
208 scm:
209 - git:
210 url: git://github.com/lttng/lttng-modules.git
211 browser: githubweb
212 browser-url: https://github.com/lttng/lttng-modules
213 branches:
214 - "{mversion}"
215
216 wrappers:
217 - workspace-cleanup
218 - timestamps
219 - ansicolor:
220 colormap: xterm
221 - credentials-binding:
222 - username-password-separated:
223 credential-id: lttng-modules_coverity_token
224 username: COVERITY_SCAN_PROJECT_NAME
225 password: COVERITY_SCAN_TOKEN
226
227 builders:
228 - shell:
229 !include-raw-escape: scripts/common/coverity.sh
230
231 publishers:
232 - workspace-cleanup
233
234 - job-template:
235 name: lttng-modules_{mversion}_cppcheck
236 defaults: lttng-modules
237
238 triggers:
239 - pollscm:
240 cron: "@daily"
241
242 scm:
243 - git:
244 url: git://github.com/lttng/lttng-modules.git
245 browser: githubweb
246 browser-url: https://github.com/lttng/lttng-modules
247 branches:
248 - "{mversion}"
249
250 builders:
251 - shell: |
252 rm -f cppcheck.xml
253 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE 2> cppcheck.xml
254
255 publishers:
256 - archive:
257 artifacts: 'cppcheck.xml'
258 allow-empty: false
259 - cppcheck:
260 pattern: 'cppcheck.xml'
261 - email:
262 recipients: 'ci-notification@lists.lttng.org'
263 notify-every-unstable-build: true
264 send-to-individuals: false
265
266
267 ## Project
268 - project:
269 name: lttng-modules
270 mversion:
271 !include: jobs/inc/lttng-modules-versions.yaml.inc
272 jobs:
273 - 'lttng-modules_{mversion}_build-vanilla'
274 - 'lttng-modules_{mversion}_build-{uversion}':
275 uversion:
276 - trusty
277 - xenial
278 - 'lttng-modules_VERSION_param-build':
279 arch: !!python/tuple [x86-32, x86-64]
280 - 'lttng-modules_{mversion}_cppcheck'
281 - 'lttng-modules_{mversion}_coverity':
282 mversion: master
This page took 0.035879 seconds and 5 git commands to generate.