Merge changes I2b460025,I3c5c9f8b
[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       - ecomp-infra-properties:
38           build-days-to-keep: 14
39
40     parameters:
41       - ecomp-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       - ecomp-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 #       - ecomp-infra-shiplogs:
80 #           maven-version: 'mvn33'
81
82 - job-template:
83     name: '{project}-merge-jjb'
84
85     project-type: freestyle
86     node: '{build-node}'
87
88     properties:
89       - ecomp-infra-properties:
90           build-days-to-keep: 14
91
92     parameters:
93       - ecomp-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       - ecomp-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 #       - ecomp-infra-shiplogs:
130 #           maven-version: 'mvn33'
131
132 - job-template:
133     name: '{project}-verify-packer'
134     project-type: freestyle
135     node: '{build-node}'
136     concurrent: true
137
138     properties:
139       - ecomp-infra-properties:
140           build-days-to-keep: 14
141
142     parameters:
143       - ecomp-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       - ecomp-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 #       - ecomp-infra-shiplogs:
170 #           maven-version: 'mvn33'
171
172 - job-template:
173     name: '{project}-merge-packer-{platforms}-{templates}'
174     project-type: freestyle
175     node: '{build-node}'
176     concurrent: true
177
178     properties:
179       - ecomp-infra-properties:
180           build-days-to-keep: 14
181
182     parameters:
183       - ecomp-infra-parameters:
184           project: '{project}'
185           branch: 'master'
186           refspec: 'refs/heads/master'
187           artifacts: '{archive-artifacts}'
188
189     scm:
190       - gerrit-trigger-scm:
191           refspec: ''
192           choosing-strategy: 'default'
193
194     wrappers:
195       - ecomp-infra-wrappers:
196           build-timeout: '{build-timeout}'
197
198     triggers:
199       - gerrit-trigger-patch-merged:
200           server: '{server-name}'
201           project: '{project}'
202           branch: 'master'
203           files: 'packer/**'
204
205     builders:
206       - packer-validate
207       - packer-build:
208           platform: '{platforms}'
209           template: '{templates}'
210
211 #     publishers:
212 #       - ecomp-infra-shiplogs:
213 #           maven-version: 'mvn33'