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