f935b1ee3a656931c020cbeeb1b03f21e875183b
[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-6:
106         capi_version: v1beta1
107         capm3_version: v1beta1
108         capm3_release_branch: release-1.6
109         bmo_release_branch: release-0.5
110         target_branches:
111         - 'main'
112         - 'release-1.6'
113         - 'release-0.5'
114     - release-1-5:
115         capi_version: v1beta1
116         capm3_version: v1beta1
117         capm3_release_branch: release-1.5
118         bmo_release_branch: release-0.4
119         target_branches:
120         - 'main'
121         - 'release-1.5'
122         - 'release-0.4'
123     - release-1-4:
124         capi_version: v1beta1
125         capm3_version: v1beta1
126         capm3_release_branch: release-1.4
127         bmo_release_branch: release-0.3
128         target_branches:
129         - 'main'
130         - 'release-1.4'
131         - 'release-0.3'
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-6:
152             capi_version: v1beta1
153             capm3_version: v1beta1
154             capm3_release_branch: release-1.6
155             bmo_release_branch: release-0.5
156             schedule: "30 4 * * *"
157         - release-1-5:
158             capi_version: v1beta1
159             capm3_version: v1beta1
160             capm3_release_branch: release-1.5
161             bmo_release_branch: release-0.4
162             schedule: "30 4 * * *"
163         - release-1-4:
164             capi_version: v1beta1
165             capm3_version: v1beta1
166             capm3_release_branch: release-1.4
167             bmo_release_branch: release-0.3
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-6:
214             capi_version: v1beta1
215             capm3_version: v1beta1
216             capm3_release_branch: release-1.6
217             bmo_release_branch: release-0.5
218         - release-1-5:
219             capi_version: v1beta1
220             capm3_version: v1beta1
221             capm3_release_branch: release-1.5
222             bmo_release_branch: release-0.4
223         - release-1-4:
224             capi_version: v1beta1
225             capm3_version: v1beta1
226             capm3_release_branch: release-1.4
227             bmo_release_branch: release-0.3
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-6:
237             capi_version: v1beta1
238             capm3_version: v1beta1
239             capm3_release_branch: release-1.6
240             bmo_release_branch: release-0.5
241             schedule: "30 4 * * *"
242     - capm3_e2e_feature_tests_prow:
243         capm3_target_branch:
244         - main:
245             capi_version: v1beta1
246             capm3_version: v1beta1
247             capm3_release_branch: main
248             bmo_release_branch: main
249         - release-1-6:
250             capi_version: v1beta1
251             capm3_version: v1beta1
252             capm3_release_branch: release-1.6
253             bmo_release_branch: release-0.5
254         - release-1-5:
255             capi_version: v1beta1
256             capm3_version: v1beta1
257             capm3_release_branch: release-1.5
258             bmo_release_branch: release-0.4
259         - release-1-4:
260             capi_version: v1beta1
261             capm3_version: v1beta1
262             capm3_release_branch: release-1.4
263             bmo_release_branch: release-0.3
264     - capm3_periodic_e2e_feature_tests_prow:
265         capm3_target_branch:
266         - main:
267             capi_version: v1beta1
268             capm3_version: v1beta1
269             capm3_release_branch: main
270             bmo_release_branch: main
271             schedule: "H 2 * * *"
272         - release-1-6:
273             capi_version: v1beta1
274             capm3_version: v1beta1
275             capm3_release_branch: release-1.6
276             bmo_release_branch: release-0.5
277             schedule: "H 8 * * *"
278         - release-1-5:
279             capi_version: v1beta1
280             capm3_version: v1beta1
281             capm3_release_branch: release-1.5
282             bmo_release_branch: release-0.4
283             schedule: "H 11 * * *"
284         - release-1-4:
285             capi_version: v1beta1
286             capm3_version: v1beta1
287             capm3_release_branch: release-1.4
288             bmo_release_branch: release-0.3
289             schedule: "H 5 * * *"
290     - capm3_e2e_clusterctl_upgrade_tests_prow:
291         capm3_target_branch:
292         - main:
293             capm3_release_branch: main
294             bmo_release_branch: main
295         - release-1-6:
296             capm3_release_branch: release-1.6
297             bmo_release_branch: release-0.5
298         - release-1-5:
299             capm3_release_branch: release-1.5
300             bmo_release_branch: release-0.4
301         - release-1-4:
302             capm3_release_branch: release-1.4
303             bmo_release_branch: release-0.3
304         exclude:
305         - image_os: centos
306     - capm3_e2e_k8s_upgrade_tests_prow:
307         k8s_versions:
308         - 1-28-1-29:
309             k8s_version_upgrade_from: v1.28.1
310             k8s_version_upgrade_to: v1.29.0
311             kubectl_sha256: 0e03ab096163f61ab610b33f37f55709d3af8e16e4dcc1eb682882ef80f96fd5 # v1.29.0
312             capm3_release_branch: main
313             bmo_release_branch: main
314             capm3_target_branch: main
315         - 1-27-1-28:
316             k8s_version_upgrade_from: v1.27.4
317             k8s_version_upgrade_to: v1.28.1
318             kubectl_sha256: e7a7d6f9d06fab38b4128785aa80f65c54f6675a0d2abef655259ddd852274e1 # v1.28.1
319             capm3_release_branch: main
320             bmo_release_branch: main
321             capm3_target_branch: main
322         - 1-26-1-27:
323             k8s_version_upgrade_from: v1.26.4
324             k8s_version_upgrade_to: v1.27.4
325             kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f # v1.27.4
326             capm3_release_branch: main
327             capm3_target_branch: main
328             bmo_release_branch: main
329         - 1-28-1-29:
330             k8s_version_upgrade_from: v1.28.1
331             k8s_version_upgrade_to: v1.29.0
332             kubectl_sha256: 0e03ab096163f61ab610b33f37f55709d3af8e16e4dcc1eb682882ef80f96fd5 # v1.29.0
333             capm3_release_branch: release-1.6
334             bmo_release_branch: release-0.5
335             capm3_target_branch: release-1-6
336         - 1-26-1-27:
337             k8s_version_upgrade_from: v1.26.4
338             k8s_version_upgrade_to: v1.27.4
339             kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f # v1.27.4
340             capm3_release_branch: release-1.5
341             bmo_release_branch: release-0.4
342             capm3_target_branch: release-1-5
343         - 1-26-1-27:
344             k8s_version_upgrade_from: v1.26.4
345             kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d # v1.26.4
346             k8s_version_upgrade_to: v1.27.4
347             capm3_release_branch: release-1.4
348             bmo_release_branch: release-0.3
349             capm3_target_branch: release-1-4
350         exclude:
351         - image_os: centos
352     - capm3_periodic_e2e_clusterctl_upgrade_tests_prow:
353         capm3_target_branch:
354         - main:
355             capm3_release_branch: main
356             bmo_release_branch: main
357         - release-1-6:
358             capm3_release_branch: release-1.6
359             bmo_release_branch: release-0.5
360         - release-1-5:
361             capm3_release_branch: release-1.5
362             bmo_release_branch: release-0.4
363         - release-1-4:
364             capm3_release_branch: release-1.4
365             bmo_release_branch: release-0.3
366         exclude:
367         - image_os: centos
368     - capm3_periodic_e2e_k8s_upgrade_tests_prow:
369         k8s_versions:
370         - 1-28-1-29:
371             k8s_version_upgrade_from: v1.28.1
372             k8s_version_upgrade_to: v1.29.0
373             kubectl_sha256: 0e03ab096163f61ab610b33f37f55709d3af8e16e4dcc1eb682882ef80f96fd5 # v1.29.0
374             capm3_release_branch: main
375             bmo_release_branch: main
376             capm3_target_branch: main
377         - 1-27-1-28:
378             k8s_version_upgrade_from: v1.27.4
379             k8s_version_upgrade_to: v1.28.1
380             kubectl_sha256: e7a7d6f9d06fab38b4128785aa80f65c54f6675a0d2abef655259ddd852274e1 # v1.28.1
381             capm3_release_branch: main
382             bmo_release_branch: main
383             capm3_target_branch: main
384         - 1-26-1-27:
385             k8s_version_upgrade_from: v1.26.4
386             k8s_version_upgrade_to: v1.27.4
387             kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f # v1.27.4
388             capm3_release_branch: main
389             bmo_release_branch: main
390             capm3_target_branch: main
391         - 1-28-1-29:
392             k8s_version_upgrade_from: v1.28.1
393             k8s_version_upgrade_to: v1.29.0
394             kubectl_sha256: 0e03ab096163f61ab610b33f37f55709d3af8e16e4dcc1eb682882ef80f96fd5 # v1.29.0
395             capm3_release_branch: release-1.6
396             bmo_release_branch: release-0.5
397             capm3_target_branch: release-1-6
398         - 1-26-1-27:
399             k8s_version_upgrade_from: v1.26.4
400             k8s_version_upgrade_to: v1.27.4
401             kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f # v1.27.4
402             capm3_release_branch: release-1.5
403             bmo_release_branch: release-0.4
404             capm3_target_branch: release-1-5
405         - 1-26-1-27:
406             k8s_version_upgrade_from: v1.26.4
407             kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d # v1.26.4
408             k8s_version_upgrade_to: v1.27.4
409             capm3_release_branch: release-1.4
410             bmo_release_branch: release-0.3
411             capm3_target_branch: release-1-4
412         exclude:
413         - image_os: centos
414 - project:
415     name: "capm3-periodic-tests"
416     repo:
417       org: "metal3-io"
418       name: "cluster-api-provider-metal3"
419     image_os:
420     - ubuntu
421     - centos
422     jobs:
423     - capm3_periodic_e2e_ephemeral_tests:
424         exclude:
425         - image_os: ubuntu
426
427 - project:
428     name: 'ironic_image_build_tests'
429     org: metal3-io
430     proj:
431     - project_infra:
432         repo: project-infra
433         branch: '${{ghprbActualCommit}}'
434         ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
435     - ironic_image:
436         repo: ironic-image
437     jobs:
438     - ironic_image_build_tests
439
440 - project:
441     name: 'container_image_build'
442     org: metal3-io
443     image_name:
444     - baremetal-operator:
445         repo: https://github.com/metal3-io/baremetal-operator.git
446         dockerfile_location: /
447     - cluster-api-provider-metal3:
448         repo: https://github.com/metal3-io/cluster-api-provider-metal3.git
449         dockerfile_location: /
450     - ip-address-manager:
451         repo: https://github.com/metal3-io/ip-address-manager.git
452         dockerfile_location: /
453     - ipxe-builder:
454         repo: https://github.com/metal3-io/utility-images.git
455         dockerfile_location: /ipxe-builder/
456     - ironic:
457         repo: https://github.com/metal3-io/ironic-image.git
458         dockerfile_location: /
459     - ironic-client:
460         repo: https://github.com/metal3-io/ironic-client.git
461         dockerfile_location: /
462     - ironic-ipa-downloader:
463         repo: https://github.com/metal3-io/ironic-ipa-downloader.git
464         dockerfile_location: /
465     - keepalived:
466         repo: https://github.com/metal3-io/baremetal-operator.git
467         dockerfile_location: /resources/keepalived-docker/
468     - mariadb:
469         repo: https://github.com/metal3-io/mariadb-image.git
470         dockerfile_location: /
471     - sushy-tools:
472         repo: https://github.com/metal3-io/ironic-image.git
473         dockerfile_location: /resources/sushy-tools/
474     - vbmc:
475         repo: https://github.com/metal3-io/ironic-image.git
476         dockerfile_location: /resources/vbmc/
477     jobs:
478     - container_image_building
479     ci_github_jenkins_credentials_id: 'nordix-metal3-ci-github-prod-token'
480     ci_ghprb_auth_id: '86c49704-5474-4524-97b7-805323b2c39a'
481     ci_github_repo: 'https://github.com/Nordix/metal3-dev-tools.git'
482
483 - project:
484     name: dev-env-integration-tests-prow
485     org: metal3-io
486     proj:
487     - metal3_dev_env:
488         repo: metal3-dev-env
489     - project_infra:
490         repo: project-infra
491     - capm3:
492         repo: cluster-api-provider-metal3
493     - bmo:
494         repo: baremetal-operator
495     - ipam:
496         repo: ip-address-manager
497     - ironic_image:
498         repo: ironic-image
499         name_postfix: '_ironic_from_source'
500         trigger_postfix: '-ironic-source'
501         ironic_install_type: 'source'
502     - ironic_ipa_downloader:
503         repo: ironic-ipa-downloader
504     - mariadb_image:
505         repo: mariadb-image
506         build_mariadb_image_locally: 'true'
507         ironic_use_mariadb: 'true'
508     image_os:
509     - ubuntu
510     - centos
511     jobs:
512     - dev_env_integration_tests_prow:
513         capm3_target_branch:
514         - main:
515             capi_version: v1beta1
516             capm3_version: v1beta1
517             capm3_release_branch: main
518             bmo_release_branch: main
519             target_branches:
520             - 'main'
521         - release-1-6:
522             capi_version: v1beta1
523             capm3_version: v1beta1
524             capm3_release_branch: release-1.6
525             bmo_release_branch: release-0.5
526             target_branches:
527             - 'main'
528             - 'release-1.6'
529             - 'release-0.5'
530         - release-1-5:
531             capi_version: v1beta1
532             capm3_version: v1beta1
533             capm3_release_branch: release-1.5
534             bmo_release_branch: release-0.4
535             target_branches:
536             - 'main'
537             - 'release-1.5'
538             - 'release-0.4'
539         - release-1-4:
540             capi_version: v1beta1
541             capm3_version: v1beta1
542             capm3_release_branch: release-1.4
543             bmo_release_branch: release-0.3
544             target_branches:
545             - 'main'
546             - 'release-1.4'
547             - 'release-0.3'
548     - dev_env_periodic_integration_tests_prow:
549         capm3_target_branch:
550         - main:
551             capi_version: v1beta1
552             capm3_version: v1beta1
553             capm3_release_branch: main
554             bmo_release_branch: main
555             schedule: "H 4 * * *"
556         - release-1-6:
557             capi_version: v1beta1
558             capm3_version: v1beta1
559             capm3_release_branch: release-1.6
560             bmo_release_branch: release-0.5
561             schedule: "30 4 * * *"