Add bmo_release_branch var ir JJBs for enabling CI in BMO branches
[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           bmo_release_branch: main
95           target_branches:
96             - 'main'
97       - release-1-5:
98           capi_version: v1beta1
99           capm3_version: v1beta1
100           capm3_release_branch: release-1.5
101           bmo_release_branch: release-0.4
102           target_branches:
103             - 'main'
104             - 'release-1.5'
105       - release-1-4:
106           capi_version: v1beta1
107           capm3_version: v1beta1
108           capm3_release_branch: release-1.4
109           bmo_release_branch: v0.3.0  # This would point to a tag until we branch out
110           target_branches:
111             - 'main'
112             - 'release-1.4'
113       - release-1-3:
114           capi_version: v1beta1
115           capm3_version: v1beta1
116           capm3_release_branch: release-1.3
117           bmo_release_branch: v0.2.0 # We won't have a BMO branch for this, so pointing to a tag
118           target_branches:
119             - 'main'
120             - 'release-1.3'
121     jobs:
122       - integration_tests
123
124 - project:
125     name: keep-integration-tests-alive
126     org: metal3-io
127     proj:
128       - metal3_dev_env:
129           repo: metal3-dev-env
130       - project_infra:
131           repo: project-infra
132           branch: '${{ghprbActualCommit}}'
133           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
134       - capm3:
135           repo: cluster-api-provider-metal3
136       - bmo:
137           repo: baremetal-operator
138       - ipam:
139           repo: ip-address-manager
140       - ironic_image:
141           repo: ironic-image
142     image_os:
143       - ubuntu
144       - centos
145     capm3_target_branch:
146       - main:
147           capi_version: v1beta1
148           capm3_version: v1beta1
149           capm3_release_branch: main
150           bmo_release_branch: main
151           target_branches:
152             - 'main'
153       - release-1-5:
154           capi_version: v1beta1
155           capm3_version: v1beta1
156           capm3_release_branch: release-1.5
157           bmo_release_branch: release-0.4
158           target_branches:
159             - 'main'
160             - 'release-1.5'
161       - release-1-4:
162           capi_version: v1beta1
163           capm3_version: v1beta1
164           capm3_release_branch: release-1.4
165           bmo_release_branch: v0.3.0  # This would point to a tag until we branch out
166           target_branches:
167             - 'main'
168             - 'release-1.4'
169       - release-1-3:
170           capi_version: v1beta1
171           capm3_version: v1beta1
172           capm3_release_branch: release-1.3
173           bmo_release_branch: v0.2.0 # We won't have a BMO branch for this, so pointing to a tag
174           target_branches:
175             - 'main'
176             - 'release-1.3'
177     jobs:
178       - keep_integration_tests
179
180 - project:
181     name: metal3-dev-env-main-tests
182     org: metal3-io
183     repo: metal3-dev-env
184     image_os:
185       - ubuntu
186       - centos
187     jobs:
188       - capm3_main_integration_tests:
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-5:
197                 capi_version: v1beta1
198                 capm3_version: v1beta1
199                 capm3_release_branch: release-1.5
200                 bmo_release_branch: release-0.4
201                 schedule: "30 4 * * *"
202             - release-1-4:
203                 capi_version: v1beta1
204                 capm3_version: v1beta1
205                 capm3_release_branch: release-1.4
206                 bmo_release_branch: v0.3.0
207                 schedule: "30 4 * * *"
208             - release-1-3:
209                 capi_version: v1beta1
210                 capm3_version: v1beta1
211                 capm3_release_branch: release-1.3
212                 bmo_release_branch: v0.2.0
213                 schedule: "30 4 * * *"
214
215 - project:
216     name: bml-tests
217     org: metal3-io
218     image_os: centos
219     jobs:
220       - bml_integration_tests:
221           proj:
222             - metal3_dev_env:
223                 repo: metal3-dev-env
224             - project_infra:
225                 repo: project-infra
226                 branch: '${{ghprbActualCommit}}'
227                 ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
228       - bml_main_integration_tests:
229           repo: metal3-dev-env
230
231 - project:
232     name: 'project_infra_cleanup'
233     repo:
234       org: "metal3-io"
235       name: "project-infra"
236     ci_github_pipeline: 'jenkins/jobs/integration_tests_clean.pipeline'
237     jobs:
238     - main_clean
239
240 - project:
241     name: "capm3"
242     org: metal3-io
243     proj:
244       - capm3:
245           repo: cluster-api-provider-metal3
246       - metal3_dev_env:
247           repo: metal3-dev-env
248       - project_infra:
249           repo: project-infra
250           branch: '${{ghprbActualCommit}}'
251           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
252       - bmo:
253           repo: baremetal-operator
254       - ipam:
255           repo: ip-address-manager
256     image_os:
257       - ubuntu
258       - centos
259     jobs:
260       - capm3_e2e_clusterctl_upgrade_tests:
261           upgrade_from_release:
262             - from-release-1-5:
263                 upgrade_from: v1.5.
264             - from-release-1-4:
265                 upgrade_from: v1.4.
266             - from-release-1-3:
267                 upgrade_from: v1.3.
268             - from-release-0-5:
269                 upgrade_from: v0.5.
270           exclude:
271             - image_os: centos
272       - capm3_e2e_k8s_upgrade_tests:
273           k8s_versions:
274             - 1-27-1-28:
275                 k8s_version_upgrade_from: v1.27.4
276                 k8s_version_upgrade_to: v1.28.1
277                 kubectl_sha256: e7a7d6f9d06fab38b4128785aa80f65c54f6675a0d2abef655259ddd852274e1  # v1.28.1
278                 capm3_release_branch: main
279                 bmo_release_branch: main
280                 capm3_target_branch: main
281                 target_branches:
282                   - 'main'
283             - 1-26-1-27:
284                 k8s_version_upgrade_from: v1.26.4
285                 k8s_version_upgrade_to: v1.27.4
286                 kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f  # v1.27.4
287                 capm3_release_branch: main
288                 capm3_target_branch: main
289                 bmo_release_branch: main
290                 target_branches:
291                   - 'main'
292             - 1-25-1-26:
293                 k8s_version_upgrade_from: v1.25.5
294                 k8s_version_upgrade_to: v1.26.4
295                 kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d  # v1.26.4
296                 capm3_release_branch: main
297                 bmo_release_branch: main
298                 capm3_target_branch: main
299                 target_branches:
300                   - 'main'
301             - 1-26-1-27:
302                 k8s_version_upgrade_from: v1.26.4
303                 k8s_version_upgrade_to: v1.27.4
304                 kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f  # v1.27.4
305                 capm3_release_branch: release-1.5
306                 bmo_release_branch: release-0.4
307                 capm3_target_branch: release-1-5
308                 target_branches:
309                   - 'release-1.5'
310             - 1-26-1-27:
311                 k8s_version_upgrade_from: v1.26.4
312                 kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d  # v1.26.4
313                 k8s_version_upgrade_to: v1.27.4
314                 capm3_release_branch: release-1.4
315                 bmo_release_branch: v0.3.0
316                 capm3_target_branch: release-1-4
317                 target_branches:
318                   - 'release-1.4'
319             - 1-25-1-26:
320                 k8s_version_upgrade_from: v1.25.5
321                 kubectl_sha256: 6a660cd44db3d4bfe1563f6689cbe2ffb28ee4baf3532e04fff2d7b909081c29  # v1.25.5
322                 k8s_version_upgrade_to: v1.26.4
323                 capm3_release_branch: release-1.3
324                 bmo_release_branch: v0.2.0
325                 capm3_target_branch: release-1-3
326                 target_branches:
327                   - 'release-1.3'
328           exclude:
329               - image_os: centos
330       - capm3_e2e_integration_tests:
331           capm3_target_branch:
332             - main:
333                 capi_version: v1beta1
334                 capm3_version: v1beta1
335                 capm3_release_branch: main
336                 bmo_release_branch: main
337                 target_branches:
338                   - 'main'
339             - release-1-5:
340                 capi_version: v1beta1
341                 capm3_version: v1beta1
342                 capm3_release_branch: release-1.5
343                 bmo_release_branch: release-0.4
344                 target_branches:
345                   - 'main'
346                   - 'release-1.5'
347             - release-1-4:
348                 capi_version: v1beta1
349                 capm3_version: v1beta1
350                 capm3_release_branch: release-1.4
351                 bmo_release_branch: v0.3.0
352                 target_branches:
353                   - 'main'
354                   - 'release-1.4'
355       - capm3_e2e_basic_tests:
356           capm3_target_branch:
357             - main:
358                 capi_version: v1beta1
359                 capm3_version: v1beta1
360                 capm3_release_branch: main
361                 bmo_release_branch: main
362                 target_branches:
363                   - 'main'
364             - release-1-5:
365                 capi_version: v1beta1
366                 capm3_version: v1beta1
367                 capm3_release_branch: release-1.5
368                 bmo_release_branch: release-0.4
369                 target_branches:
370                   - 'main'
371                   - 'release-1.5'
372       - capm3_e2e_feature_tests:
373           capm3_target_branch:
374             - main:
375                 capi_version: v1beta1
376                 capm3_version: v1beta1
377                 capm3_release_branch: main
378                 bmo_release_branch: main
379                 target_branches:
380                   - 'main'
381             - release-1-5:
382                 capi_version: v1beta1
383                 capm3_version: v1beta1
384                 capm3_release_branch: release-1.5
385                 bmo_release_branch: release-0.4
386                 target_branches:
387                   - 'release-1.5'
388             - release-1-4:
389                 capi_version: v1beta1
390                 capm3_version: v1beta1
391                 capm3_release_branch: release-1.4
392                 bmo_release_branch: v0.3.0
393                 target_branches:
394                   - 'release-1.4'
395             - release-1-3:
396                 capi_version: v1beta1
397                 capm3_version: v1beta1
398                 capm3_release_branch: release-1.3
399                 bmo_release_branch: v0.2.0
400                 target_branches:
401                   - 'release-1.3'
402       - keep_capm3_e2e_integration_tests:
403           capm3_target_branch:
404             - main:
405                 capi_version: v1beta1
406                 capm3_version: v1beta1
407                 capm3_release_branch: main
408                 bmo_release_branch: main
409                 target_branches:
410                   - 'main'
411             - release-1-5:
412                 capi_version: v1beta1
413                 capm3_version: v1beta1
414                 capm3_release_branch: release-1.5
415                 bmo_release_branch: release-0.4
416                 target_branches:
417                   - 'main'
418                   - 'release-1.5'
419       - keep_capm3_e2e_basic_tests:
420           capm3_target_branch:
421             - main:
422                 capi_version: v1beta1
423                 capm3_version: v1beta1
424                 capm3_release_branch: main
425                 bmo_release_branch: main
426                 target_branches:
427                   - 'main'
428             - release-1-5:
429                 capi_version: v1beta1
430                 capm3_version: v1beta1
431                 capm3_release_branch: release-1.5
432                 bmo_release_branch: release-0.4
433                 target_branches:
434                   - 'main'
435                   - 'release-1.5'
436       - keep_capm3_e2e_feature_tests:
437           capm3_target_branch:
438             - main:
439                 capi_version: v1beta1
440                 capm3_version: v1beta1
441                 capm3_release_branch: main
442                 bmo_release_branch: main
443                 target_branches:
444                   - 'main'
445             - release-1-5:
446                 capi_version: v1beta1
447                 capm3_version: v1beta1
448                 capm3_release_branch: release-1.5
449                 bmo_release_branch: release-0.4
450                 target_branches:
451                   - 'release-1.5'
452             - release-1-4:
453                 capi_version: v1beta1
454                 capm3_version: v1beta1
455                 capm3_release_branch: release-1.4
456                 bmo_release_branch: v0.3.0
457                 target_branches:
458                   - 'release-1.4'
459             - release-1-3:
460                 capi_version: v1beta1
461                 capm3_version: v1beta1
462                 capm3_release_branch: release-1.3
463                 bmo_release_branch: v0.2.0
464                 target_branches:
465                   - 'release-1.3'
466       - keep_capm3_e2e_clusterctl_upgrade_tests:
467           upgrade_from_release:
468             - from-release-1-5:
469                 upgrade_from: v1.5.
470             - from-release-1-4:
471                 upgrade_from: v1.4.
472             - from-release-1-3:
473                 upgrade_from: v1.3.
474             - from-release-0-5:
475                 upgrade_from: v0.5.
476           exclude:
477             - image_os: centos
478       - keep_capm3_e2e_k8s_upgrade_tests:
479           k8s_versions:
480             - 1-27-1-28:
481                 k8s_version_upgrade_from: v1.27.4
482                 k8s_version_upgrade_to: v1.28.1
483                 kubectl_sha256: e7a7d6f9d06fab38b4128785aa80f65c54f6675a0d2abef655259ddd852274e1  # v1.28.1
484                 capm3_release_branch: main
485                 bmo_release_branch: main
486                 capm3_target_branch: main
487                 target_branches:
488                   - 'main'
489             - 1-26-1-27:
490                 k8s_version_upgrade_from: v1.26.4
491                 k8s_version_upgrade_to: v1.27.4
492                 kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f  # v1.27.4
493                 capm3_release_branch: main
494                 bmo_release_branch: main
495                 capm3_target_branch: main
496                 target_branches:
497                   - 'main'
498             - 1-25-1-26:
499                 k8s_version_upgrade_from: v1.25.5
500                 k8s_version_upgrade_to: v1.26.4
501                 kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d  # v1.26.4
502                 capm3_release_branch: main
503                 bmo_release_branch: main
504                 capm3_target_branch: main
505                 target_branches:
506                   - 'main'
507             - 1-26-1-27:
508                 k8s_version_upgrade_from: v1.26.4
509                 k8s_version_upgrade_to: v1.27.4
510                 kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f  # v1.27.4
511                 capm3_release_branch: release-1.5
512                 bmo_release_branch: release-0.4
513                 capm3_target_branch: release-1-5
514                 target_branches:
515                   - 'release-1.5'
516             - 1-26-1-27:
517                 k8s_version_upgrade_from: v1.26.4
518                 kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d  # v1.26.4
519                 k8s_version_upgrade_to: v1.27.4
520                 capm3_release_branch: release-1.4
521                 bmo_release_branch: v0.3.0
522                 capm3_target_branch: release-1-4
523                 target_branches:
524                   - 'release-1.4'
525             - 1-25-1-26:
526                 k8s_version_upgrade_from: v1.25.5
527                 kubectl_sha256: 6a660cd44db3d4bfe1563f6689cbe2ffb28ee4baf3532e04fff2d7b909081c29  # v1.25.5
528                 k8s_version_upgrade_to: v1.26.4
529                 capm3_release_branch: release-1.3
530                 bmo_release_branch: v0.2.0
531                 capm3_target_branch: release-1-3
532                 target_branches:
533                   - 'release-1.3'
534           exclude:
535             - image_os: centos
536
537 - project:
538     name: "capm3-main-tests"
539     repo:
540       org: "metal3-io"
541       name: "cluster-api-provider-metal3"
542     image_os:
543       - ubuntu
544       - centos
545     jobs:
546       - capm3_main_e2e_clusterctl_upgrade_tests:
547           upgrade_from_release:
548             - from-release-1-5:
549                 upgrade_from: v1.5.
550             - from-release-1-4:
551                 upgrade_from: v1.4.
552             - from-release-1-3:
553                 upgrade_from: v1.3.
554             - from-release-0-5:
555                 upgrade_from: v0.5.
556           exclude:
557             - image_os: centos
558       - capm3_main_e2e_k8s_upgrade_tests:
559           k8s_versions:
560             - 1-27-1-28:
561                 k8s_version_upgrade_from: v1.27.4
562                 k8s_version_upgrade_to: v1.28.1
563                 kubectl_sha256: e7a7d6f9d06fab38b4128785aa80f65c54f6675a0d2abef655259ddd852274e1  # v1.28.1
564                 capm3_release_branch: main
565                 bmo_release_branch: main
566                 capm3_target_branch: main
567                 target_branches:
568                   - 'main'
569             - 1-26-1-27:
570                 k8s_version_upgrade_from: v1.26.4
571                 k8s_version_upgrade_to: v1.27.4
572                 kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f  # v1.27.4
573                 capm3_release_branch: main
574                 bmo_release_branch: main
575                 capm3_target_branch: main
576             - 1-25-1-26:
577                 k8s_version_upgrade_from: v1.25.5
578                 k8s_version_upgrade_to: v1.26.4
579                 kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d  # v1.26.4
580                 capm3_release_branch: main
581                 bmo_release_branch: main
582                 capm3_target_branch: main
583             - 1-26-1-27:
584                 k8s_version_upgrade_from: v1.26.4
585                 k8s_version_upgrade_to: v1.27.4
586                 kubectl_sha256: 4685bfcf732260f72fce58379e812e091557ef1dfc1bc8084226c7891dd6028f  # v1.27.4
587                 capm3_release_branch: release-1.5
588                 bmo_release_branch: release-0.4
589                 capm3_target_branch: release-1-5
590             - 1-26-1-27:
591                 k8s_version_upgrade_from: v1.26.4
592                 kubectl_sha256: 636ac0eaa467dbceda4b2c4e33662adc9709f5ce40341c9fc1a687fc276ac02d  # v1.26.4
593                 k8s_version_upgrade_to: v1.27.4
594                 capm3_release_branch: release-1.4
595                 bmo_release_branch: v0.3.0
596                 capm3_target_branch: release-1-4
597             - 1-25-1-26:
598                 k8s_version_upgrade_from: v1.25.5
599                 kubectl_sha256: 6a660cd44db3d4bfe1563f6689cbe2ffb28ee4baf3532e04fff2d7b909081c29  # v1.25.5
600                 k8s_version_upgrade_to: v1.26.4
601                 capm3_release_branch: release-1.3
602                 bmo_release_branch: v0.2.0
603                 capm3_target_branch: release-1-3
604           exclude:
605               - image_os: centos
606       - capm3_main_e2e_ephemeral_tests:
607           exclude:
608             - image_os: ubuntu
609       - capm3_main_e2e_integration_tests:
610           capm3_target_branch:
611             - main:
612                 capi_version: v1beta1
613                 capm3_version: v1beta1
614                 capm3_release_branch: main
615                 bmo_release_branch: main
616                 schedule: "H 4 * * *"
617             - release-1-5:
618                 capi_version: v1beta1
619                 capm3_version: v1beta1
620                 capm3_release_branch: release-1.5
621                 bmo_release_branch: release-0.4
622                 schedule: "30 4 * * *"
623       - capm3_main_e2e_feature_tests:
624           capm3_target_branch:
625             - main:
626                 capi_version: v1beta1
627                 capm3_version: v1beta1
628                 capm3_branch: main
629                 capm3_release_branch: main
630                 bmo_release_branch: main
631                 schedule: "H 2 * * *"
632             - release-1-5:
633                 capi_version: v1beta1
634                 capm3_version: v1beta1
635                 capm3_branch: release-1.5
636                 capm3_release_branch: release-1.5
637                 bmo_release_branch: release-0.4
638                 schedule: "H 11 * * *"
639             - release-1-4:
640                 capi_version: v1beta1
641                 capm3_version: v1beta1
642                 capm3_branch: release-1.4
643                 capm3_release_branch: release-1.4
644                 bmo_release_branch: v0.3.0
645                 schedule: "H 5 * * *"
646             - release-1-3:
647                 capi_version: v1beta1
648                 capm3_version: v1beta1
649                 capm3_branch: release-1.3
650                 capm3_release_branch: release-1.3
651                 bmo_release_branch: v0.2.0
652                 schedule: "H 8 * * *"
653
654 - project:
655     name: 'ironic_image_build_tests'
656     org: metal3-io
657     proj:
658       - project_infra:
659           repo: project-infra
660           branch: '${{ghprbActualCommit}}'
661           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
662       - ironic_image:
663           repo: ironic-image
664     jobs:
665       - ironic_image_build_tests