Merge "Reduce running frequency of k8s upgrade tests. Also remove dev env integration...
[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             schedule: "H 4 * * MON"
350         - 1-28-1-29:
351             k8s_version_upgrade_from: v1.28.1
352             k8s_version_upgrade_to: v1.29.0
353             kubectl_sha256: 0e03ab096163f61ab610b33f37f55709d3af8e16e4dcc1eb682882ef80f96fd5 # v1.29.0
354             capm3_release_branch: main
355             bmo_release_branch: main
356             capm3_target_branch: main
357             schedule: "H 4 * * THU"
358         - 1-27-1-28:
359             k8s_version_upgrade_from: v1.27.4
360             k8s_version_upgrade_to: v1.28.1
361             kubectl_sha256: e7a7d6f9d06fab38b4128785aa80f65c54f6675a0d2abef655259ddd852274e1 # v1.28.1
362             capm3_release_branch: main
363             bmo_release_branch: main
364             capm3_target_branch: main
365             schedule: "H 4 * * FRI"
366         - 1-29-1-30:
367             k8s_version_upgrade_from: v1.29.0
368             k8s_version_upgrade_to: v1.30.0
369             kubectl_sha256: 7c3807c0f5c1b30110a2ff1e55da1d112a6d0096201f1beb81b269f582b5d1c5 # v1.30.0
370             capm3_release_branch: release-1.7
371             bmo_release_branch: release-0.6
372             capm3_target_branch: release-1-7
373             schedule: "H 4 * * TUE"
374         - 1-28-1-29:
375             k8s_version_upgrade_from: v1.28.1
376             k8s_version_upgrade_to: v1.29.0
377             kubectl_sha256: 0e03ab096163f61ab610b33f37f55709d3af8e16e4dcc1eb682882ef80f96fd5 # v1.29.0
378             capm3_release_branch: release-1.6
379             bmo_release_branch: release-0.5
380             capm3_target_branch: release-1-6
381             schedule: "H 4 * * WED"
382         - 1-26-1-27:
383             k8s_version_upgrade_from: v1.26.4
384             k8s_version_upgrade_to: v1.27.4
385             kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f # v1.27.4
386             capm3_release_branch: release-1.5
387             bmo_release_branch: release-0.4
388             capm3_target_branch: release-1-5
389             schedule: "H 4 * * SAT"
390         exclude:
391         - image_os: centos
392     - capm3_periodic_e2e_ephemeral_tests:
393         capm3_target_branch:
394         - main:
395             capi_version: v1beta1
396             capm3_version: v1beta1
397             capm3_release_branch: main
398             bmo_release_branch: main
399         exclude:
400         - image_os: ubuntu
401
402 - project:
403     name: 'ironic_image_build_tests'
404     org: metal3-io
405     proj:
406     - project_infra:
407         repo: project-infra
408         branch: '${{ghprbActualCommit}}'
409         ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
410     - ironic_image:
411         repo: ironic-image
412     jobs:
413     - ironic_image_build_tests
414
415 - project:
416     name: 'container_image_build'
417     org: metal3-io
418     image_name:
419     - baremetal-operator:
420         repo: https://github.com/metal3-io/baremetal-operator.git
421         dockerfile_location: /
422     - cluster-api-provider-metal3:
423         repo: https://github.com/metal3-io/cluster-api-provider-metal3.git
424         dockerfile_location: /
425     - ip-address-manager:
426         repo: https://github.com/metal3-io/ip-address-manager.git
427         dockerfile_location: /
428     - ipxe-builder:
429         repo: https://github.com/metal3-io/utility-images.git
430         dockerfile_location: /ipxe-builder/
431     - ironic:
432         repo: https://github.com/metal3-io/ironic-image.git
433         dockerfile_location: /
434     - ironic-client:
435         repo: https://github.com/metal3-io/ironic-client.git
436         dockerfile_location: /
437     - ironic-ipa-downloader:
438         repo: https://github.com/metal3-io/ironic-ipa-downloader.git
439         dockerfile_location: /
440     - keepalived:
441         repo: https://github.com/metal3-io/baremetal-operator.git
442         dockerfile_location: /resources/keepalived-docker/
443     - mariadb:
444         repo: https://github.com/metal3-io/mariadb-image.git
445         dockerfile_location: /
446     - sushy-tools:
447         repo: https://github.com/metal3-io/ironic-image.git
448         dockerfile_location: /resources/sushy-tools/
449     - vbmc:
450         repo: https://github.com/metal3-io/ironic-image.git
451         dockerfile_location: /resources/vbmc/
452     jobs:
453     - container_image_building
454     ci_github_jenkins_credentials_id: 'nordix-metal3-ci-github-prod-token'
455     ci_ghprb_auth_id: '86c49704-5474-4524-97b7-805323b2c39a'
456     ci_github_repo: 'https://github.com/Nordix/metal3-dev-tools.git'
457
458 - project:
459     name: dev-env-integration-tests-prow
460     org: metal3-io
461     proj:
462     - metal3_dev_env:
463         repo: metal3-dev-env
464     - project_infra:
465         repo: project-infra
466     - capm3:
467         repo: cluster-api-provider-metal3
468     - bmo:
469         repo: baremetal-operator
470     - ipam:
471         repo: ip-address-manager
472     - ironic_image:
473         repo: ironic-image
474         name_postfix: '_ironic_from_source'
475         trigger_postfix: '-ironic-source'
476         ironic_install_type: 'source'
477     - ironic_ipa_downloader:
478         repo: ironic-ipa-downloader
479     - mariadb_image:
480         repo: mariadb-image
481         build_mariadb_image_locally: 'true'
482         ironic_use_mariadb: 'true'
483     image_os:
484     - ubuntu
485     - centos
486     jobs:
487     - dev_env_integration_tests_prow:
488         capm3_target_branch:
489         - main:
490             capi_version: v1beta1
491             capm3_version: v1beta1
492             capm3_release_branch: main
493             bmo_release_branch: main
494             target_branches:
495             - 'main'
496         - release-1-7:
497             capi_version: v1beta1
498             capm3_version: v1beta1
499             capm3_release_branch: release-1.7
500             bmo_release_branch: release-0.6
501             target_branches:
502             - 'main'
503             - 'release-1.7'
504             - 'release-0.6'
505         - release-1-6:
506             capi_version: v1beta1
507             capm3_version: v1beta1
508             capm3_release_branch: release-1.6
509             bmo_release_branch: release-0.5
510             target_branches:
511             - 'main'
512             - 'release-1.6'
513             - 'release-0.5'
514         - release-1-5:
515             capi_version: v1beta1
516             capm3_version: v1beta1
517             capm3_release_branch: release-1.5
518             bmo_release_branch: release-0.4
519             target_branches:
520             - 'main'
521             - 'release-1.5'
522             - 'release-0.4'
523     - dev_env_periodic_integration_tests_prow:
524         capm3_target_branch:
525         - main:
526             capi_version: v1beta1
527             capm3_version: v1beta1
528             capm3_release_branch: main
529             bmo_release_branch: main
530             schedule: "H 4 * * *"