Replace modules and kernel jobs with new design
[lttng-ci.git] / jobs / lttng-modules.yaml
CommitLineData
598af463
MJ
1---
2- defaults:
3 name: lttng-modules
4 description: |
f899b1be
MJ
5 The LTTng modules provide Linux kernel tracing capability to the LTTng
6 2.0 tracer toolset.
a3c2d81c
MJ
7
8 <p>Job is managed by Jenkins Job Builder.</p>
598af463
MJ
9
10 project-type: freestyle
11
12 logrotate:
598af463 13 numToKeep: 2
598af463
MJ
14
15 wrappers:
16 - workspace-cleanup
17 - timestamps
18 - ansicolor
19
20 scm:
598af463
MJ
21 - git:
22 url: git://github.com/lttng/lttng-modules.git
9a00aa82 23 browser: githubweb
f3d8604b 24 browser-url: https://github.com/lttng/lttng-modules
598af463
MJ
25 branches:
26 - "{mversion}"
94bddbc4
MJ
27 shallow-clone: true
28 skip-tag: true
29 fastpoll: true
598af463
MJ
30 basedir: lttng-modules
31
d2fc1027 32 triggers:
4f3fef7d 33 - pollscm:
997b01f2 34 cron: "@hourly"
d2fc1027 35
598af463 36 properties:
9a00aa82 37 - github:
f3d8604b 38 url: https://github.com/lttng/lttng-modules
598af463
MJ
39
40
41## Templates
42- job-template:
43 name: lttng-modules_{mversion}_{kversion}_{buildtype}
44 defaults: lttng-modules
45
46 project-type: matrix
ca8c6144 47 node: 'master' # Applies only to matrix flyweight task
598af463
MJ
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'
83001fea 61 do-not-fingerprint: true
a3c2d81c
MJ
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
598af463 64 - shell:
ef63064f 65 !include-raw-escape: scripts/lttng-modules/build.sh
598af463
MJ
66
67 publishers:
68 - archive:
69 artifacts: 'build/**'
70 allow-empty: false
a3c2d81c 71 - workspace-cleanup
598af463 72
f3d8604b
MJ
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
4f3fef7d 199- job-template:
f899b1be 200 name: lttng-modules_{mversion}_coverity
4f3fef7d
MJ
201 defaults: lttng-modules
202 node: 'x86-64'
203
204 triggers:
205 - pollscm:
206 cron: "@daily"
207
f899b1be
MJ
208 scm:
209 - git:
210 url: git://github.com/lttng/lttng-modules.git
211 browser: githubweb
f3d8604b 212 browser-url: https://github.com/lttng/lttng-modules
f899b1be
MJ
213 branches:
214 - "{mversion}"
215
4f3fef7d
MJ
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:
ef63064f 229 !include-raw-escape: scripts/common/coverity.sh
4f3fef7d
MJ
230
231 publishers:
232 - workspace-cleanup
598af463 233
f899b1be
MJ
234- job-template:
235 name: lttng-modules_{mversion}_cppcheck
236 defaults: lttng-modules
237
238 triggers:
239 - pollscm:
997b01f2 240 cron: "@daily"
f899b1be
MJ
241
242 scm:
243 - git:
244 url: git://github.com/lttng/lttng-modules.git
245 browser: githubweb
f3d8604b 246 browser-url: https://github.com/lttng/lttng-modules
f899b1be
MJ
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
598af463
MJ
267## Project
268- project:
269 name: lttng-modules
270 mversion:
ef63064f 271 !include: jobs/inc/lttng-modules-versions.yaml.inc
598af463 272 jobs:
f3d8604b
MJ
273 - 'lttng-modules_{mversion}_build-vanilla'
274 - 'lttng-modules_{mversion}_build-{uversion}':
275 uversion:
276 - trusty
277 - xenial
278 - 'lttng-modules_VERSION_param-build':
598af463 279 arch: !!python/tuple [x86-32, x86-64]
f899b1be
MJ
280 - 'lttng-modules_{mversion}_cppcheck'
281 - 'lttng-modules_{mversion}_coverity':
282 mversion: master
This page took 0.034257 seconds and 4 git commands to generate.