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