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