ec0249202013d07037027b04fbbe9a5d992bd01a
[infra/cicd.git] / jjb / metal3 / projects.yml
1 ---
2 #
3 # ============LICENSE_START=======================================================
4 #  Copyright (C) 2019 Nordix Foundation.
5 # ================================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #      http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 #
18 # SPDX-License-Identifier: Apache-2.0
19 # ============LICENSE_END=========================================================
20
21
22 # Description:
23 # ============
24 # This file contains the list of JJB projects in metal3 category. Each project
25 # corresponds to a github repository. Under each project's 'jobs' list defines the
26 # jobs associated with that github repository. The job definitions can be found
27 # in job_{job_id}.yml files in any of JJB include folders.
28
29 # NOTE: kubectl_sha256 needs to match the kubernetes_version_upgrade_to version in 1.5/main
30 # and it needs to match kubernetes_version_upgrade_from in 1.3/1.4
31
32 - project:
33     name: 'nordix_dev_tools'
34     branch: '${{ghprbActualCommit}}'
35     ci_github_whitelist_org:
36     - nordix-metal3
37     jobs:
38     - linter_tests
39     - openstack_image_building
40     - docker_image_building
41     - update_nordix_repos
42     - openstack_node_image_building
43     - main_fullstack_building
44     - fullstack_building_test
45     - metal3_dev_tools_integration_test:
46         image_os:
47           - ubuntu
48           - centos
49     - artifact_cleanup
50     repo:
51       org: "Nordix"
52       name: "metal3-dev-tools"
53     ci_github_jenkins_credentials_id: 'nordix-metal3-ci-github-prod-token'
54     ci_ghprb_auth_id: 'e8a43847-46ff-42db-a5db-7366df0e4ee2'
55     ci_github_repo: 'https://github.com/Nordix/metal3-dev-tools.git'
56
57 - project:
58     name: integration-tests
59     org: metal3-io
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       - capm3:
68           repo: cluster-api-provider-metal3
69       - bmo:
70           repo: baremetal-operator
71       - ipam:
72           repo: ip-address-manager
73       - ironic_image:
74           repo: ironic-image
75           name_postfix: '_ironic_from_source'
76           trigger_postfix: '-ironic-source'
77           ironic_install_type: 'source'
78       - ironic_image:
79           repo: ironic-image
80       - ironic_ipa_downloader:
81           repo: ironic-ipa-downloader
82       - mariadb_image:
83           repo: mariadb-image
84           build_mariadb_image_locally: 'true'
85           ironic_use_mariadb: 'true'
86     image_os:
87       - ubuntu
88       - centos
89     capm3_target_branch:
90       - main:
91           capi_version: v1beta1
92           capm3_version: v1beta1
93           capm3_release_branch: main
94           target_branches:
95             - 'main'
96       - release-1-5:
97           capi_version: v1beta1
98           capm3_version: v1beta1
99           capm3_release_branch: release-1.5
100           target_branches:
101             - 'main'
102             - 'release-1.5'
103       - release-1-4:
104           capi_version: v1beta1
105           capm3_version: v1beta1
106           capm3_release_branch: release-1.4
107           target_branches:
108             - 'main'
109             - 'release-1.4'
110       - release-1-3:
111           capi_version: v1beta1
112           capm3_version: v1beta1
113           capm3_release_branch: release-1.3
114           target_branches:
115             - 'main'
116             - 'release-1.3'
117     jobs:
118       - integration_tests
119
120 - project:
121     name: keep-integration-tests-alive
122     org: metal3-io
123     proj:
124       - metal3_dev_env:
125           repo: metal3-dev-env
126       - project_infra:
127           repo: project-infra
128           branch: '${{ghprbActualCommit}}'
129           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
130       - capm3:
131           repo: cluster-api-provider-metal3
132       - bmo:
133           repo: baremetal-operator
134       - ipam:
135           repo: ip-address-manager
136       - ironic_image:
137           repo: ironic-image
138     image_os:
139       - ubuntu
140       - centos
141     capm3_target_branch:
142       - main:
143           capi_version: v1beta1
144           capm3_version: v1beta1
145           capm3_release_branch: main
146           target_branches:
147             - 'main'
148       - release-1-5:
149           capi_version: v1beta1
150           capm3_version: v1beta1
151           capm3_release_branch: release-1.5
152           target_branches:
153             - 'main'
154             - 'release-1.5'
155       - release-1-4:
156           capi_version: v1beta1
157           capm3_version: v1beta1
158           capm3_release_branch: release-1.4
159           target_branches:
160             - 'main'
161             - 'release-1.4'
162       - release-1-3:
163           capi_version: v1beta1
164           capm3_version: v1beta1
165           capm3_release_branch: release-1.3
166           target_branches:
167             - 'main'
168             - 'release-1.3'
169     jobs:
170       - keep_integration_tests
171
172 - project:
173     name: metal3-dev-env-main-tests
174     org: metal3-io
175     repo: metal3-dev-env
176     image_os:
177       - ubuntu
178       - centos
179     jobs:
180       - capm3_main_integration_tests:
181           capm3_target_branch:
182             - main:
183                 capi_version: v1beta1
184                 capm3_version: v1beta1
185                 capm3_release_branch: main
186                 schedule: "H 4 * * *"
187             - release-1-5:
188                 capi_version: v1beta1
189                 capm3_version: v1beta1
190                 capm3_release_branch: release-1.5
191                 schedule: "30 4 * * *"
192             - release-1-4:
193                 capi_version: v1beta1
194                 capm3_version: v1beta1
195                 capm3_release_branch: release-1.4
196                 schedule: "30 4 * * *"
197             - release-1-3:
198                 capi_version: v1beta1
199                 capm3_version: v1beta1
200                 capm3_release_branch: release-1.3
201                 schedule: "30 4 * * *"
202
203 - project:
204     name: bml-tests
205     org: metal3-io
206     image_os: centos
207     jobs:
208       - bml_integration_tests:
209           proj:
210             - metal3_dev_env:
211                 repo: metal3-dev-env
212             - project_infra:
213                 repo: project-infra
214                 branch: '${{ghprbActualCommit}}'
215                 ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
216       - bml_main_integration_tests:
217           repo: metal3-dev-env
218
219 - project:
220     name: 'project_infra_cleanup'
221     repo:
222       org: "metal3-io"
223       name: "project-infra"
224     ci_github_pipeline: 'jenkins/jobs/integration_tests_clean.pipeline'
225     jobs:
226     - main_clean
227
228 - project:
229     name: "capm3"
230     org: metal3-io
231     proj:
232       - capm3:
233           repo: cluster-api-provider-metal3
234       - metal3_dev_env:
235           repo: metal3-dev-env
236       - project_infra:
237           repo: project-infra
238           branch: '${{ghprbActualCommit}}'
239           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
240       - bmo:
241           repo: baremetal-operator
242       - ipam:
243           repo: ip-address-manager
244     image_os:
245       - ubuntu
246       - centos
247     jobs:
248       - capm3_e2e_clusterctl_upgrade_tests:
249           upgrade_from_release:
250             - from-release-1-5:
251                 upgrade_from: v1.5.
252             - from-release-1-4:
253                 upgrade_from: v1.4.
254             - from-release-1-3:
255                 upgrade_from: v1.3.
256             - from-release-0-5:
257                 upgrade_from: v0.5.
258           exclude:
259             - image_os: centos
260       - capm3_e2e_k8s_upgrade_tests:
261           k8s_versions:
262             - 1-27-1-28:
263                 k8s_version_upgrade_from: v1.27.4
264                 k8s_version_upgrade_to: v1.28.1
265                 kubectl_sha256: e7a7d6f9d06fab38b4128785aa80f65c54f6675a0d2abef655259ddd852274e1  # v1.28.1
266                 capm3_release_branch: main
267                 capm3_target_branch: main
268                 target_branches:
269                   - 'main'
270             - 1-26-1-27:
271                 k8s_version_upgrade_from: v1.26.4
272                 k8s_version_upgrade_to: v1.27.4
273                 kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f  # v1.27.4
274                 capm3_release_branch: main
275                 capm3_target_branch: main
276                 target_branches:
277                   - 'main'
278             - 1-25-1-26:
279                 k8s_version_upgrade_from: v1.25.5
280                 k8s_version_upgrade_to: v1.26.4
281                 kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d  # v1.26.4
282                 capm3_release_branch: main
283                 capm3_target_branch: main
284                 target_branches:
285                   - 'main'
286             - 1-26-1-27:
287                 k8s_version_upgrade_from: v1.26.4
288                 k8s_version_upgrade_to: v1.27.4
289                 kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f  # v1.27.4
290                 capm3_release_branch: release-1.5
291                 capm3_target_branch: release-1-5
292                 target_branches:
293                   - 'release-1.5'
294             - 1-26-1-27:
295                 k8s_version_upgrade_from: v1.26.4
296                 kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d  # v1.26.4
297                 k8s_version_upgrade_to: v1.27.4
298                 capm3_release_branch: release-1.4
299                 capm3_target_branch: release-1-4
300                 target_branches:
301                   - 'release-1.4'
302             - 1-25-1-26:
303                 k8s_version_upgrade_from: v1.25.5
304                 kubectl_sha256: 6a660cd44db3d4bfe1563f6689cbe2ffb28ee4baf3532e04fff2d7b909081c29  # v1.25.5
305                 k8s_version_upgrade_to: v1.26.4
306                 capm3_release_branch: release-1.3
307                 capm3_target_branch: release-1-3
308                 target_branches:
309                   - 'release-1.3'
310           exclude:
311               - image_os: centos
312       - capm3_e2e_integration_tests:
313           capm3_target_branch:
314             - main:
315                 capi_version: v1beta1
316                 capm3_version: v1beta1
317                 capm3_release_branch: main
318                 target_branches:
319                   - 'main'
320             - release-1-5:
321                 capi_version: v1beta1
322                 capm3_version: v1beta1
323                 capm3_release_branch: release-1.5
324                 target_branches:
325                   - 'main'
326                   - 'release-1.5'
327       - capm3_e2e_basic_tests:
328           capm3_target_branch:
329             - main:
330                 capi_version: v1beta1
331                 capm3_version: v1beta1
332                 capm3_release_branch: main
333                 target_branches:
334                   - 'main'
335             - release-1-5:
336                 capi_version: v1beta1
337                 capm3_version: v1beta1
338                 capm3_release_branch: release-1.5
339                 target_branches:
340                   - 'main'
341                   - 'release-1.5'
342       - capm3_e2e_feature_tests:
343           capm3_target_branch:
344             - main:
345                 capi_version: v1beta1
346                 capm3_version: v1beta1
347                 capm3_release_branch: main
348                 target_branches:
349                   - 'main'
350             - release-1-5:
351                 capi_version: v1beta1
352                 capm3_version: v1beta1
353                 capm3_release_branch: release-1.5
354                 target_branches:
355                   - 'release-1.5'
356             - release-1-4:
357                 capi_version: v1beta1
358                 capm3_version: v1beta1
359                 capm3_release_branch: release-1.4
360                 target_branches:
361                   - 'release-1.4'
362             - release-1-3:
363                 capi_version: v1beta1
364                 capm3_version: v1beta1
365                 capm3_release_branch: release-1.3
366                 target_branches:
367                   - 'release-1.3'
368       - keep_capm3_e2e_integration_tests:
369           capm3_target_branch:
370             - main:
371                 capi_version: v1beta1
372                 capm3_version: v1beta1
373                 capm3_release_branch: main
374                 target_branches:
375                   - 'main'
376             - release-1-5:
377                 capi_version: v1beta1
378                 capm3_version: v1beta1
379                 capm3_release_branch: release-1.5
380                 target_branches:
381                   - 'main'
382                   - 'release-1.5'
383       - keep_capm3_e2e_basic_tests:
384           capm3_target_branch:
385             - main:
386                 capi_version: v1beta1
387                 capm3_version: v1beta1
388                 capm3_release_branch: main
389                 target_branches:
390                   - 'main'
391             - release-1-5:
392                 capi_version: v1beta1
393                 capm3_version: v1beta1
394                 capm3_release_branch: release-1.5
395                 target_branches:
396                   - 'main'
397                   - 'release-1.5'
398       - keep_capm3_e2e_feature_tests:
399           capm3_target_branch:
400             - main:
401                 capi_version: v1beta1
402                 capm3_version: v1beta1
403                 capm3_release_branch: main
404                 target_branches:
405                   - 'main'
406             - release-1-5:
407                 capi_version: v1beta1
408                 capm3_version: v1beta1
409                 capm3_release_branch: release-1.5
410                 target_branches:
411                   - 'release-1.5'
412             - release-1-4:
413                 capi_version: v1beta1
414                 capm3_version: v1beta1
415                 capm3_release_branch: release-1.4
416                 target_branches:
417                   - 'release-1.4'
418             - release-1-3:
419                 capi_version: v1beta1
420                 capm3_version: v1beta1
421                 capm3_release_branch: release-1.3
422                 target_branches:
423                   - 'release-1.3'
424       - keep_capm3_e2e_clusterctl_upgrade_tests:
425           upgrade_from_release:
426             - from-release-1-5:
427                 upgrade_from: v1.5.
428             - from-release-1-4:
429                 upgrade_from: v1.4.
430             - from-release-1-3:
431                 upgrade_from: v1.3.
432             - from-release-0-5:
433                 upgrade_from: v0.5.
434           exclude:
435             - image_os: centos
436       - keep_capm3_e2e_k8s_upgrade_tests:
437           k8s_versions:
438             - 1-27-1-28:
439                 k8s_version_upgrade_from: v1.27.4
440                 k8s_version_upgrade_to: v1.28.1
441                 kubectl_sha256: e7a7d6f9d06fab38b4128785aa80f65c54f6675a0d2abef655259ddd852274e1  # v1.28.1
442                 capm3_release_branch: main
443                 capm3_target_branch: main
444                 target_branches:
445                   - 'main'
446             - 1-26-1-27:
447                 k8s_version_upgrade_from: v1.26.4
448                 k8s_version_upgrade_to: v1.27.4
449                 kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f  # v1.27.4
450                 capm3_release_branch: main
451                 capm3_target_branch: main
452                 target_branches:
453                   - 'main'
454             - 1-25-1-26:
455                 k8s_version_upgrade_from: v1.25.5
456                 k8s_version_upgrade_to: v1.26.4
457                 kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d  # v1.26.4
458                 capm3_release_branch: main
459                 capm3_target_branch: main
460                 target_branches:
461                   - 'main'
462             - 1-26-1-27:
463                 k8s_version_upgrade_from: v1.26.4
464                 k8s_version_upgrade_to: v1.27.4
465                 kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f  # v1.27.4
466                 capm3_release_branch: release-1.5
467                 capm3_target_branch: release-1-5
468                 target_branches:
469                   - 'release-1.5'
470             - 1-26-1-27:
471                 k8s_version_upgrade_from: v1.26.4
472                 kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d  # v1.26.4
473                 k8s_version_upgrade_to: v1.27.4
474                 capm3_release_branch: release-1.4
475                 capm3_target_branch: release-1-4
476                 target_branches:
477                   - 'release-1.4'
478             - 1-25-1-26:
479                 k8s_version_upgrade_from: v1.25.5
480                 kubectl_sha256: 6a660cd44db3d4bfe1563f6689cbe2ffb28ee4baf3532e04fff2d7b909081c29  # v1.25.5
481                 k8s_version_upgrade_to: v1.26.4
482                 capm3_release_branch: release-1.3
483                 capm3_target_branch: release-1-3
484                 target_branches:
485                   - 'release-1.3'
486           exclude:
487             - image_os: centos
488
489 - project:
490     name: "capm3-main-tests"
491     repo:
492       org: "metal3-io"
493       name: "cluster-api-provider-metal3"
494     image_os:
495       - ubuntu
496       - centos
497     jobs:
498       - capm3_main_e2e_clusterctl_upgrade_tests:
499           upgrade_from_release:
500             - from-release-1-5:
501                 upgrade_from: v1.5.
502             - from-release-1-4:
503                 upgrade_from: v1.4.
504             - from-release-1-3:
505                 upgrade_from: v1.3.
506             - from-release-0-5:
507                 upgrade_from: v0.5.
508           exclude:
509             - image_os: centos
510       - capm3_main_e2e_k8s_upgrade_tests:
511           k8s_versions:
512             - 1-27-1-28:
513                 k8s_version_upgrade_from: v1.27.4
514                 k8s_version_upgrade_to: v1.28.1
515                 kubectl_sha256: e7a7d6f9d06fab38b4128785aa80f65c54f6675a0d2abef655259ddd852274e1  # v1.28.1
516                 capm3_release_branch: main
517                 capm3_target_branch: main
518                 target_branches:
519                   - 'main'
520             - 1-26-1-27:
521                 k8s_version_upgrade_from: v1.26.4
522                 k8s_version_upgrade_to: v1.27.4
523                 kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f  # v1.27.4
524                 capm3_release_branch: main
525                 capm3_target_branch: main
526             - 1-25-1-26:
527                 k8s_version_upgrade_from: v1.25.5
528                 k8s_version_upgrade_to: v1.26.4
529                 kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d  # v1.26.4
530                 capm3_release_branch: main
531                 capm3_target_branch: main
532             - 1-26-1-27:
533                 k8s_version_upgrade_from: v1.26.4
534                 k8s_version_upgrade_to: v1.27.4
535                 kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f  # v1.27.4
536                 capm3_release_branch: release-1.5
537                 capm3_target_branch: release-1-5
538             - 1-26-1-27:
539                 k8s_version_upgrade_from: v1.26.4
540                 kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d  # v1.26.4
541                 k8s_version_upgrade_to: v1.27.4
542                 capm3_release_branch: release-1.4
543                 capm3_target_branch: release-1-4
544             - 1-25-1-26:
545                 k8s_version_upgrade_from: v1.25.5
546                 kubectl_sha256: 6a660cd44db3d4bfe1563f6689cbe2ffb28ee4baf3532e04fff2d7b909081c29  # v1.25.5
547                 k8s_version_upgrade_to: v1.26.4
548                 capm3_release_branch: release-1.3
549                 capm3_target_branch: release-1-3
550           exclude:
551               - image_os: centos
552       - capm3_main_e2e_ephemeral_tests:
553           exclude:
554             - image_os: ubuntu
555       - capm3_main_e2e_integration_tests:
556           capm3_target_branch:
557             - main:
558                 capi_version: v1beta1
559                 capm3_version: v1beta1
560                 capm3_release_branch: main
561                 schedule: "H 4 * * *"
562             - release-1-5:
563                 capi_version: v1beta1
564                 capm3_version: v1beta1
565                 capm3_release_branch: release-1.5
566                 schedule: "30 4 * * *"
567       - capm3_main_e2e_feature_tests:
568           capm3_target_branch:
569             - main:
570                 capi_version: v1beta1
571                 capm3_version: v1beta1
572                 capm3_branch: main
573                 capm3_release_branch: main
574                 schedule: "H 2 * * *"
575             - release-1-5:
576                 capi_version: v1beta1
577                 capm3_version: v1beta1
578                 capm3_branch: release-1.5
579                 capm3_release_branch: release-1.5
580                 schedule: "H 11 * * *"
581             - release-1-4:
582                 capi_version: v1beta1
583                 capm3_version: v1beta1
584                 capm3_branch: release-1.4
585                 capm3_release_branch: release-1.4
586                 schedule: "H 5 * * *"
587             - release-1-3:
588                 capi_version: v1beta1
589                 capm3_version: v1beta1
590                 capm3_branch: release-1.3
591                 capm3_release_branch: release-1.3
592                 schedule: "H 8 * * *"
593
594 - project:
595     name: 'ironic_image_build_tests'
596     org: metal3-io
597     proj:
598       - project_infra:
599           repo: project-infra
600           branch: '${{ghprbActualCommit}}'
601           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
602       - ironic_image:
603           repo: ironic-image
604     jobs:
605       - ironic_image_build_tests