blob: 5bf486cde1e2a0976a61d523cc73516434a0d3ce [file] [log] [blame]
Minna Färme7617002023-07-24 12:24:01 +03001#
2# ============LICENSE_START=======================================================
3# Copyright (C) 2022 Nordix Foundation.
4# ================================================================================
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17# SPDX-License-Identifier: Apache-2.0
18# ============LICENSE_END=========================================================
19
20# Description:
21# ============
22# This file contains job template definition for Cluster API Provider Metal3 (CAPM3) e2e basic integration tests.
23# This job can be triggered manually or through a Github pull request. It creates a
24# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
25
26- job-template:
27 id: capm3_e2e_basic_tests
Mohammed Boukhalfac2051952024-03-05 13:52:43 +020028 name: '{job_prefix}-{image_os}-e2e-basic-test-{capm3_target_branch}'
29 description: "CAPM3 {capm3_version} e2e basic integration tests on {image_os}."
Minna Färme7617002023-07-24 12:24:01 +030030 project-type: pipeline
31 defaults: global
32 disabled: False
33 concurrent: True
34 parameters:
Mohammed Boukhalfa011b1a92024-02-19 08:40:35 +020035 # Parameters set by Prow
36 - string:
37 name: BUILD_ID
38 description: 'Used by Prow when triggering jobs'
39 - string:
40 name: PROW_JOB_ID
41 description: 'Used by Prow when triggering jobs'
42 - string:
43 name: REPO_OWNER
Mohammed Boukhalfa011b1a92024-02-19 08:40:35 +020044 description: 'Project github repo org name'
45 - string:
46 name: REPO_NAME
Mohammed Boukhalfa011b1a92024-02-19 08:40:35 +020047 description: 'Project github repo name'
48 - string:
49 name: PULL_BASE_REF
Sunnatillocad20a42024-04-05 13:43:08 +030050 default: '{capm3_release_branch}'
Mohammed Boukhalfa011b1a92024-02-19 08:40:35 +020051 description: 'Ref name of the base branch'
52 - string:
53 name: PULL_PULL_SHA
Sunnatillocad20a42024-04-05 13:43:08 +030054 default: '{capm3_release_branch}'
Mohammed Boukhalfa011b1a92024-02-19 08:40:35 +020055 description: 'Pull request head SHA'
Mohammed Boukhalfab33e4d02024-03-05 11:04:17 +020056 - string:
57 name: PULL_NUMBER
58 description: 'Pull request number'
Mohammed Boukhalfa011b1a92024-02-19 08:40:35 +020059 # End of Prow parameters
Minna Färme7617002023-07-24 12:24:01 +030060 - string:
Minna Färme7617002023-07-24 12:24:01 +030061 name: IMAGE_OS
62 default: '{image_os}'
63 description: 'Distribution to use for the target host as well as source and target cluster. Can be ubuntu or centos'
64 - string:
65 name: capm3_release_branch
66 default: '{capm3_release_branch}'
67 description: 'The target branch of CAPM3 to be used for this test'
68 - string:
Kashif Khan511cdd32023-10-04 17:04:13 +030069 name: bmo_release_branch
70 default: '{bmo_release_branch}'
71 description: 'The target branch of BMO to be used for this test'
72 - string:
Minna Färme7617002023-07-24 12:24:01 +030073 name: CAPI_VERSION
74 default: '{capi_version}'
75 description: 'Cluster API version. E.g. v1beta1.'
76 - string:
77 name: CAPM3_VERSION
78 default: '{capm3_version}'
79 description: 'Cluster API provider Metal3 version. E.g. v1beta1.'
80 - string:
81 name: TARGET_NODE_MEMORY
82 default: 4096
83 description: 'RAM size of the target host.'
84 - string:
Sunnatillo2483b962024-05-03 13:28:44 +030085 name: NUM_NODES
86 default: 2
87 description: 'Number of libvirt VMs.'
Minna Färme7617002023-07-24 12:24:01 +030088 - string:
89 name: GINKGO_FOCUS
90 default: "basic"
91 description: 'Select the e2e basic integration test'
92
93 properties:
94 - build-discarder:
95 days-to-keep: 30
96 num-to-keep: 300
97 artifact-days-to-keep: -1
98 artifact-num-to-keep: -1
Minna Färme7617002023-07-24 12:24:01 +030099
Mohammed Boukhalfac2051952024-03-05 13:52:43 +0200100 triggers: []
101
Minna Färme7617002023-07-24 12:24:01 +0300102 pipeline-scm:
103 scm:
104 - git:
Mohammed Boukhalfa02279bc2024-03-08 18:19:33 +0200105 url: "{ci_github_repo}"
Minna Färme7617002023-07-24 12:24:01 +0300106 credentials-id: "{ci_github_jenkins_credentials_id}"
107 branches:
Tuomo Tanskanen8b3b7c32024-08-30 08:32:45 +0300108 - '{branch|main}'
Minna Färme7617002023-07-24 12:24:01 +0300109 name: 'origin'
110 refspec: '+refs/heads/*:refs/remotes/origin/*'
111 wipe-workspace: True
112 honor-refspec: True
113 shallow-clone: False
Sunnatilloe8a78ce2024-05-02 11:41:51 +0300114 script-path: "{e2e_tests_pipeline}"
Minna Färme7617002023-07-24 12:24:01 +0300115 lightweight-checkout: False
Mohammed Boukhalfac2051952024-03-05 13:52:43 +0200116
117- project:
118 name: "capm3-basic"
119 image_os:
120 - ubuntu
121 - centos
122 jobs:
123 - capm3_e2e_basic_tests:
124 capm3_target_branch:
125 - main:
126 capi_version: v1beta1
127 capm3_version: v1beta1
128 capm3_release_branch: main
129 bmo_release_branch: main
130 target_branches:
131 - 'main'
Tuomo Tanskanen8b3b7c32024-08-30 08:32:45 +0300132 - release-1-8:
133 capi_version: v1beta1
134 capm3_version: v1beta1
135 capm3_release_branch: release-1.8
136 bmo_release_branch: release-0.8
137 target_branches:
138 - 'main'
139 - 'release-1.8'
140 - 'release-0.8'
Huy Mai9e2b3692024-04-12 13:12:28 +0300141 - release-1-7:
142 capi_version: v1beta1
143 capm3_version: v1beta1
144 capm3_release_branch: release-1.7
145 bmo_release_branch: release-0.6
146 target_branches:
147 - 'main'
148 - 'release-1.7'
149 - 'release-0.6'
Mohammed Boukhalfac2051952024-03-05 13:52:43 +0200150 - release-1-6:
151 capi_version: v1beta1
152 capm3_version: v1beta1
153 capm3_release_branch: release-1.6
154 bmo_release_branch: release-0.5
155 target_branches:
156 - 'main'
157 - 'release-1.6'
158 - 'release-0.5'