Commit | Line | Data |
---|---|---|
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 |