411af8f2490a340184f9f4147fc8577a336b96b8
[ci-management.git] / jjb / ci-management / ci-management-jobs.yaml
1 ---
2 - project:
3     name: ci-management-ci-jobs
4     jobs:
5       - '{project-name}-ci-jobs'
6
7     project: ci-management
8     project-name: ci-management
9     build-node: centos7-builder-2c-2g
10     build-timeout: 30
11     jjb-version: 2.6.0
12
13 - project:
14     name: ci-management-jobs
15     jobs:
16       - 'ci-management-verify-packer'
17       - 'ci-management-merge-packer-{platforms}-{templates}'
18
19     platforms:
20       - centos
21       - ubuntu-16.04
22
23     templates:
24       - basebuild
25
26     project: ci-management
27     branch: master
28
29 - job-template:
30     name: ci-management-verify-jjb
31
32     project-type: freestyle
33     node: jjb
34     concurrent: true
35
36     build-discarder:
37       daysToKeep: 30
38       numToKeep: 10
39       artifactDaysToKeep: -1
40       artifactNumToKeep: 5
41
42     parameters:
43       - project-parameter:
44           project: '{project}'
45
46     scm:
47       - gerrit-trigger-scm-recursive:
48           credentials-id: 'jenkins-gerrit-credentials'
49           refspec: '$GERRIT_REFSPEC'
50           choosing-strategy: 'gerrit'
51           submodule-recursive: true
52
53     wrappers:
54       - fdio-infra-wrappers:
55           build-timeout: '{build-timeout}'
56
57     triggers:
58       - gerrit-trigger-patch-submitted:
59           name: '{project}'
60           branch: '{branch}'
61
62     builders:
63       - shell: |
64           jenkins-jobs test --recursive -o job_output jjb/
65       - ci-management-check-unicode
66
67     publishers:
68       - archive-artifacts:
69           artifacts: 'job_output/*'
70
71       - fdio-infra-shiplogs:
72           maven-version: 'mvn33-new'
73
74 - job-template:
75     name: 'ci-management-merge-jjb'
76
77     project-type: freestyle
78     node: jjb
79
80     build-discarder:
81       daysToKeep: 30
82       numToKeep: 40
83       artifactDaysToKeep: -1
84       artifactNumToKeep: 5
85
86     parameters:
87       - project-parameter:
88           project: '{project}'
89
90     scm:
91       - gerrit-trigger-scm-recursive:
92           credentials-id: 'jenkins-gerrit-credentials'
93           refspec: ''
94           choosing-strategy: 'gerrit'
95           submodule-recursive: true
96
97     wrappers:
98       - fdio-infra-wrappers:
99           build-timeout: 60
100
101     triggers:
102       - gerrit-trigger-patch-merged:
103           name: '{project}'
104           branch: '{branch}'
105
106     builders:
107       - shell: |
108           pip freeze
109           jenkins-jobs --version
110           jenkins-jobs update --recursive --delete-old --workers 4 jjb/
111
112     publishers:
113       - fdio-infra-shiplogs:
114           maven-version: 'mvn33-new'
115
116 - job-template:
117     name: 'ci-management-verify-packer'
118     project-type: freestyle
119     node: ubuntu1604-basebuild-4c-4g
120     concurrent: true
121
122     properties:
123       - fdio-infra-properties:
124           build-days-to-keep: '{build-days-to-keep}'
125           build-num-to-keep: '{build-num-to-keep}'
126
127     parameters:
128       - project-parameter:
129           project: '{project}'
130       - gerrit-parameter:
131           branch: '{branch}'
132       - gerrit-refspec-parameter:
133           refspec: 'refs/heads/{branch}'
134
135     scm:
136       - gerrit-trigger-scm:
137           credentials-id: 'jenkins-gerrit-credentials'
138           refspec: '$GERRIT_REFSPEC'
139           branches:
140             - '$GERRIT_BRANCH'
141           choosing-strategy: 'gerrit'
142           submodule-recursive: true
143
144     wrappers:
145       - fdio-infra-wrappers:
146           build-timeout: '{build-timeout}'
147       - ssh-agent-credentials:
148           users:
149             - 'jenkins-gerrit-credentials'
150
151     triggers:
152       - timed: 'H H 1 * *'
153       - gerrit:
154           server-name: 'Primary'
155           trigger-on:
156             - patchset-created-event:
157                 exclude-drafts: 'true'
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: 'ci-management'
168               branches:
169                 - branch-compare-type: 'ANT'
170                   branch-pattern: '**/master'
171               file-paths:
172                 - compare-type: ANT
173                   pattern: packer/**
174
175     builders:
176       - packer-validate:
177
178     publishers:
179       - archive:
180           artifacts: 'packer/*.log'
181           allow-empty: 'true'
182           only-if-success: 'true'
183       - fdio-infra-shiplogs:
184           maven-version: 'mvn33-new'
185
186 - job-template:
187     name: 'ci-management-merge-packer-{platforms}-{templates}'
188     project-type: freestyle
189     node: ubuntu1604-basebuild-4c-4g
190     concurrent: true
191
192     properties:
193       - fdio-infra-properties:
194           build-days-to-keep: '{build-days-to-keep}'
195           build-num-to-keep: '{build-num-to-keep}'
196
197     parameters:
198       - project-parameter:
199           project: '{project}'
200       - gerrit-parameter:
201           branch: '{branch}'
202       - gerrit-refspec-parameter:
203           refspec: 'refs/heads/{branch}'
204
205     scm:
206       - gerrit-trigger-scm:
207           credentials-id: 'jenkins-gerrit-credentials'
208           refspec: '$GERRIT_REFSPEC'
209           branches:
210             - '$GERRIT_BRANCH'
211           choosing-strategy: 'default'
212           submodule-recursive: true
213
214     wrappers:
215       - fdio-infra-wrappers:
216           build-timeout: '{build-timeout}'
217       - ssh-agent-credentials:
218           users:
219             - 'jenkins-gerrit-credentials'
220
221     triggers:
222       - timed: 'H H 1 * *'
223       - gerrit:
224           server-name: 'Primary'
225           trigger-on:
226             - change-merged-event
227             - comment-added-contains-event:
228                 comment-contains-value: 'remerge'
229           projects:
230             - project-compare-type: 'ANT'
231               project-pattern: 'ci-management'
232               branches:
233                 - branch-compare-type: 'ANT'
234                   branch-pattern: '**/master'
235               file-paths:
236                 - compare-type: ANT
237                   pattern: 'packer/vars/{platforms}.json'
238                 - compare-type: ANT
239                   pattern: 'packer/templates/{templates}.json'
240                 - compare-type: ANT
241                   pattern: 'packer/provision/{templates}.sh'
242                 - compare-type: ANT
243                   pattern: 'packer/provision/system_reseal.sh'
244                 - compare-type: ANT
245                   pattern: 'packer/provision/rh-user_data.sh'
246                 - compare-type: ANT
247                   pattern: 'packer/provision/baseline.sh'
248
249     builders:
250       - packer-validate:
251       - packer-build:
252           platform: '{platforms}'
253           template: '{templates}'
254
255     publishers:
256       - archive:
257           artifacts: 'packer/*.log'
258           allow-empty: 'true'
259           only-if-success: 'true'
260       - fdio-infra-shiplogs:
261           maven-version: 'mvn33-new'