Auto: Daily job definition
[releng.git] / jjb / auto / auto.yaml
1 ---
2 # jenkins job templates for Auto
3 - project:
4     name: 'auto-ci-jobs'
5     project: 'auto'
6
7     # -------------------------------
8     # BRANCH ANCHORS
9     # -------------------------------
10     stream:
11       - master:
12           branch: '{stream}'
13           gs-pathname: ''
14           disabled: false
15       - gambia:
16           branch: 'stable/{stream}'
17           gs-pathname: '/{stream}'
18           disabled: false
19       - fraser:
20           branch: 'stable/{stream}'
21           gs-pathname: '/{stream}'
22           disabled: false
23     # -------------------------------
24     # DEPLOY TYPE ANCHORS
25     # -------------------------------
26     baremetal: &baremetal
27       installer: 'fuel'
28       slave-label: 'auto-baremetal'
29     # -------------------------------
30     # POD, INSTALLER, AND BRANCH MAPPING
31     # -------------------------------
32     # CI POD's
33     # -------------------------------
34     pod:
35       - auto-baremetal:
36           <<: *baremetal
37     # -------------------------------
38     #       scenarios
39     # -------------------------------
40     scenario:
41       # HA scenarios
42       - 'os-nosdn-onap-ha':
43           auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
44
45     jobs:
46       - '{installer}-{scenario}-{pod}-auto-daily-{stream}'
47       - '{installer}-deploy-{pod}-daily-{stream}'
48       - 'auto-daily-{stream}'
49       - 'auto-verify-{stream}'
50       - 'auto-merge-{stream}'
51
52 ########################
53 # job templates
54 ########################
55 - job-template:
56     name: '{installer}-{scenario}-{pod}-auto-daily-{stream}'
57
58     disabled: '{obj:disabled}'
59
60     concurrent: false
61
62     properties:
63       - logrotate-default
64       - throttle:
65           enabled: true
66           max-total: 4
67           max-per-node: 1
68           option: 'project'
69       - build-blocker:
70           use-build-blocker: true
71           blocking-jobs:
72             - '{installer}-os-.*?-{pod}-auto-daily-.*'
73           blocking-level: 'NODE'
74
75     wrappers:
76       - build-name:
77           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
78
79     triggers:
80       - '{auto-trigger-name}'
81
82     parameters:
83       - project-parameter:
84           project: '{project}'
85           branch: '{branch}'
86       - '{installer}-defaults':
87           gs-pathname: '{gs-pathname}'
88       - '{slave-label}-defaults':
89           installer: '{installer}'
90       - string:
91           name: DEPLOY_SCENARIO
92           default: '{scenario}'
93
94     builders:
95       - trigger-builds:
96           - project: '{installer}-deploy-{pod}-daily-{stream}'
97             current-parameters: false
98             predefined-parameters: |
99               DEPLOY_SCENARIO=os-nosdn-nofeature-ha
100               PROJECT=armband
101             same-node: true
102             block: true
103
104 - job-template:
105     name: 'auto-daily-{stream}'
106
107     disabled: '{obj:disabled}'
108
109     properties:
110       - logrotate-default
111       - build-blocker:
112           use-build-blocker: true
113           blocking-jobs:
114             - 'auto-daily-.*'
115           blocking-level: 'NODE'
116
117     parameters:
118       - project-parameter:
119           project: '{project}'
120           branch: '{branch}'
121       - 'intel-pod18-defaults'
122
123     triggers:
124       - timed: '0 16 * * *'
125
126     builders:
127       - shell: |
128           pwd
129           ./ci/build-auto.sh daily
130
131 - job-template:
132     name: 'auto-verify-{stream}'
133
134     disabled: '{obj:disabled}'
135
136     project-type: freestyle
137
138     concurrent: true
139
140     properties:
141       - logrotate-default
142
143     parameters:
144       - project-parameter:
145           project: '{project}'
146           branch: '{branch}'
147       - 'opnfv-build-ubuntu-defaults'
148
149     scm:
150       - git-scm-gerrit
151
152     triggers:
153       - gerrit:
154           server-name: 'gerrit.opnfv.org'
155           trigger-on:
156             - patchset-created-event:
157                 exclude-drafts: 'false'
158                 exclude-trivial-rebase: 'false'
159                 exclude-no-code-change: 'false'
160             - draft-published-event
161             - comment-added-contains-event:
162                 comment-contains-value: 'recheck'
163             - comment-added-contains-event:
164                 comment-contains-value: 'reverify'
165           projects:
166             - project-compare-type: 'ANT'
167               project-pattern: '{project}'
168               branches:
169                 - branch-compare-type: 'ANT'
170                   branch-pattern: '**/{branch}'
171               forbidden-file-paths:
172                 - compare-type: ANT
173                   pattern: 'docs/**'
174
175     builders:
176       - shell: |
177           pwd
178           ./ci/build-auto.sh verify
179
180 - job-template:
181     name: 'auto-merge-{stream}'
182
183     disabled: '{obj:disabled}'
184
185     project-type: freestyle
186
187     concurrent: true
188
189     properties:
190       - logrotate-default
191
192     parameters:
193       - project-parameter:
194           project: '{project}'
195           branch: '{branch}'
196       - 'opnfv-build-ubuntu-defaults'
197
198     scm:
199       - git-scm
200
201     triggers:
202       - gerrit:
203           server-name: 'gerrit.opnfv.org'
204           trigger-on:
205             - change-merged-event
206             - comment-added-contains-event:
207                 comment-contains-value: 'remerge'
208           projects:
209             - project-compare-type: 'ANT'
210               project-pattern: '{project}'
211               branches:
212                 - branch-compare-type: 'ANT'
213                   branch-pattern: '**/{branch}'
214               forbidden-file-paths:
215                 - compare-type: ANT
216                   pattern: 'docs/**'
217
218     builders:
219       - shell: |
220           pwd
221           ./ci/build-auto.sh merge
222
223 ########################
224 # trigger macros
225 ########################
226 # CI PODs
227 # ----------------------------------------------------------------
228 # Auto CI Baremetal Triggers running against master branch
229 # ----------------------------------------------------------------
230 - trigger:
231     name: 'fuel-os-nosdn-onap-ha-auto-baremetal-master-trigger'
232     triggers:
233       - timed: ''
234 # ---------------------------------------------------------------------
235 # Auto CI Baremetal Triggers running against fraser branch
236 # ---------------------------------------------------------------------
237 - trigger:
238     name: 'fuel-os-nosdn-onap-ha-auto-baremetal-fraser-trigger'
239     triggers:
240       - timed: ''
241 # ---------------------------------------------------------------------
242 # Auto CI Baremetal Triggers running against gambia branch
243 # ---------------------------------------------------------------------
244 - trigger:
245     name: 'fuel-os-nosdn-onap-ha-auto-baremetal-gambia-trigger'
246     triggers:
247       - timed: ''