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