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