Merge "metal3: Add e2e integration job for release-1.4"
[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             - release-1-4:
328                 capi_version: v1beta1
329                 capm3_version: v1beta1
330                 capm3_release_branch: release-1.4
331                 target_branches:
332                   - 'main'
333                   - 'release-1.4'
334       - capm3_e2e_basic_tests:
335           capm3_target_branch:
336             - main:
337                 capi_version: v1beta1
338                 capm3_version: v1beta1
339                 capm3_release_branch: main
340                 target_branches:
341                   - 'main'
342             - release-1-5:
343                 capi_version: v1beta1
344                 capm3_version: v1beta1
345                 capm3_release_branch: release-1.5
346                 target_branches:
347                   - 'main'
348                   - 'release-1.5'
349       - capm3_e2e_feature_tests:
350           capm3_target_branch:
351             - main:
352                 capi_version: v1beta1
353                 capm3_version: v1beta1
354                 capm3_release_branch: main
355                 target_branches:
356                   - 'main'
357             - release-1-5:
358                 capi_version: v1beta1
359                 capm3_version: v1beta1
360                 capm3_release_branch: release-1.5
361                 target_branches:
362                   - 'release-1.5'
363             - release-1-4:
364                 capi_version: v1beta1
365                 capm3_version: v1beta1
366                 capm3_release_branch: release-1.4
367                 target_branches:
368                   - 'release-1.4'
369             - release-1-3:
370                 capi_version: v1beta1
371                 capm3_version: v1beta1
372                 capm3_release_branch: release-1.3
373                 target_branches:
374                   - 'release-1.3'
375       - keep_capm3_e2e_integration_tests:
376           capm3_target_branch:
377             - main:
378                 capi_version: v1beta1
379                 capm3_version: v1beta1
380                 capm3_release_branch: main
381                 target_branches:
382                   - 'main'
383             - release-1-5:
384                 capi_version: v1beta1
385                 capm3_version: v1beta1
386                 capm3_release_branch: release-1.5
387                 target_branches:
388                   - 'main'
389                   - 'release-1.5'
390       - keep_capm3_e2e_basic_tests:
391           capm3_target_branch:
392             - main:
393                 capi_version: v1beta1
394                 capm3_version: v1beta1
395                 capm3_release_branch: main
396                 target_branches:
397                   - 'main'
398             - release-1-5:
399                 capi_version: v1beta1
400                 capm3_version: v1beta1
401                 capm3_release_branch: release-1.5
402                 target_branches:
403                   - 'main'
404                   - 'release-1.5'
405       - keep_capm3_e2e_feature_tests:
406           capm3_target_branch:
407             - main:
408                 capi_version: v1beta1
409                 capm3_version: v1beta1
410                 capm3_release_branch: main
411                 target_branches:
412                   - 'main'
413             - release-1-5:
414                 capi_version: v1beta1
415                 capm3_version: v1beta1
416                 capm3_release_branch: release-1.5
417                 target_branches:
418                   - 'release-1.5'
419             - release-1-4:
420                 capi_version: v1beta1
421                 capm3_version: v1beta1
422                 capm3_release_branch: release-1.4
423                 target_branches:
424                   - 'release-1.4'
425             - release-1-3:
426                 capi_version: v1beta1
427                 capm3_version: v1beta1
428                 capm3_release_branch: release-1.3
429                 target_branches:
430                   - 'release-1.3'
431       - keep_capm3_e2e_clusterctl_upgrade_tests:
432           upgrade_from_release:
433             - from-release-1-5:
434                 upgrade_from: v1.5.
435             - from-release-1-4:
436                 upgrade_from: v1.4.
437             - from-release-1-3:
438                 upgrade_from: v1.3.
439             - from-release-0-5:
440                 upgrade_from: v0.5.
441           exclude:
442             - image_os: centos
443       - keep_capm3_e2e_k8s_upgrade_tests:
444           k8s_versions:
445             - 1-27-1-28:
446                 k8s_version_upgrade_from: v1.27.4
447                 k8s_version_upgrade_to: v1.28.1
448                 kubectl_sha256: e7a7d6f9d06fab38b4128785aa80f65c54f6675a0d2abef655259ddd852274e1  # v1.28.1
449                 capm3_release_branch: main
450                 capm3_target_branch: main
451                 target_branches:
452                   - 'main'
453             - 1-26-1-27:
454                 k8s_version_upgrade_from: v1.26.4
455                 k8s_version_upgrade_to: v1.27.4
456                 kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f  # v1.27.4
457                 capm3_release_branch: main
458                 capm3_target_branch: main
459                 target_branches:
460                   - 'main'
461             - 1-25-1-26:
462                 k8s_version_upgrade_from: v1.25.5
463                 k8s_version_upgrade_to: v1.26.4
464                 kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d  # v1.26.4
465                 capm3_release_branch: main
466                 capm3_target_branch: main
467                 target_branches:
468                   - 'main'
469             - 1-26-1-27:
470                 k8s_version_upgrade_from: v1.26.4
471                 k8s_version_upgrade_to: v1.27.4
472                 kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f  # v1.27.4
473                 capm3_release_branch: release-1.5
474                 capm3_target_branch: release-1-5
475                 target_branches:
476                   - 'release-1.5'
477             - 1-26-1-27:
478                 k8s_version_upgrade_from: v1.26.4
479                 kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d  # v1.26.4
480                 k8s_version_upgrade_to: v1.27.4
481                 capm3_release_branch: release-1.4
482                 capm3_target_branch: release-1-4
483                 target_branches:
484                   - 'release-1.4'
485             - 1-25-1-26:
486                 k8s_version_upgrade_from: v1.25.5
487                 kubectl_sha256: 6a660cd44db3d4bfe1563f6689cbe2ffb28ee4baf3532e04fff2d7b909081c29  # v1.25.5
488                 k8s_version_upgrade_to: v1.26.4
489                 capm3_release_branch: release-1.3
490                 capm3_target_branch: release-1-3
491                 target_branches:
492                   - 'release-1.3'
493           exclude:
494             - image_os: centos
495
496 - project:
497     name: "capm3-main-tests"
498     repo:
499       org: "metal3-io"
500       name: "cluster-api-provider-metal3"
501     image_os:
502       - ubuntu
503       - centos
504     jobs:
505       - capm3_main_e2e_clusterctl_upgrade_tests:
506           upgrade_from_release:
507             - from-release-1-5:
508                 upgrade_from: v1.5.
509             - from-release-1-4:
510                 upgrade_from: v1.4.
511             - from-release-1-3:
512                 upgrade_from: v1.3.
513             - from-release-0-5:
514                 upgrade_from: v0.5.
515           exclude:
516             - image_os: centos
517       - capm3_main_e2e_k8s_upgrade_tests:
518           k8s_versions:
519             - 1-27-1-28:
520                 k8s_version_upgrade_from: v1.27.4
521                 k8s_version_upgrade_to: v1.28.1
522                 kubectl_sha256: e7a7d6f9d06fab38b4128785aa80f65c54f6675a0d2abef655259ddd852274e1  # v1.28.1
523                 capm3_release_branch: main
524                 capm3_target_branch: main
525                 target_branches:
526                   - 'main'
527             - 1-26-1-27:
528                 k8s_version_upgrade_from: v1.26.4
529                 k8s_version_upgrade_to: v1.27.4
530                 kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f  # v1.27.4
531                 capm3_release_branch: main
532                 capm3_target_branch: main
533             - 1-25-1-26:
534                 k8s_version_upgrade_from: v1.25.5
535                 k8s_version_upgrade_to: v1.26.4
536                 kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d  # v1.26.4
537                 capm3_release_branch: main
538                 capm3_target_branch: main
539             - 1-26-1-27:
540                 k8s_version_upgrade_from: v1.26.4
541                 k8s_version_upgrade_to: v1.27.4
542                 kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f  # v1.27.4
543                 capm3_release_branch: release-1.5
544                 capm3_target_branch: release-1-5
545             - 1-26-1-27:
546                 k8s_version_upgrade_from: v1.26.4
547                 kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d  # v1.26.4
548                 k8s_version_upgrade_to: v1.27.4
549                 capm3_release_branch: release-1.4
550                 capm3_target_branch: release-1-4
551             - 1-25-1-26:
552                 k8s_version_upgrade_from: v1.25.5
553                 kubectl_sha256: 6a660cd44db3d4bfe1563f6689cbe2ffb28ee4baf3532e04fff2d7b909081c29  # v1.25.5
554                 k8s_version_upgrade_to: v1.26.4
555                 capm3_release_branch: release-1.3
556                 capm3_target_branch: release-1-3
557           exclude:
558               - image_os: centos
559       - capm3_main_e2e_ephemeral_tests:
560           exclude:
561             - image_os: ubuntu
562       - capm3_main_e2e_integration_tests:
563           capm3_target_branch:
564             - main:
565                 capi_version: v1beta1
566                 capm3_version: v1beta1
567                 capm3_release_branch: main
568                 schedule: "H 4 * * *"
569             - release-1-5:
570                 capi_version: v1beta1
571                 capm3_version: v1beta1
572                 capm3_release_branch: release-1.5
573                 schedule: "30 4 * * *"
574       - capm3_main_e2e_feature_tests:
575           capm3_target_branch:
576             - main:
577                 capi_version: v1beta1
578                 capm3_version: v1beta1
579                 capm3_branch: main
580                 capm3_release_branch: main
581                 schedule: "H 2 * * *"
582             - release-1-5:
583                 capi_version: v1beta1
584                 capm3_version: v1beta1
585                 capm3_branch: release-1.5
586                 capm3_release_branch: release-1.5
587                 schedule: "H 11 * * *"
588             - release-1-4:
589                 capi_version: v1beta1
590                 capm3_version: v1beta1
591                 capm3_branch: release-1.4
592                 capm3_release_branch: release-1.4
593                 schedule: "H 5 * * *"
594             - release-1-3:
595                 capi_version: v1beta1
596                 capm3_version: v1beta1
597                 capm3_branch: release-1.3
598                 capm3_release_branch: release-1.3
599                 schedule: "H 8 * * *"
600
601 - project:
602     name: 'ironic_image_build_tests'
603     org: metal3-io
604     proj:
605       - project_infra:
606           repo: project-infra
607           branch: '${{ghprbActualCommit}}'
608           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
609       - ironic_image:
610           repo: ironic-image
611     jobs:
612       - ironic_image_build_tests