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