Use parrallel e2e for e2e features test
[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_openstack_ipa_and_ironic_image_building
41     - metal3_ipa_and_ironic_image_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     image_os:
80       - ubuntu
81       - centos
82     version:
83       - v1b1:
84           capi_version: v1beta1
85           capm3_version: v1beta1
86           target_branches:
87             - 'main'
88       - v1a5:
89           capi_version: v1alpha4
90           capm3_version: v1alpha5
91           target_branches:
92             - 'main'
93             - 'release-0.5'
94             - 'release-0.1'
95       - v1a4:
96           capi_version: v1alpha3
97           capm3_version: v1alpha4
98           target_branches:
99             - 'main'
100             - 'release-0.4'
101             - 'release-0.0'
102     exclude:
103       - proj: ironic_ipa_downloader
104         image_os: centos
105         version: v1a5
106       - proj: ironic_ipa_downloader
107         image_os: centos
108         version: v1a4
109     jobs:
110       - integration_tests
111
112 - project:
113     name: keep-integration-tests-alive
114     org: metal3-io
115     proj:
116       - metal3_dev_env:
117           repo: metal3-dev-env
118       - project_infra:
119           repo: project-infra
120           branch: '${{ghprbActualCommit}}'
121           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
122       - capm3:
123           repo: cluster-api-provider-metal3
124       - bmo:
125           repo: baremetal-operator
126       - ipam:
127           repo: ip-address-manager
128       - ironic_image:
129           repo: ironic-image
130     image_os:
131       - ubuntu
132       - centos
133     version:
134       - v1b1:
135           capi_version: v1beta1
136           capm3_version: v1beta1
137           target_branches:
138             - 'main'
139       - v1a5:
140           capi_version: v1alpha4
141           capm3_version: v1alpha5
142           target_branches:
143             - 'main'
144             - 'release-0.5'
145             - 'release-0.1'
146     jobs:
147       - keep_integration_tests
148
149 - project:
150     name: feature-tests
151     org: metal3-io
152     proj:
153       - metal3_dev_env:
154           repo: metal3-dev-env
155       - project_infra:
156           repo: project-infra
157           branch: '${{ghprbActualCommit}}'
158           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
159       - bmo:
160           repo: baremetal-operator
161     image_os:
162       - ubuntu
163       - centos
164     exclude:
165       - proj: bmo
166         image_os: centos
167     jobs:
168       - feature_tests
169       - feature_tests_upgrade:
170           exclude:
171             - image_os: centos
172             - proj: bmo
173
174 - project:
175     name: metal3-dev-env-main-tests
176     org: metal3-io
177     repo: metal3-dev-env
178     image_os:
179       - ubuntu
180       - centos
181     jobs:
182       - main_feature_tests
183       - main_feature_tests_upgrade:
184           exclude:
185             - image_os: centos
186       - capm3_main_integration_tests:
187           version:
188             - v1b1:
189                 capi_version: v1beta1
190                 capm3_version: v1beta1
191                 schedule: "H 4 * * *"
192             - v1a5:
193                 capi_version: v1alpha4
194                 capm3_version: v1alpha5
195                 schedule: "30 4 * * *"
196
197 - project:
198     name: bml-tests
199     org: metal3-io
200     image_os: centos
201     jobs:
202       - bml_integration_tests:
203           proj:
204             - metal3_dev_env:
205                 repo: metal3-dev-env
206             - project_infra:
207                 repo: project-infra
208                 branch: '${{ghprbActualCommit}}'
209                 ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
210       - bml_main_integration_tests:
211           repo: metal3-dev-env
212
213 - project:
214     name: 'project_infra_cleanup'
215     repo:
216       org: "metal3-io"
217       name: "project-infra"
218     ci_github_pipeline: 'jenkins/jobs/integration_tests_clean.pipeline'
219     jobs:
220     - main_clean
221
222 - project:
223     name: "capm3"
224     org: metal3-io
225     proj:
226       - capm3:
227           repo: cluster-api-provider-metal3
228       - metal3_dev_env:
229           repo: metal3-dev-env
230       - project_infra:
231           repo: project-infra
232           branch: '${{ghprbActualCommit}}'
233           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
234       - bmo:
235           repo: baremetal-operator
236     image_os:
237       - ubuntu
238       - centos
239     version:
240       - v1b1:
241           capi_version: v1beta1
242           capm3_version: v1beta1
243           target_branches:
244             - 'main'
245       - v1a5:
246           capi_version: v1alpha4
247           capm3_version: v1alpha5
248           target_branches:
249             - 'release-0.5'
250     jobs:
251       - capm3_e2e_upgrade_tests:
252           exclude:
253             - image_os: centos
254             - version:
255               - v1b1
256               - v1a5
257       - capm3_e2e_tests_parallel:
258       - capm3_e2e_tests:
259       - keep_capm3_e2e_tests:
260
261 - project:
262     name: "capm3-main-tests"
263     repo:
264       org: "metal3-io"
265       name: "cluster-api-provider-metal3"
266     image_os:
267       - ubuntu
268       - centos
269     jobs:
270       - capm3_main_e2e_upgrade_tests:
271           exclude:
272             - image_os: centos
273       - capm3_main_e2e_ephemeral_tests:
274           exclude:
275             - image_os: ubuntu
276       - capm3_main_e2e_tests:
277           version:
278             - v1b1:
279                 capi_version: v1beta1
280                 capm3_version: v1beta1
281                 capm3_branch: main
282                 schedule: "H 20 * * *"
283             - v1a5:
284                 capi_version: v1alpha4
285                 capm3_version: v1alpha5
286                 capm3_branch: release-0.5
287                 schedule: "H 23 * * *"
288
289
290 - project:
291     name: 'ironic_image_build_tests'
292     org: metal3-io
293     proj:
294       - project_infra:
295           repo: project-infra
296           branch: '${{ghprbActualCommit}}'
297           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
298       - ironic_image:
299           repo: ironic-image
300     jobs:
301       - ironic_image_build_tests