Enable log shipping on more templates
[ci-management.git] / jjb / ci-management / ci-management.yaml
1 ---
2 - project:
3     name: ci-management-jobs
4     project: 'ci-management'
5     jobs:
6       - '{project}-verify-jjb'
7       - '{project}-merge-jjb'
8       - '{project}-verify-packer'
9       - '{project}-merge-packer-{platforms}-{templates}'
10
11     archive-artifacts: '**/*.log'
12     branch: 'master'
13     build-timeout: '60'
14     build-node: 'centos7-basebuild-2c-1g'
15
16     platforms:
17       - centos
18       - ubuntu-16.04
19
20     templates:
21       - basebuild
22       - docker
23
24     exclude:
25       # only build the docker image on ubuntu at present
26       - platforms: centos
27         templates: docker
28
29 - job-template:
30     name: '{project}-verify-jjb'
31
32     project-type: freestyle
33     node: '{build-node}'
34     concurrent: true
35
36     properties:
37       - infra-properties:
38           build-days-to-keep: 14
39
40     parameters:
41       - infra-parameters:
42           project: '{project}'
43           branch: 'master'
44           refspec: 'refs/heads/master'
45           artifacts: '{archive-artifacts}'
46
47     scm:
48       - gerrit-trigger-scm:
49           refspec: '$GERRIT_REFSPEC'
50           choosing-strategy: 'gerrit'
51
52     wrappers:
53       - infra-wrappers:
54           build-timeout: '{build-timeout}'
55
56     triggers:
57       - gerrit-trigger-patch-submitted:
58           server: '{server-name}'
59           project: '{project}'
60           branch: '{branch}'
61           files: 'jjb/**'
62
63     builders:
64       - config-file-provider:
65           files:
66             - file-id: 'jjbini'
67               variable: 'JJBINI'
68       - shell: |
69           virtualenv $WORKSPACE/venv
70           source $WORKSPACE/venv/bin/activate
71           pip install --upgrade pip
72           pip freeze
73           pip install jenkins-job-builder
74           jenkins-jobs -l DEBUG --conf $JJBINI test -o archives/job_output jjb/
75           gzip archives/job_output/*
76       - ci-management-check-unicode
77
78     publishers:
79       - infra-shiplogs:
80           maven-version: '{maven-version}'
81
82 - job-template:
83     name: '{project}-merge-jjb'
84
85     project-type: freestyle
86     node: '{build-node}'
87
88     properties:
89       - infra-properties:
90           build-days-to-keep: 14
91
92     parameters:
93       - infra-parameters:
94           project: '{project}'
95           branch: 'master'
96           refspec: 'refs/heads/master'
97           artifacts: '{archive-artifacts}'
98
99     scm:
100       - gerrit-trigger-scm:
101           refspec: ''
102           choosing-strategy: 'default'
103
104     wrappers:
105       - infra-wrappers:
106           build-timeout: '{build-timeout}'
107
108     triggers:
109       - gerrit-trigger-patch-merged:
110           server: '{server-name}'
111           project: '{project}'
112           branch: '{branch}'
113           files: 'jjb/**'
114
115     builders:
116       - config-file-provider:
117           files:
118             - file-id: 'jjbini'
119               variable: 'JJBINI'
120       - shell: |
121           virtualenv $WORKSPACE/venv
122           source $WORKSPACE/venv/bin/activate
123           pip install --upgrade pip
124           pip freeze
125           pip install jenkins-job-builder
126           jenkins-jobs --conf $JJBINI update --delete-old --workers 4 jjb/
127
128     publishers:
129       - infra-shiplogs:
130           maven-version: '{maven-version}'
131
132 - job-template:
133     name: '{project}-verify-packer'
134     project-type: freestyle
135     node: '{build-node}'
136     concurrent: true
137
138     properties:
139       - infra-properties:
140           build-days-to-keep: 14
141
142     parameters:
143       - infra-parameters:
144           project: '{project}'
145           branch: 'master'
146           refspec: 'refs/heads/master'
147           artifacts: '{archive-artifacts}'
148
149     scm:
150       - gerrit-trigger-scm:
151           refspec: '$GERRIT_REFSPEC'
152           choosing-strategy: 'gerrit'
153
154     wrappers:
155       - infra-wrappers:
156           build-timeout: '{build-timeout}'
157
158     triggers:
159       - gerrit-trigger-patch-submitted:
160           server: '{server-name}'
161           project: '{project}'
162           branch: 'master'
163           files: 'packer/**'
164
165     builders:
166       - packer-validate
167
168     publishers:
169       - infra-shiplogs:
170           maven-version: '{maven-version}'
171 - job-template:
172     name: '{project}-merge-packer-{platforms}-{templates}'
173     project-type: freestyle
174     node: '{build-node}'
175     concurrent: true
176
177     properties:
178       - infra-properties:
179           build-days-to-keep: 14
180
181     parameters:
182       - infra-parameters:
183           project: '{project}'
184           branch: 'master'
185           refspec: 'refs/heads/master'
186           artifacts: '{archive-artifacts}'
187
188     scm:
189       - gerrit-trigger-scm:
190           refspec: ''
191           choosing-strategy: 'default'
192
193     wrappers:
194       - infra-wrappers:
195           build-timeout: '{build-timeout}'
196
197     triggers:
198       - gerrit-trigger-patch-merged:
199           server: '{server-name}'
200           project: '{project}'
201           branch: 'master'
202           files: 'packer/**'
203
204     builders:
205       - packer-validate
206       - packer-build:
207           platform: '{platforms}'
208           template: '{templates}'
209
210     publishers:
211       - infra-shiplogs:
212           maven-version: '{maven-version}'