Merge "upgrade paramterizing follow up"
[infra/cicd.git] / jjb / metal3 / projects.yml
1 ---
2 #
3 # ============LICENSE_START=======================================================
4 #  Copyright (C) 2019 Nordix Foundation.
5 # ================================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #      http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 #
18 # SPDX-License-Identifier: Apache-2.0
19 # ============LICENSE_END=========================================================
20
21
22 # Description:
23 # ============
24 # This file contains the list of JJB projects in metal3 category. Each project
25 # corresponds to a github repository. Under each project's 'jobs' list defines the
26 # jobs associated with that github repository. The job definitions can be found
27 # in job_{job_id}.yml files in any of JJB include folders.
28
29 - project:
30     name: 'nordix_dev_tools'
31     branch: '${{ghprbActualCommit}}'
32     ci_github_whitelist_org:
33     - nordix-metal3
34     jobs:
35     - linter_tests
36     - openstack_image_building
37     - docker_image_building
38     - update_nordix_repos
39     - openstack_node_image_building
40     - main_fullstack_building
41     - fullstack_building_test
42     - metal3_dev_tools_integration_test:
43         image_os:
44           - ubuntu
45           - centos
46     - artifact_cleanup
47     repo:
48       org: "Nordix"
49       name: "metal3-dev-tools"
50     ci_github_jenkins_credentials_id: 'nordix-metal3-ci-github-prod-token'
51     ci_ghprb_auth_id: 'e8a43847-46ff-42db-a5db-7366df0e4ee2'
52     ci_github_repo: 'https://github.com/Nordix/metal3-dev-tools.git'
53
54 - project:
55     name: integration-tests
56     org: metal3-io
57     proj:
58       - metal3_dev_env:
59           repo: metal3-dev-env
60       - project_infra:
61           repo: project-infra
62           branch: '${{ghprbActualCommit}}'
63           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
64       - capm3:
65           repo: cluster-api-provider-metal3
66       - bmo:
67           repo: baremetal-operator
68       - ipam:
69           repo: ip-address-manager
70       - ironic_image:
71           repo: ironic-image
72           name_postfix: '_ironic_from_source'
73           trigger_postfix: '-ironic-source'
74           ironic_install_type: 'source'
75       - ironic_image:
76           repo: ironic-image
77       - ironic_ipa_downloader:
78           repo: ironic-ipa-downloader
79       - mariadb_image:
80           repo: mariadb-image
81           build_mariadb_image_locally: 'true'
82           ironic_use_mariadb: 'true'
83     image_os:
84       - ubuntu
85       - centos
86     capm3_target_branch:
87       - main:
88           capi_version: v1beta1
89           capm3_version: v1beta1
90           capm3_release_branch: main
91           target_branches:
92             - 'main'
93       - release-1-3:
94           capi_version: v1beta1
95           capm3_version: v1beta1
96           capm3_release_branch: release-1.3
97           target_branches:
98             - 'main'
99             - 'release-1.3'
100       - release-1-2:
101           capi_version: v1beta1
102           capm3_version: v1beta1
103           capm3_release_branch: release-1.2
104           target_branches:
105             - 'main'
106             - 'release-1.2'
107       - release-1-1:
108           capi_version: v1beta1
109           capm3_version: v1beta1
110           capm3_release_branch: release-1.1
111           target_branches:
112             - 'main'
113             - 'release-1.1'
114     exclude:
115       - proj: ironic_ipa_downloader
116         image_os: centos
117         capm3_target_branch: release-1-1
118     jobs:
119       - integration_tests
120
121 - project:
122     name: keep-integration-tests-alive
123     org: metal3-io
124     proj:
125       - metal3_dev_env:
126           repo: metal3-dev-env
127       - project_infra:
128           repo: project-infra
129           branch: '${{ghprbActualCommit}}'
130           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
131       - capm3:
132           repo: cluster-api-provider-metal3
133       - bmo:
134           repo: baremetal-operator
135       - ipam:
136           repo: ip-address-manager
137       - ironic_image:
138           repo: ironic-image
139     image_os:
140       - ubuntu
141       - centos
142     capm3_target_branch:
143       - main:
144           capi_version: v1beta1
145           capm3_version: v1beta1
146           capm3_release_branch: main
147           target_branches:
148             - 'main'
149       - release-1-3:
150           capi_version: v1beta1
151           capm3_version: v1beta1
152           capm3_release_branch: release-1.3
153           target_branches:
154             - 'main'
155             - 'release-1.3'
156       - release-1-2:
157           capi_version: v1beta1
158           capm3_version: v1beta1
159           capm3_release_branch: release-1.2
160           target_branches:
161             - 'main'
162             - 'release-1.2'
163       - release-1-1:
164           capi_version: v1beta1
165           capm3_version: v1beta1
166           capm3_release_branch: release-1.1
167           target_branches:
168             - 'main'
169             - 'release-1.1'
170     jobs:
171       - keep_integration_tests
172
173 - project:
174     name: feature-tests
175     org: metal3-io
176     proj:
177       - metal3_dev_env:
178           repo: metal3-dev-env
179       - project_infra:
180           repo: project-infra
181           branch: '${{ghprbActualCommit}}'
182           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
183       - bmo:
184           repo: baremetal-operator
185     image_os:
186       - ubuntu
187       - centos
188     exclude:
189       - proj: bmo
190         image_os: centos
191     jobs:
192       - feature_tests
193
194 - project:
195     name: metal3-dev-env-main-tests
196     org: metal3-io
197     repo: metal3-dev-env
198     image_os:
199       - ubuntu
200       - centos
201     jobs:
202       - main_feature_tests
203       - capm3_main_integration_tests:
204           capm3_target_branch:
205             - main:
206                 capi_version: v1beta1
207                 capm3_version: v1beta1
208                 capm3_release_branch: main
209                 schedule: "H 4 * * *"
210             - release-1-3:
211                 capi_version: v1beta1
212                 capm3_version: v1beta1
213                 capm3_release_branch: release-1.3
214                 schedule: "30 4 * * *"
215             - release-1-2:
216                 capi_version: v1beta1
217                 capm3_version: v1beta1
218                 capm3_release_branch: release-1.2
219                 schedule: "30 4 * * *"
220             - release-1-1:
221                 capi_version: v1beta1
222                 capm3_version: v1beta1
223                 capm3_release_branch: release-1.1
224                 schedule: "30 4 * * *"
225
226 - project:
227     name: bml-tests
228     org: metal3-io
229     image_os: centos
230     jobs:
231       - bml_integration_tests:
232           proj:
233             - metal3_dev_env:
234                 repo: metal3-dev-env
235             - project_infra:
236                 repo: project-infra
237                 branch: '${{ghprbActualCommit}}'
238                 ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
239       - bml_main_integration_tests:
240           repo: metal3-dev-env
241
242 - project:
243     name: 'project_infra_cleanup'
244     repo:
245       org: "metal3-io"
246       name: "project-infra"
247     ci_github_pipeline: 'jenkins/jobs/integration_tests_clean.pipeline'
248     jobs:
249     - main_clean
250
251 - project:
252     name: "capm3"
253     org: metal3-io
254     proj:
255       - capm3:
256           repo: cluster-api-provider-metal3
257       - metal3_dev_env:
258           repo: metal3-dev-env
259       - project_infra:
260           repo: project-infra
261           branch: '${{ghprbActualCommit}}'
262           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
263       - bmo:
264           repo: baremetal-operator
265       - ipam:
266           repo: ip-address-manager
267     image_os:
268       - ubuntu
269       - centos
270     capm3_target_branch:
271       - main:
272           capi_version: v1beta1
273           capm3_version: v1beta1
274           capm3_release_branch: main
275           target_branches:
276             - 'main'
277       - release-1-3:
278           capi_version: v1beta1
279           capm3_version: v1beta1
280           capm3_release_branch: release-1.3
281           target_branches:
282             - 'release-1.3'
283       - release-1-2:
284           capi_version: v1beta1
285           capm3_version: v1beta1
286           capm3_release_branch: release-1.2
287           target_branches:
288             - 'release-1.2'
289       - release-1-1:
290           capi_version: v1beta1
291           capm3_version: v1beta1
292           capm3_release_branch: release-1.1
293           target_branches:
294             - 'release-1.1'
295     jobs:
296       - capm3_e2e_upgrade_tests:
297           upgrade_from_release:
298             - from-release-1-1:
299                 upgrade_from: v1.1.
300             - from-release-0-5:
301                 upgrade_from: v0.5.
302           exclude:
303             - image_os: centos
304       - capm3_e2e_integration_tests:
305       - parallel_capm3_e2e_feature_tests:
306       - capm3_e2e_feature_tests:
307       - keep_capm3_e2e_integration_tests:
308       - keep_capm3_e2e_feature_tests:
309       - keep_capm3_e2e_upgrade_tests:
310           exclude:
311             - image_os: centos
312
313 - project:
314     name: "capm3-main-tests"
315     repo:
316       org: "metal3-io"
317       name: "cluster-api-provider-metal3"
318     image_os:
319       - ubuntu
320       - centos
321     jobs:
322       - capm3_main_e2e_upgrade_tests:
323           upgrade_from_release:
324             - from-release-1-1:
325                 upgrade_from: v1.1.
326             - from-release-0-5:
327                 upgrade_from: v0.5.
328           exclude:
329             - image_os: centos
330       - capm3_main_e2e_ephemeral_tests:
331           exclude:
332             - image_os: ubuntu
333       - capm3_main_e2e_integration_tests:
334       - capm3_main_e2e_feature_tests:
335           capm3_target_branch:
336             - main:
337                 capi_version: v1beta1
338                 capm3_version: v1beta1
339                 capm3_branch: main
340                 capm3_release_branch: main
341                 schedule: "H 20 * * *"
342             - release-1-3:
343                 capi_version: v1beta1
344                 capm3_version: v1beta1
345                 capm3_branch: release-1.3
346                 capm3_release_branch: release-1.3
347                 schedule: "H 23 * * *"
348             - release-1-2:
349                 capi_version: v1beta1
350                 capm3_version: v1beta1
351                 capm3_branch: release-1.2
352                 capm3_release_branch: release-1.2
353                 schedule: "H 23 * * *"
354             - release-1-1:
355                 capi_version: v1beta1
356                 capm3_version: v1beta1
357                 capm3_branch: release-1.1
358                 capm3_release_branch: release-1.1
359                 schedule: "H 23 * * *"
360
361 - project:
362     name: 'ironic_image_build_tests'
363     org: metal3-io
364     proj:
365       - project_infra:
366           repo: project-infra
367           branch: '${{ghprbActualCommit}}'
368           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
369       - ironic_image:
370           repo: ironic-image
371     jobs:
372       - ironic_image_build_tests