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