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