Merge "Add basic jjb for of-config"
[releng/builder.git] / jjb / releng-jobs.yaml
1 - project:
2     name: builder-jobs
3     jobs:
4         - 'builder-verify-jjb'
5         - 'builder-verify-python'
6         - 'builder-merge'
7         - 'builder-weekly'
8         - 'builder-check-poms'
9
10     project: 'releng/builder'
11
12 - job-template:
13     name: builder-verify-jjb
14     node: jjbuilder
15
16     project-type: freestyle
17
18     logrotate:
19         daysToKeep: 7
20
21     parameters:
22         - project-parameter:
23             project: '{project}'
24         - gerrit-parameters:
25             project: '{project}'
26             branch: 'master'
27             refspec: 'refs/heads/master'
28
29     scm:
30         - gerrit-trigger-scm:
31             refspec: '$GERRIT_REFSPEC'
32             choosing-strategy: 'gerrit'
33
34     wrappers:
35         - opendaylight-infra-wrappers:
36             build-timeout: '{build-timeout}'
37
38     triggers:
39         - gerrit:
40             server-name: 'OpenDaylight'
41             trigger-on:
42                 - patchset-created-event:
43                     exclude-drafts: 'false'
44                     exclude-trivial-rebase: 'false'
45                     exclude-no-code-change: 'false'
46                 - draft-published-event
47                 - comment-added-contains-event:
48                     comment-contains-value: 'recheck'
49             projects:
50               - project-compare-type: 'ANT'
51                 project-pattern: 'releng/builder'
52                 branches:
53                   - branch-compare-type: 'ANT'
54                     branch-pattern: '**/master'
55                 file-paths:
56                     - compare-type: ANT
57                       pattern: jjb/**
58                     - compare-type: ANT
59                       pattern: jjb-templates/**
60
61     builders:
62         - shell: |
63             pip freeze
64             python scripts/jjb-autoupdate-project.py
65             jenkins-jobs test --recursive -o archives/job_output jjb/
66             gzip archives/job_output/*
67
68         - releng-check-unicode
69
70     publishers:
71         - email-notification:
72             email-prefix: '[releng]'
73         - archive-build:
74             maven-version: '{mvn33}'
75
76 - job-template:
77     name: builder-verify-python
78     node: dynamic_verify
79
80     project-type: freestyle
81
82     logrotate:
83         daysToKeep: 7
84         numToKeep: 10
85         artifactDaysToKeep: -1
86         artifactNumToKeep: -1
87
88     parameters:
89         - project-parameter:
90             project: '{project}'
91         - gerrit-parameters:
92             project: '{project}'
93             branch: 'master'
94             refspec: 'refs/heads/master'
95
96     scm:
97         - gerrit-trigger-scm:
98             refspec: '$GERRIT_REFSPEC'
99             choosing-strategy: 'gerrit'
100
101     wrappers:
102         - opendaylight-infra-wrappers:
103             build-timeout: '{build-timeout}'
104
105     triggers:
106         - gerrit:
107             server-name: 'OpenDaylight'
108             trigger-on:
109                 - patchset-created-event:
110                     exclude-drafts: 'false'
111                     exclude-trivial-rebase: 'false'
112                     exclude-no-code-change: 'false'
113                 - draft-published-event
114                 - comment-added-contains-event:
115                     comment-contains-value: 'recheck'
116             projects:
117               - project-compare-type: 'ANT'
118                 project-pattern: 'releng/builder'
119                 branches:
120                   - branch-compare-type: 'ANT'
121                     branch-pattern: '**/master'
122                 file-paths:
123                     - compare-type: ANT
124                       pattern: scripts/**
125
126
127     builders:
128         - shell: |
129             virtualenv $WORKSPACE/venv
130             source $WORKSPACE/venv/bin/activate
131             pip install --upgrade pip
132             pip freeze
133             pip install flake8
134             flake8 scripts/
135
136     publishers:
137         - email-notification:
138             email-prefix: '[releng]'
139         - archive-build:
140             maven-version: '{mvn33}'
141
142 - job-template:
143     name: 'builder-merge'
144     node: jjbuilder
145
146     # builder-merge job to run JJB update
147     #
148     # This job's purpose is to update all the JJB
149
150     project-type: freestyle
151
152     logrotate:
153         daysToKeep: 7
154         numToKeep: 3
155         artifactDaysToKeep: -1
156         artifactNumToKeep: -1
157
158     parameters:
159         - project-parameter:
160             project: '{project}'
161         - gerrit-parameters:
162             project: '{project}'
163             branch: 'master'
164             refspec: 'refs/heads/master'
165
166     scm:
167         - gerrit-trigger-scm:
168             refspec: ''
169             choosing-strategy: 'default'
170
171     wrappers:
172         - opendaylight-infra-wrappers:
173             build-timeout: '{build-timeout}'
174
175     triggers:
176         - gerrit:
177             server-name: 'OpenDaylight'
178             trigger-on:
179                 - change-merged-event
180                 - comment-added-contains-event:
181                     comment-contains-value: 'remerge'
182             projects:
183               - project-compare-type: 'ANT'
184                 project-pattern: 'releng/builder'
185                 branches:
186                     - branch-compare-type: 'ANT'
187                       branch-pattern: '**/master'
188                 file-paths:
189                     - compare-type: ANT
190                       pattern: jjb/**
191                     - compare-type: ANT
192                       pattern: jjb-templates/**
193
194     builders:
195         - shell:
196             !include-raw-escape:
197                 - include-raw-jjb-update.sh
198
199     publishers:
200         - email-notification:
201             email-prefix: '[releng]'
202         - archive-build:
203             maven-version: '{mvn33}'
204
205 - job-template:
206     name: 'builder-weekly'
207     disabled: true
208     node: jjbuilder
209
210     # builder-weekly job to run JJB update weekly
211     #
212     # This job's purpose is to update all the JJB on a weekly (Sunday)
213     # basis with --flush-cache enabled to ensure jobs are okay
214
215     project-type: freestyle
216
217     logrotate:
218         daysToKeep: 7
219         numToKeep: 3
220         artifactDaysToKeep: -1
221         artifactNumToKeep: -1
222
223     parameters:
224         - project-parameter:
225             project: '{project}'
226
227     scm:
228         - git-scm:
229             branch: 'master'
230
231     wrappers:
232         - opendaylight-infra-wrappers:
233             build-timeout: '{build-timeout}'
234
235     triggers:
236         - timed: 'H H * * 0'
237
238     builders:
239         - shell: |
240             jenkins-jobs --flush-cache update --recursive jjb/
241
242     publishers:
243         - email-notification:
244             email-prefix: '[releng]'
245         - archive-build:
246             maven-version: '{mvn33}'
247
248 - job-template:
249     name: builder-check-poms
250     node: dynamic_verify
251
252     project-type: freestyle
253
254     logrotate:
255         daysToKeep: 1
256         numToKeep: 1
257         artifactDaysToKeep: -1
258         artifactNumToKeep: -1
259
260     wrappers:
261         - opendaylight-infra-wrappers:
262             build-timeout: '{build-timeout}'
263
264     triggers:
265         - timed: 'H H * * 1'
266
267     builders:
268         - shell:
269             !include-raw-escape:
270                 - include-raw-check-poms.sh
271
272     publishers:
273         - email-notification:
274             email-prefix: '[releng]'
275         - archive-build:
276             maven-version: '{mvn33}'