e4ea4b76737cdb3776db72978733e1bcdcf173bf
[infra/cicd.git] / jjb / metal3 / projects.yml
1 #
2 # ============LICENSE_START=======================================================
3 #  Copyright (C) 2019 Nordix Foundation.
4 # ================================================================================
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #      http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #
17 # SPDX-License-Identifier: Apache-2.0
18 # ============LICENSE_END=========================================================
19
20
21 # Description:
22 # ============
23 # This file contains the list of JJB projects in metal3 category. Each project
24 # corresponds to a github repository. Under each project's 'jobs' list defines the
25 # jobs associated with that github repository. The job definitions can be found
26 # in job_{job_id}.yml files in any of JJB include folders.
27
28 # NOTE: kubectl_sha256 needs to match the kubernetes_version_upgrade_to version in 1.5/main
29 # and it needs to match kubernetes_version_upgrade_from in 1.3/1.4
30
31 - project:
32     name: 'nordix_dev_tools'
33     branch: '${{ghprbActualCommit}}'
34     ci_github_whitelist_org:
35     - nordix-metal3
36     jobs:
37     - openstack_image_building
38     - openstack_node_image_building
39     - docker_image_building
40     - update_nordix_repos
41     - periodic_fullstack_building
42     - fullstack_building_test
43     - metal3_dev_tools_integration_test:
44         image_os:
45         - ubuntu
46         - centos
47     - artifact_cleanup
48     repo:
49       org: "Nordix"
50       name: "metal3-dev-tools"
51     ci_github_jenkins_credentials_id: 'nordix-metal3-ci-github-prod-token'
52     ci_ghprb_auth_id: '86c49704-5474-4524-97b7-805323b2c39a'
53     ci_github_repo: 'https://github.com/Nordix/metal3-dev-tools.git'
54
55 - project:
56     name: 'image_building'
57     jobs:
58     - ci_image_building
59
60 - project:
61     name: integration-tests
62     org: metal3-io
63     proj:
64     - metal3_dev_env:
65         repo: metal3-dev-env
66     - project_infra:
67         repo: project-infra
68         branch: '${{ghprbActualCommit}}'
69         ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
70     - capm3:
71         repo: cluster-api-provider-metal3
72     - bmo:
73         repo: baremetal-operator
74     - ipam:
75         repo: ip-address-manager
76     - ironic_image:
77         repo: ironic-image
78         name_postfix: '_ironic_from_source'
79         trigger_postfix: '-ironic-source'
80         ironic_install_type: 'source'
81         target_branches:
82         - 'main'
83         - 'release-23.1'
84         - 'release-24.0'
85         - 'release-24.1'
86     - ironic_image:
87         repo: ironic-image
88     - ironic_ipa_downloader:
89         repo: ironic-ipa-downloader
90     - mariadb_image:
91         repo: mariadb-image
92         build_mariadb_image_locally: 'true'
93         ironic_use_mariadb: 'true'
94     image_os:
95     - ubuntu
96     - centos
97     capm3_target_branch:
98     - main:
99         capi_version: v1beta1
100         capm3_version: v1beta1
101         capm3_release_branch: main
102         bmo_release_branch: main
103         target_branches:
104         - 'main'
105     - release-1-7:
106         capi_version: v1beta1
107         capm3_version: v1beta1
108         capm3_release_branch: release-1.7
109         bmo_release_branch: release-0.6
110         target_branches:
111         - 'main'
112         - 'release-1.7'
113         - 'release-0.6'
114     - release-1-6:
115         capi_version: v1beta1
116         capm3_version: v1beta1
117         capm3_release_branch: release-1.6
118         bmo_release_branch: release-0.5
119         target_branches:
120         - 'main'
121         - 'release-1.6'
122         - 'release-0.5'
123     - release-1-5:
124         capi_version: v1beta1
125         capm3_version: v1beta1
126         capm3_release_branch: release-1.5
127         bmo_release_branch: release-0.4
128         target_branches:
129         - 'main'
130         - 'release-1.5'
131         - 'release-0.4'
132     jobs:
133     - integration_tests
134
135 - project:
136     name: metal3-dev-env-main-tests
137     org: metal3-io
138     repo: metal3-dev-env
139     image_os:
140     - ubuntu
141     - centos
142     jobs:
143     - capm3_periodic_integration_tests:
144         capm3_target_branch:
145         - main:
146             capi_version: v1beta1
147             capm3_version: v1beta1
148             capm3_release_branch: main
149             bmo_release_branch: main
150             schedule: "H 4 * * *"
151         - release-1-7:
152             capi_version: v1beta1
153             capm3_version: v1beta1
154             capm3_release_branch: release-1.7
155             bmo_release_branch: release-0.6
156             schedule: "30 4 * * *"
157         - release-1-6:
158             capi_version: v1beta1
159             capm3_version: v1beta1
160             capm3_release_branch: release-1.6
161             bmo_release_branch: release-0.5
162             schedule: "30 4 * * *"
163         - release-1-5:
164             capi_version: v1beta1
165             capm3_version: v1beta1
166             capm3_release_branch: release-1.5
167             bmo_release_branch: release-0.4
168             schedule: "30 4 * * *"
169
170 - project:
171     name: bml-tests
172     org: metal3-io
173     image_os: centos
174     jobs:
175     - bml_integration_tests:
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     - bml_periodic_integration_tests:
184         repo: metal3-dev-env
185
186 - project:
187     name: 'project_infra_cleanup'
188     ci_github_pipeline: 'jenkins/jobs/integration_tests_clean.pipeline'
189     jobs:
190     - periodic_clean
191
192 - project:
193     name: 'project_infra'
194     repo:
195       org: "metal3-io"
196       name: "project-infra"
197     jobs:
198     - fullstack_project-infra_building_test
199
200 - project:
201     name: "capm3-prow"
202     image_os:
203     - ubuntu
204     - centos
205     jobs:
206     - capm3_e2e_integration_tests_prow:
207         capm3_target_branch:
208         - main:
209             capi_version: v1beta1
210             capm3_version: v1beta1
211             capm3_release_branch: main
212             bmo_release_branch: main
213         - release-1-7:
214             capi_version: v1beta1
215             capm3_version: v1beta1
216             capm3_release_branch: release-1.7
217             bmo_release_branch: release-0.6
218         - release-1-6:
219             capi_version: v1beta1
220             capm3_version: v1beta1
221             capm3_release_branch: release-1.6
222             bmo_release_branch: release-0.5
223         - release-1-5:
224             capi_version: v1beta1
225             capm3_version: v1beta1
226             capm3_release_branch: release-1.5
227             bmo_release_branch: release-0.4
228     - capm3_periodic_e2e_integration_tests_prow:
229         capm3_target_branch:
230         - main:
231             capi_version: v1beta1
232             capm3_version: v1beta1
233             capm3_release_branch: main
234             bmo_release_branch: main
235             schedule: "H 4 * * *"
236         - release-1-7:
237             capi_version: v1beta1
238             capm3_version: v1beta1
239             capm3_release_branch: release-1.7
240             bmo_release_branch: release-0.6
241             schedule: "30 4 * * *"
242         - release-1-6:
243             capi_version: v1beta1
244             capm3_version: v1beta1
245             capm3_release_branch: release-1.6
246             bmo_release_branch: release-0.5
247             schedule: "30 4 * * *"
248     - capm3_e2e_feature_tests_prow:
249         capm3_target_branch:
250         - main:
251             capi_version: v1beta1
252             capm3_version: v1beta1
253             capm3_release_branch: main
254             bmo_release_branch: main
255         - release-1-7:
256             capi_version: v1beta1
257             capm3_version: v1beta1
258             capm3_release_branch: release-1.7
259             bmo_release_branch: release-0.6
260         - release-1-6:
261             capi_version: v1beta1
262             capm3_version: v1beta1
263             capm3_release_branch: release-1.6
264             bmo_release_branch: release-0.5
265         - release-1-5:
266             capi_version: v1beta1
267             capm3_version: v1beta1
268             capm3_release_branch: release-1.5
269             bmo_release_branch: release-0.4
270     - capm3_periodic_e2e_feature_tests_prow:
271         capm3_target_branch:
272         - main:
273             capi_version: v1beta1
274             capm3_version: v1beta1
275             capm3_release_branch: main
276             bmo_release_branch: main
277             schedule: "H 2 * * *"
278         - release-1-7:
279             capi_version: v1beta1
280             capm3_version: v1beta1
281             capm3_release_branch: release-1.7
282             bmo_release_branch: release-0.6
283             schedule: "H 2 * * *"
284         - release-1-6:
285             capi_version: v1beta1
286             capm3_version: v1beta1
287             capm3_release_branch: release-1.6
288             bmo_release_branch: release-0.5
289             schedule: "H 8 * * *"
290         - release-1-5:
291             capi_version: v1beta1
292             capm3_version: v1beta1
293             capm3_release_branch: release-1.5
294             bmo_release_branch: release-0.4
295             schedule: "H 11 * * *"
296         - release-1-4:
297             capi_version: v1beta1
298             capm3_version: v1beta1
299             capm3_release_branch: release-1.4
300             bmo_release_branch: release-0.3
301             schedule: "H 5 * * *"
302     - capm3_e2e_clusterctl_upgrade_tests_prow:
303         capm3_target_branch:
304         - main:
305             capm3_release_branch: main
306             bmo_release_branch: main
307         - release-1-7:
308             capm3_release_branch: release-1.7
309             bmo_release_branch: release-0.6
310         - release-1-6:
311             capm3_release_branch: release-1.6
312             bmo_release_branch: release-0.5
313         - release-1-5:
314             capm3_release_branch: release-1.5
315             bmo_release_branch: release-0.4
316         exclude:
317         - image_os: centos
318     - capm3_e2e_k8s_upgrade_tests_prow:
319         k8s_versions:
320         - 1-28-1-29:
321             k8s_version_upgrade_from: v1.28.1
322             k8s_version_upgrade_to: v1.29.0
323             kubectl_sha256: 0e03ab096163f61ab610b33f37f55709d3af8e16e4dcc1eb682882ef80f96fd5 # v1.29.0
324             capm3_release_branch: main
325             bmo_release_branch: main
326             capm3_target_branch: main
327         - 1-27-1-28:
328             k8s_version_upgrade_from: v1.27.4
329             k8s_version_upgrade_to: v1.28.1
330             kubectl_sha256: e7a7d6f9d06fab38b4128785aa80f65c54f6675a0d2abef655259ddd852274e1 # v1.28.1
331             capm3_release_branch: main
332             bmo_release_branch: main
333             capm3_target_branch: main
334         - 1-26-1-27:
335             k8s_version_upgrade_from: v1.26.4
336             k8s_version_upgrade_to: v1.27.4
337             kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f # v1.27.4
338             capm3_release_branch: main
339             capm3_target_branch: main
340             bmo_release_branch: main
341         - 1-28-1-29:
342             k8s_version_upgrade_from: v1.28.1
343             k8s_version_upgrade_to: v1.29.0
344             kubectl_sha256: 0e03ab096163f61ab610b33f37f55709d3af8e16e4dcc1eb682882ef80f96fd5 # v1.29.0
345             capm3_release_branch: release-1.7
346             bmo_release_branch: release-0.6
347             capm3_target_branch: release-1-7
348         - 1-28-1-29:
349             k8s_version_upgrade_from: v1.28.1
350             k8s_version_upgrade_to: v1.29.0
351             kubectl_sha256: 0e03ab096163f61ab610b33f37f55709d3af8e16e4dcc1eb682882ef80f96fd5 # v1.29.0
352             capm3_release_branch: release-1.6
353             bmo_release_branch: release-0.5
354             capm3_target_branch: release-1-6
355         - 1-26-1-27:
356             k8s_version_upgrade_from: v1.26.4
357             k8s_version_upgrade_to: v1.27.4
358             kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f # v1.27.4
359             capm3_release_branch: release-1.5
360             bmo_release_branch: release-0.4
361             capm3_target_branch: release-1-5
362         exclude:
363         - image_os: centos
364     - capm3_periodic_e2e_clusterctl_upgrade_tests_prow:
365         capm3_target_branch:
366         - main:
367             capm3_release_branch: main
368             bmo_release_branch: main
369         - release-1-7:
370             capm3_release_branch: release-1.7
371             bmo_release_branch: release-0.6
372         - release-1-6:
373             capm3_release_branch: release-1.6
374             bmo_release_branch: release-0.5
375         - release-1-5:
376             capm3_release_branch: release-1.5
377             bmo_release_branch: release-0.4
378         exclude:
379         - image_os: centos
380     - capm3_periodic_e2e_k8s_upgrade_tests_prow:
381         k8s_versions:
382         - 1-28-1-29:
383             k8s_version_upgrade_from: v1.28.1
384             k8s_version_upgrade_to: v1.29.0
385             kubectl_sha256: 0e03ab096163f61ab610b33f37f55709d3af8e16e4dcc1eb682882ef80f96fd5 # v1.29.0
386             capm3_release_branch: main
387             bmo_release_branch: main
388             capm3_target_branch: main
389         - 1-27-1-28:
390             k8s_version_upgrade_from: v1.27.4
391             k8s_version_upgrade_to: v1.28.1
392             kubectl_sha256: e7a7d6f9d06fab38b4128785aa80f65c54f6675a0d2abef655259ddd852274e1 # v1.28.1
393             capm3_release_branch: main
394             bmo_release_branch: main
395             capm3_target_branch: main
396         - 1-26-1-27:
397             k8s_version_upgrade_from: v1.26.4
398             k8s_version_upgrade_to: v1.27.4
399             kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f # v1.27.4
400             capm3_release_branch: main
401             bmo_release_branch: main
402             capm3_target_branch: main
403         - 1-28-1-29:
404             k8s_version_upgrade_from: v1.28.1
405             k8s_version_upgrade_to: v1.29.0
406             kubectl_sha256: 0e03ab096163f61ab610b33f37f55709d3af8e16e4dcc1eb682882ef80f96fd5 # v1.29.0
407             capm3_release_branch: release-1.7
408             bmo_release_branch: release-0.6
409             capm3_target_branch: release-1-7
410         - 1-28-1-29:
411             k8s_version_upgrade_from: v1.28.1
412             k8s_version_upgrade_to: v1.29.0
413             kubectl_sha256: 0e03ab096163f61ab610b33f37f55709d3af8e16e4dcc1eb682882ef80f96fd5 # v1.29.0
414             capm3_release_branch: release-1.6
415             bmo_release_branch: release-0.5
416             capm3_target_branch: release-1-6
417         - 1-26-1-27:
418             k8s_version_upgrade_from: v1.26.4
419             k8s_version_upgrade_to: v1.27.4
420             kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f # v1.27.4
421             capm3_release_branch: release-1.5
422             bmo_release_branch: release-0.4
423             capm3_target_branch: release-1-5
424         exclude:
425         - image_os: centos
426 - project:
427     name: "capm3-periodic-tests"
428     repo:
429       org: "metal3-io"
430       name: "cluster-api-provider-metal3"
431     image_os:
432     - ubuntu
433     - centos
434     jobs:
435     - capm3_periodic_e2e_ephemeral_tests:
436         exclude:
437         - image_os: ubuntu
438
439 - project:
440     name: 'ironic_image_build_tests'
441     org: metal3-io
442     proj:
443     - project_infra:
444         repo: project-infra
445         branch: '${{ghprbActualCommit}}'
446         ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
447     - ironic_image:
448         repo: ironic-image
449     jobs:
450     - ironic_image_build_tests
451
452 - project:
453     name: 'container_image_build'
454     org: metal3-io
455     image_name:
456     - baremetal-operator:
457         repo: https://github.com/metal3-io/baremetal-operator.git
458         dockerfile_location: /
459     - cluster-api-provider-metal3:
460         repo: https://github.com/metal3-io/cluster-api-provider-metal3.git
461         dockerfile_location: /
462     - ip-address-manager:
463         repo: https://github.com/metal3-io/ip-address-manager.git
464         dockerfile_location: /
465     - ipxe-builder:
466         repo: https://github.com/metal3-io/utility-images.git
467         dockerfile_location: /ipxe-builder/
468     - ironic:
469         repo: https://github.com/metal3-io/ironic-image.git
470         dockerfile_location: /
471     - ironic-client:
472         repo: https://github.com/metal3-io/ironic-client.git
473         dockerfile_location: /
474     - ironic-ipa-downloader:
475         repo: https://github.com/metal3-io/ironic-ipa-downloader.git
476         dockerfile_location: /
477     - keepalived:
478         repo: https://github.com/metal3-io/baremetal-operator.git
479         dockerfile_location: /resources/keepalived-docker/
480     - mariadb:
481         repo: https://github.com/metal3-io/mariadb-image.git
482         dockerfile_location: /
483     - sushy-tools:
484         repo: https://github.com/metal3-io/ironic-image.git
485         dockerfile_location: /resources/sushy-tools/
486     - vbmc:
487         repo: https://github.com/metal3-io/ironic-image.git
488         dockerfile_location: /resources/vbmc/
489     jobs:
490     - container_image_building
491     ci_github_jenkins_credentials_id: 'nordix-metal3-ci-github-prod-token'
492     ci_ghprb_auth_id: '86c49704-5474-4524-97b7-805323b2c39a'
493     ci_github_repo: 'https://github.com/Nordix/metal3-dev-tools.git'
494
495 - project:
496     name: dev-env-integration-tests-prow
497     org: metal3-io
498     proj:
499     - metal3_dev_env:
500         repo: metal3-dev-env
501     - project_infra:
502         repo: project-infra
503     - capm3:
504         repo: cluster-api-provider-metal3
505     - bmo:
506         repo: baremetal-operator
507     - ipam:
508         repo: ip-address-manager
509     - ironic_image:
510         repo: ironic-image
511         name_postfix: '_ironic_from_source'
512         trigger_postfix: '-ironic-source'
513         ironic_install_type: 'source'
514     - ironic_ipa_downloader:
515         repo: ironic-ipa-downloader
516     - mariadb_image:
517         repo: mariadb-image
518         build_mariadb_image_locally: 'true'
519         ironic_use_mariadb: 'true'
520     image_os:
521     - ubuntu
522     - centos
523     jobs:
524     - dev_env_integration_tests_prow:
525         capm3_target_branch:
526         - main:
527             capi_version: v1beta1
528             capm3_version: v1beta1
529             capm3_release_branch: main
530             bmo_release_branch: main
531             target_branches:
532             - 'main'
533         - release-1-7:
534             capi_version: v1beta1
535             capm3_version: v1beta1
536             capm3_release_branch: release-1.7
537             bmo_release_branch: release-0.6
538             target_branches:
539             - 'main'
540             - 'release-1.7'
541             - 'release-0.6'
542         - release-1-6:
543             capi_version: v1beta1
544             capm3_version: v1beta1
545             capm3_release_branch: release-1.6
546             bmo_release_branch: release-0.5
547             target_branches:
548             - 'main'
549             - 'release-1.6'
550             - 'release-0.5'
551         - release-1-5:
552             capi_version: v1beta1
553             capm3_version: v1beta1
554             capm3_release_branch: release-1.5
555             bmo_release_branch: release-0.4
556             target_branches:
557             - 'main'
558             - 'release-1.5'
559             - 'release-0.4'
560         - release-1-4:
561             capi_version: v1beta1
562             capm3_version: v1beta1
563             capm3_release_branch: release-1.4
564             bmo_release_branch: release-0.3
565             target_branches:
566             - 'main'
567             - 'release-1.4'
568             - 'release-0.3'
569     - dev_env_periodic_integration_tests_prow:
570         capm3_target_branch:
571         - main:
572             capi_version: v1beta1
573             capm3_version: v1beta1
574             capm3_release_branch: main
575             bmo_release_branch: main
576             schedule: "H 4 * * *"
577         - release-1-6:
578             capi_version: v1beta1
579             capm3_version: v1beta1
580             capm3_release_branch: release-1.6
581             bmo_release_branch: release-0.5
582             schedule: "30 4 * * *"