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