Consolidate a single openstack-cron job
[releng/builder.git] / jjb / releng-jobs.yaml
1 ---
2 - project:
3     name: builder-jobs
4     jobs:
5       - '{project-name}-ci-jobs'
6       - builder-check-poms
7       - builder-openstack-cron
8       - gerrit-tox-verify
9       # Automation for docs and jobs
10       - 'builder-update-image-list'
11
12     # The following values are only specified here
13     # so that code blocks look similar to other projects.
14     project: 'releng/builder'
15     project-name: builder
16     stream: master
17     branch: master
18     build-node: centos7-java-builder-1c-4g
19     archive-artifacts: '**/*.log'
20     build-timeout: 10
21
22 - project:
23     name: packer-jobs
24     # packer jobs templates are defined in global-jjb
25     jobs:
26       - '{project-name}-packer-jobs'
27     project: 'releng/builder'
28     project-name: builder
29     branch: master
30     archive-artifacts: '**/*.log'
31     build-node: centos7-java-builder-1c-4g
32
33     platforms:
34       - centos
35       - ubuntu-14.04
36       - ubuntu-16.04
37
38     templates:
39       - devstack
40       - devstack-pre-pip-newton:
41           build-timeout: 75
42       - devstack-pre-pip-ocata:
43           build-timeout: 60
44       - devstack-pre-pip-pike:
45           build-timeout: 75
46       - docker:
47           build-timeout: 60
48       - gbp
49       - java-builder:
50           build-timeout: 75
51       - mininet
52       - mininet-ovs-2.5:
53           build-timeout: 60
54       - mininet-ovs-2.6:
55           build-timeout: 75
56       - robot
57
58     exclude:
59       - platforms: centos
60         templates: gbp
61       - platforms: centos
62         templates: mininet
63       - platforms: centos
64         templates: mininet-ovs-2.5
65       - platforms: centos
66         templates: mininet-ovs-2.6
67       - platforms: ubuntu-14.04
68         templates: java-builder
69       - platforms: ubuntu-14.04
70         templates: robot
71       - platforms: ubuntu-14.04
72         templates: devstack-pre-pip-newton
73       - platforms: ubuntu-14.04
74         templates: devstack-pre-pip-ocata
75       - platforms: ubuntu-14.04
76         templates: devstack-pre-pip-pike
77       - platforms: ubuntu-14.04
78         templates: devstack
79       - platforms: ubuntu-14.04
80         templates: docker
81       - platforms: ubuntu-14.04
82         templates: mininet-ovs-2.5
83       - platforms: ubuntu-14.04
84         templates: mininet-ovs-2.6
85       - platforms: ubuntu-16.04
86         templates: java-builder
87       - platforms: ubuntu-16.04
88         templates: robot
89       - platforms: ubuntu-16.04
90         templates: devstack-pre-pip-newton
91       - platforms: ubuntu-16.04
92         templates: devstack-pre-pip-ocata
93       - platforms: ubuntu-16.04
94         templates: devstack-pre-pip-pike
95       - platforms: ubuntu-16.04
96         templates: devstack
97       - platforms: ubuntu-16.04
98         templates: docker
99       - platforms: ubuntu-16.04
100         templates: mininet
101       - platforms: ubuntu-16.04
102         templates: baseline
103       - platforms: centos
104         templates: baseline
105
106 - job-template:
107     name: builder-check-poms
108     node: centos7-java-builder-1c-4g
109
110     project-type: freestyle
111
112     properties:
113       - opendaylight-infra-properties:
114           build-days-to-keep: 14
115
116     parameters:
117       - opendaylight-infra-parameters:
118           os-cloud: '{os-cloud}'
119           project: '{project}'
120           branch: '{branch}'
121           refspec: 'refs/heads/{branch}'
122           artifacts: '{archive-artifacts}'
123
124     wrappers:
125       - opendaylight-infra-wrappers:
126           build-timeout: '{build-timeout}'
127
128     triggers:
129       - timed: 'H H * * 1'
130
131     builders:
132       - shell: !include-raw-escape: check-poms.sh
133
134     publishers:
135       - email-notification:
136           email-recipients: '{email-recipients}'
137           email-prefix: '[releng]'
138       - lf-infra-publish
139
140
141 - job-template:
142     name: 'builder-openstack-cron'
143     # Job that runs every 30 mins to perform regular openstack cleanup
144
145     project-type: freestyle
146     node: centos7-java-builder-1c-4g
147
148     properties:
149       - opendaylight-infra-properties:
150           build-days-to-keep: 7
151
152     parameters:
153       - opendaylight-infra-parameters:
154           os-cloud: '{os-cloud}'
155           project: '{project}'
156           branch: '{branch}'
157           refspec: 'refs/heads/{branch}'
158           artifacts: '{archive-artifacts}'
159
160     scm:
161       - git-scm:
162           branch: '{branch}'
163
164     wrappers:
165       - opendaylight-infra-wrappers:
166           build-timeout: '{build-timeout}'
167
168     triggers:
169       - timed: '0,30 * * * *'
170
171     builders:
172       - shell: !include-raw-escape:
173           - global-jjb/shell/lftools-install.sh
174           # Servers
175           - opendaylight-infra-cleanup-stale-stacks.sh
176           - opendaylight-infra-cleanup-stale-nodes.sh
177           # Images
178           - opendaylight-infra-check-image-protection.sh
179           - opendaylight-infra-cleanup-old-images.sh
180
181     publishers:
182       - email-notification:
183           email-recipients: '{email-recipients}'
184           email-prefix: '[releng]'
185       - lf-infra-publish
186
187
188 - job-template:
189     name: 'builder-update-image-list'
190     project-type: freestyle
191     node: centos7-java-builder-1c-4g
192
193     properties:
194       - opendaylight-infra-properties:
195           build-days-to-keep: 7
196
197     parameters:
198       - opendaylight-infra-parameters:
199           os-cloud: odlpriv
200           project: '{project}'
201           branch: '{branch}'
202           refspec: 'refs/heads/{branch}'
203           artifacts: '{archive-artifacts}'
204
205     scm:
206       - git-scm:
207           branch: '{branch}'
208
209     wrappers:
210       - opendaylight-infra-wrappers:
211           build-timeout: '{build-timeout}'
212       # Listed after to override openstack-infra-wrappers clouds.yaml definition
213       - config-file-provider:
214           files:
215             - file-id: clouds-yaml
216               target: '$HOME/.config/openstack/clouds.yaml'
217
218     triggers:
219       # Update image list every Monday to Friday at 11:00 UTC
220       - timed: '0 11 * * 1-5'
221
222     builders:
223       - shell: !include-raw-escape: opendaylight-infra-update-image-list.sh
224       - opendaylight-infra-push-gerrit-patch:
225           project: '{project}'
226           gerrit-topic: 'releng-update-cloud-image-list'
227           gerrit-commit-message: 'Update cloud image list docs'
228
229     publishers:
230       - email-notification:
231           email-recipients: '{email-recipients}'
232           email-prefix: '[releng]'
233       - lf-infra-publish