596f12ed65c5ceed2ab149175e055876c1ba108c
[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     - docker_image_building
38     - update_nordix_repos
39     - periodic_fullstack_building
40     - fullstack_building_test
41     - artifact_cleanup
42     repo:
43       org: "Nordix"
44       name: "metal3-dev-tools"
45     ci_github_jenkins_credentials_id: 'nordix-metal3-ci-github-prod-token'
46     ci_ghprb_auth_id: '86c49704-5474-4524-97b7-805323b2c39a'
47     ci_github_repo: 'https://github.com/Nordix/metal3-dev-tools.git'
48
49 - project:
50     name: 'image_building'
51     jobs:
52     - ci_image_building
53     - node_image_building
54
55 - project:
56     name: integration-tests
57     org: metal3-io
58     proj:
59     - metal3_dev_env:
60         repo: metal3-dev-env
61     - project_infra:
62         repo: project-infra
63         branch: '${{ghprbActualCommit}}'
64         ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
65     - capm3:
66         repo: cluster-api-provider-metal3
67     - bmo:
68         repo: baremetal-operator
69     - ipam:
70         repo: ip-address-manager
71     - ironic_image:
72         repo: ironic-image
73         name_postfix: '_ironic_from_source'
74         trigger_postfix: '-ironic-source'
75         ironic_install_type: 'source'
76         target_branches:
77         - 'main'
78         - 'release-23.1'
79         - 'release-24.0'
80         - 'release-24.1'
81     - ironic_image:
82         repo: ironic-image
83     - ironic_ipa_downloader:
84         repo: ironic-ipa-downloader
85     - mariadb_image:
86         repo: mariadb-image
87         build_mariadb_image_locally: 'true'
88         ironic_use_mariadb: 'true'
89     image_os:
90     - ubuntu
91     - centos
92     capm3_target_branch:
93     - main:
94         capi_version: v1beta1
95         capm3_version: v1beta1
96         capm3_release_branch: main
97         bmo_release_branch: main
98         target_branches:
99         - 'main'
100     - release-1-7:
101         capi_version: v1beta1
102         capm3_version: v1beta1
103         capm3_release_branch: release-1.7
104         bmo_release_branch: release-0.6
105         target_branches:
106         - 'main'
107         - 'release-1.7'
108         - 'release-0.6'
109     - release-1-6:
110         capi_version: v1beta1
111         capm3_version: v1beta1
112         capm3_release_branch: release-1.6
113         bmo_release_branch: release-0.5
114         target_branches:
115         - 'main'
116         - 'release-1.6'
117         - 'release-0.5'
118     - release-1-5:
119         capi_version: v1beta1
120         capm3_version: v1beta1
121         capm3_release_branch: release-1.5
122         bmo_release_branch: release-0.4
123         target_branches:
124         - 'main'
125         - 'release-1.5'
126         - 'release-0.4'
127     jobs:
128     - integration_tests
129
130 - project:
131     name: bml-tests
132     org: metal3-io
133     image_os: centos
134     jobs:
135     - bml_integration_tests:
136         proj:
137         - metal3_dev_env:
138             repo: metal3-dev-env
139         - project_infra:
140             repo: project-infra
141             branch: '${{ghprbActualCommit}}'
142             ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
143     - bml_periodic_integration_tests:
144         repo: metal3-dev-env
145
146 - project:
147     name: 'project_infra_cleanup'
148     ci_github_pipeline: 'jenkins/jobs/integration_tests_clean.pipeline'
149     jobs:
150     - periodic_clean
151
152 - project:
153     name: 'project_infra'
154     repo:
155       org: "metal3-io"
156       name: "project-infra"
157     jobs:
158     - fullstack_project-infra_building_test
159
160 - project:
161     name: "capm3-prow"
162     image_os:
163     - ubuntu
164     - centos
165     jobs:
166     - capm3_e2e_integration_tests_prow:
167         capm3_target_branch:
168         - main:
169             capi_version: v1beta1
170             capm3_version: v1beta1
171             capm3_release_branch: main
172             bmo_release_branch: main
173         - release-1-7:
174             capi_version: v1beta1
175             capm3_version: v1beta1
176             capm3_release_branch: release-1.7
177             bmo_release_branch: release-0.6
178         - release-1-6:
179             capi_version: v1beta1
180             capm3_version: v1beta1
181             capm3_release_branch: release-1.6
182             bmo_release_branch: release-0.5
183         - release-1-5:
184             capi_version: v1beta1
185             capm3_version: v1beta1
186             capm3_release_branch: release-1.5
187             bmo_release_branch: release-0.4
188     - capm3_periodic_e2e_integration_tests_prow:
189         capm3_target_branch:
190         - main:
191             capi_version: v1beta1
192             capm3_version: v1beta1
193             capm3_release_branch: main
194             bmo_release_branch: main
195             schedule: "H 4 * * *"
196         - release-1-7:
197             capi_version: v1beta1
198             capm3_version: v1beta1
199             capm3_release_branch: release-1.7
200             bmo_release_branch: release-0.6
201             schedule: "30 4 * * *"
202         - release-1-6:
203             capi_version: v1beta1
204             capm3_version: v1beta1
205             capm3_release_branch: release-1.6
206             bmo_release_branch: release-0.5
207             schedule: "30 4 * * *"
208     - capm3_e2e_feature_tests_prow:
209         capm3_target_branch:
210         - main:
211             capi_version: v1beta1
212             capm3_version: v1beta1
213             capm3_release_branch: main
214             bmo_release_branch: main
215         - release-1-7:
216             capi_version: v1beta1
217             capm3_version: v1beta1
218             capm3_release_branch: release-1.7
219             bmo_release_branch: release-0.6
220         - release-1-6:
221             capi_version: v1beta1
222             capm3_version: v1beta1
223             capm3_release_branch: release-1.6
224             bmo_release_branch: release-0.5
225         - release-1-5:
226             capi_version: v1beta1
227             capm3_version: v1beta1
228             capm3_release_branch: release-1.5
229             bmo_release_branch: release-0.4
230     - capm3_periodic_e2e_feature_tests_prow:
231         capm3_target_branch:
232         - main:
233             capi_version: v1beta1
234             capm3_version: v1beta1
235             capm3_release_branch: main
236             bmo_release_branch: main
237             schedule: "H 22 2-30/2 * *" # Runs on even days 10 PM
238         - release-1-7:
239             capi_version: v1beta1
240             capm3_version: v1beta1
241             capm3_release_branch: release-1.7
242             bmo_release_branch: release-0.6
243             schedule: "H 3 2-30/2 * *" # Runs on even days 3 AM
244         - release-1-6:
245             capi_version: v1beta1
246             capm3_version: v1beta1
247             capm3_release_branch: release-1.6
248             bmo_release_branch: release-0.5
249             schedule: "H 8 2-30/2 * *" # Runs on even days 8 AM
250         - release-1-5:
251             capi_version: v1beta1
252             capm3_version: v1beta1
253             capm3_release_branch: release-1.5
254             bmo_release_branch: release-0.4
255             schedule: "H 13 2-30/2 * *" # Runs on even days 1 PM
256         exclude:
257         - image_os: ubuntu # This is to disable the tests running on ubuntu, to save resources
258     - capm3_e2e_clusterctl_upgrade_tests_prow:
259         capm3_target_branch:
260         - main:
261             capm3_release_branch: main
262             bmo_release_branch: main
263         - release-1-7:
264             capm3_release_branch: release-1.7
265             bmo_release_branch: release-0.6
266         - release-1-6:
267             capm3_release_branch: release-1.6
268             bmo_release_branch: release-0.5
269         - release-1-5:
270             capm3_release_branch: release-1.5
271             bmo_release_branch: release-0.4
272         exclude:
273         - image_os: centos
274     - capm3_e2e_k8s_upgrade_tests_prow:
275         k8s_versions:
276         - 1-29-1-30:
277             k8s_version_upgrade_from: v1.29.0
278             k8s_version_upgrade_to: v1.30.0
279             kubectl_sha256: 7c3807c0f5c1b30110a2ff1e55da1d112a6d0096201f1beb81b269f582b5d1c5 # v1.30.0
280             capm3_release_branch: main
281             bmo_release_branch: main
282             capm3_target_branch: main
283         - 1-28-1-29:
284             k8s_version_upgrade_from: v1.28.1
285             k8s_version_upgrade_to: v1.29.0
286             kubectl_sha256: 0e03ab096163f61ab610b33f37f55709d3af8e16e4dcc1eb682882ef80f96fd5 # v1.29.0
287             capm3_release_branch: main
288             bmo_release_branch: main
289             capm3_target_branch: main
290         - 1-27-1-28:
291             k8s_version_upgrade_from: v1.27.4
292             k8s_version_upgrade_to: v1.28.1
293             kubectl_sha256: e7a7d6f9d06fab38b4128785aa80f65c54f6675a0d2abef655259ddd852274e1 # v1.28.1
294             capm3_release_branch: main
295             bmo_release_branch: main
296             capm3_target_branch: main
297         - 1-29-1-30:
298             k8s_version_upgrade_from: v1.29.0
299             k8s_version_upgrade_to: v1.30.0
300             kubectl_sha256: 7c3807c0f5c1b30110a2ff1e55da1d112a6d0096201f1beb81b269f582b5d1c5 # v1.30.0
301             capm3_release_branch: release-1.7
302             bmo_release_branch: release-0.6
303             capm3_target_branch: release-1-7
304         - 1-28-1-29:
305             k8s_version_upgrade_from: v1.28.1
306             k8s_version_upgrade_to: v1.29.0
307             kubectl_sha256: 0e03ab096163f61ab610b33f37f55709d3af8e16e4dcc1eb682882ef80f96fd5 # v1.29.0
308             capm3_release_branch: release-1.6
309             bmo_release_branch: release-0.5
310             capm3_target_branch: release-1-6
311         - 1-26-1-27:
312             k8s_version_upgrade_from: v1.26.4
313             k8s_version_upgrade_to: v1.27.4
314             kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f # v1.27.4
315             capm3_release_branch: release-1.5
316             bmo_release_branch: release-0.4
317             capm3_target_branch: release-1-5
318         exclude:
319         - image_os: centos
320     - capm3_periodic_e2e_clusterctl_upgrade_tests_prow:
321         capm3_target_branch:
322         - main:
323             capm3_release_branch: main
324             bmo_release_branch: main
325             schedule: "H 1 * * TUE,THU,SAT"
326         - release-1-7:
327             capm3_release_branch: release-1.7
328             bmo_release_branch: release-0.6
329             schedule: "H 1 * * MON"
330         - release-1-6:
331             capm3_release_branch: release-1.6
332             bmo_release_branch: release-0.5
333             schedule: "H 1 * * WED"
334         - release-1-5:
335             capm3_release_branch: release-1.5
336             bmo_release_branch: release-0.4
337             schedule: "H 1 * * FRI"
338         exclude:
339         - image_os: centos
340     - capm3_periodic_e2e_k8s_upgrade_tests_prow:
341         k8s_versions:
342         - 1-29-1-30:
343             k8s_version_upgrade_from: v1.29.0
344             k8s_version_upgrade_to: v1.30.0
345             kubectl_sha256: 7c3807c0f5c1b30110a2ff1e55da1d112a6d0096201f1beb81b269f582b5d1c5 # v1.30.0
346             capm3_release_branch: main
347             bmo_release_branch: main
348             capm3_target_branch: main
349         - 1-28-1-29:
350             k8s_version_upgrade_from: v1.28.1
351             k8s_version_upgrade_to: v1.29.0
352             kubectl_sha256: 0e03ab096163f61ab610b33f37f55709d3af8e16e4dcc1eb682882ef80f96fd5 # v1.29.0
353             capm3_release_branch: main
354             bmo_release_branch: main
355             capm3_target_branch: main
356         - 1-27-1-28:
357             k8s_version_upgrade_from: v1.27.4
358             k8s_version_upgrade_to: v1.28.1
359             kubectl_sha256: e7a7d6f9d06fab38b4128785aa80f65c54f6675a0d2abef655259ddd852274e1 # v1.28.1
360             capm3_release_branch: main
361             bmo_release_branch: main
362             capm3_target_branch: main
363         - 1-29-1-30:
364             k8s_version_upgrade_from: v1.29.0
365             k8s_version_upgrade_to: v1.30.0
366             kubectl_sha256: 7c3807c0f5c1b30110a2ff1e55da1d112a6d0096201f1beb81b269f582b5d1c5 # v1.30.0
367             capm3_release_branch: release-1.7
368             bmo_release_branch: release-0.6
369             capm3_target_branch: release-1-7
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: release-1.6
375             bmo_release_branch: release-0.5
376             capm3_target_branch: release-1-6
377         - 1-26-1-27:
378             k8s_version_upgrade_from: v1.26.4
379             k8s_version_upgrade_to: v1.27.4
380             kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f # v1.27.4
381             capm3_release_branch: release-1.5
382             bmo_release_branch: release-0.4
383             capm3_target_branch: release-1-5
384         exclude:
385         - image_os: centos
386     - capm3_periodic_e2e_ephemeral_tests:
387         capm3_target_branch:
388         - main:
389             capi_version: v1beta1
390             capm3_version: v1beta1
391             capm3_release_branch: main
392             bmo_release_branch: main
393         exclude:
394         - image_os: ubuntu
395
396 - project:
397     name: 'ironic_image_build_tests'
398     org: metal3-io
399     proj:
400     - project_infra:
401         repo: project-infra
402         branch: '${{ghprbActualCommit}}'
403         ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
404     - ironic_image:
405         repo: ironic-image
406     jobs:
407     - ironic_image_build_tests
408
409 - project:
410     name: 'container_image_build'
411     org: metal3-io
412     image_name:
413     - baremetal-operator:
414         repo: https://github.com/metal3-io/baremetal-operator.git
415         dockerfile_location: /
416     - cluster-api-provider-metal3:
417         repo: https://github.com/metal3-io/cluster-api-provider-metal3.git
418         dockerfile_location: /
419     - ip-address-manager:
420         repo: https://github.com/metal3-io/ip-address-manager.git
421         dockerfile_location: /
422     - ipxe-builder:
423         repo: https://github.com/metal3-io/utility-images.git
424         dockerfile_location: /ipxe-builder/
425     - ironic:
426         repo: https://github.com/metal3-io/ironic-image.git
427         dockerfile_location: /
428     - ironic-client:
429         repo: https://github.com/metal3-io/ironic-client.git
430         dockerfile_location: /
431     - ironic-ipa-downloader:
432         repo: https://github.com/metal3-io/ironic-ipa-downloader.git
433         dockerfile_location: /
434     - keepalived:
435         repo: https://github.com/metal3-io/baremetal-operator.git
436         dockerfile_location: /resources/keepalived-docker/
437     - mariadb:
438         repo: https://github.com/metal3-io/mariadb-image.git
439         dockerfile_location: /
440     - sushy-tools:
441         repo: https://github.com/metal3-io/ironic-image.git
442         dockerfile_location: /resources/sushy-tools/
443     - vbmc:
444         repo: https://github.com/metal3-io/ironic-image.git
445         dockerfile_location: /resources/vbmc/
446     jobs:
447     - container_image_building
448     ci_github_jenkins_credentials_id: 'nordix-metal3-ci-github-prod-token'
449     ci_ghprb_auth_id: '86c49704-5474-4524-97b7-805323b2c39a'
450     ci_github_repo: 'https://github.com/Nordix/metal3-dev-tools.git'
451
452 - project:
453     name: dev-env-integration-tests-prow
454     org: metal3-io
455     proj:
456     - metal3_dev_env:
457         repo: metal3-dev-env
458     - project_infra:
459         repo: project-infra
460     - capm3:
461         repo: cluster-api-provider-metal3
462     - bmo:
463         repo: baremetal-operator
464     - ipam:
465         repo: ip-address-manager
466     - ironic_image:
467         repo: ironic-image
468         name_postfix: '_ironic_from_source'
469         trigger_postfix: '-ironic-source'
470         ironic_install_type: 'source'
471     - ironic_ipa_downloader:
472         repo: ironic-ipa-downloader
473     - mariadb_image:
474         repo: mariadb-image
475         build_mariadb_image_locally: 'true'
476         ironic_use_mariadb: 'true'
477     image_os:
478     - ubuntu
479     - centos
480     jobs:
481     - dev_env_integration_tests_prow:
482         capm3_target_branch:
483         - main:
484             capi_version: v1beta1
485             capm3_version: v1beta1
486             capm3_release_branch: main
487             bmo_release_branch: main
488             target_branches:
489             - 'main'
490         - release-1-7:
491             capi_version: v1beta1
492             capm3_version: v1beta1
493             capm3_release_branch: release-1.7
494             bmo_release_branch: release-0.6
495             target_branches:
496             - 'main'
497             - 'release-1.7'
498             - 'release-0.6'
499         - release-1-6:
500             capi_version: v1beta1
501             capm3_version: v1beta1
502             capm3_release_branch: release-1.6
503             bmo_release_branch: release-0.5
504             target_branches:
505             - 'main'
506             - 'release-1.6'
507             - 'release-0.5'
508         - release-1-5:
509             capi_version: v1beta1
510             capm3_version: v1beta1
511             capm3_release_branch: release-1.5
512             bmo_release_branch: release-0.4
513             target_branches:
514             - 'main'
515             - 'release-1.5'
516             - 'release-0.4'
517     - dev_env_periodic_integration_tests_prow:
518         capm3_target_branch:
519         - main:
520             capi_version: v1beta1
521             capm3_version: v1beta1
522             capm3_release_branch: main
523             bmo_release_branch: main
524             schedule: "H 4 * * *"
525         - release-1-6:
526             capi_version: v1beta1
527             capm3_version: v1beta1
528             capm3_release_branch: release-1.6
529             bmo_release_branch: release-0.5
530             schedule: "30 4 * * *"