Add daily e2e intergation tests and the keep tests and fix feature test naming
[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     image_os:
82       - ubuntu
83       - centos
84     capm3_target_branch:
85       - main:
86           capi_version: v1beta1
87           capm3_version: v1beta1
88           capm3_release_branch: main
89           target_branches:
90             - 'main'
91       - release-1-3:
92           capi_version: v1beta1
93           capm3_version: v1beta1
94           capm3_release_branch: release-1.3
95           target_branches:
96             - 'main'
97             - 'release-1.3'
98       - release-1-2:
99           capi_version: v1beta1
100           capm3_version: v1beta1
101           capm3_release_branch: release-1.2
102           target_branches:
103             - 'main'
104             - 'release-1.2'
105       - release-1-1:
106           capi_version: v1beta1
107           capm3_version: v1beta1
108           capm3_release_branch: release-1.1
109           target_branches:
110             - 'main'
111             - 'release-1.1'
112     exclude:
113       - proj: ironic_ipa_downloader
114         image_os: centos
115         capm3_target_branch: release-1-1
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-3:
148           capi_version: v1beta1
149           capm3_version: v1beta1
150           capm3_release_branch: release-1.3
151           target_branches:
152             - 'main'
153             - 'release-1.3'
154       - release-1-2:
155           capi_version: v1beta1
156           capm3_version: v1beta1
157           capm3_release_branch: release-1.2
158           target_branches:
159             - 'main'
160             - 'release-1.2'
161       - release-1-1:
162           capi_version: v1beta1
163           capm3_version: v1beta1
164           capm3_release_branch: release-1.1
165           target_branches:
166             - 'main'
167             - 'release-1.1'
168     jobs:
169       - keep_integration_tests
170
171 - project:
172     name: feature-tests
173     org: metal3-io
174     proj:
175       - metal3_dev_env:
176           repo: metal3-dev-env
177       - project_infra:
178           repo: project-infra
179           branch: '${{ghprbActualCommit}}'
180           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
181       - bmo:
182           repo: baremetal-operator
183     image_os:
184       - ubuntu
185       - centos
186     exclude:
187       - proj: bmo
188         image_os: centos
189     jobs:
190       - feature_tests
191       - feature_tests_upgrade:
192           exclude:
193             - image_os: centos
194             - proj: bmo
195
196 - project:
197     name: metal3-dev-env-main-tests
198     org: metal3-io
199     repo: metal3-dev-env
200     image_os:
201       - ubuntu
202       - centos
203     jobs:
204       - main_feature_tests
205       - main_feature_tests_upgrade:
206           exclude:
207             - image_os: centos
208       - capm3_main_integration_tests:
209           capm3_target_branch:
210             - main:
211                 capi_version: v1beta1
212                 capm3_version: v1beta1
213                 capm3_release_branch: main
214                 schedule: "H 4 * * *"
215             - release-1-3:
216                 capi_version: v1beta1
217                 capm3_version: v1beta1
218                 capm3_release_branch: release-1.3
219                 schedule: "30 4 * * *"
220             - release-1-2:
221                 capi_version: v1beta1
222                 capm3_version: v1beta1
223                 capm3_release_branch: release-1.2
224                 schedule: "30 4 * * *"
225             - release-1-1:
226                 capi_version: v1beta1
227                 capm3_version: v1beta1
228                 capm3_release_branch: release-1.1
229                 schedule: "30 4 * * *"
230
231 - project:
232     name: bml-tests
233     org: metal3-io
234     image_os: centos
235     jobs:
236       - bml_integration_tests:
237           proj:
238             - metal3_dev_env:
239                 repo: metal3-dev-env
240             - project_infra:
241                 repo: project-infra
242                 branch: '${{ghprbActualCommit}}'
243                 ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
244       - bml_main_integration_tests:
245           repo: metal3-dev-env
246
247 - project:
248     name: 'project_infra_cleanup'
249     repo:
250       org: "metal3-io"
251       name: "project-infra"
252     ci_github_pipeline: 'jenkins/jobs/integration_tests_clean.pipeline'
253     jobs:
254     - main_clean
255
256 - project:
257     name: "capm3"
258     org: metal3-io
259     proj:
260       - capm3:
261           repo: cluster-api-provider-metal3
262       - metal3_dev_env:
263           repo: metal3-dev-env
264       - project_infra:
265           repo: project-infra
266           branch: '${{ghprbActualCommit}}'
267           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
268       - bmo:
269           repo: baremetal-operator
270       - ipam:
271           repo: ip-address-manager
272     image_os:
273       - ubuntu
274       - centos
275     capm3_target_branch:
276       - main:
277           capi_version: v1beta1
278           capm3_version: v1beta1
279           capm3_release_branch: main
280           target_branches:
281             - 'main'
282       - release-1-3:
283           capi_version: v1beta1
284           capm3_version: v1beta1
285           capm3_release_branch: release-1.3
286           target_branches:
287             - 'release-1.3'
288       - release-1-2:
289           capi_version: v1beta1
290           capm3_version: v1beta1
291           capm3_release_branch: release-1.2
292           target_branches:
293             - 'release-1.2'
294       - release-1-1:
295           capi_version: v1beta1
296           capm3_version: v1beta1
297           capm3_release_branch: release-1.1
298           target_branches:
299             - 'release-1.1'
300     jobs:
301       - capm3_e2e_upgrade_tests:
302           exclude:
303             - image_os: centos
304       - capm3_e2e_integration_tests:
305       - parallel_capm3_e2e_feature_tests:
306       - capm3_e2e_feature_tests:
307       - keep_capm3_e2e_integration_tests:
308       - keep_capm3_e2e_feature_tests:
309       - keep_capm3_e2e_upgrade_tests:
310           exclude:
311             - image_os: centos
312
313 - project:
314     name: "capm3-main-tests"
315     repo:
316       org: "metal3-io"
317       name: "cluster-api-provider-metal3"
318     image_os:
319       - ubuntu
320       - centos
321     jobs:
322       - capm3_main_e2e_upgrade_tests:
323           exclude:
324             - image_os: centos
325       - capm3_main_e2e_ephemeral_tests:
326           exclude:
327             - image_os: ubuntu
328       - capm3_main_e2e_integration_tests:
329       - capm3_main_e2e_feature_tests:
330           capm3_target_branch:
331             - main:
332                 capi_version: v1beta1
333                 capm3_version: v1beta1
334                 capm3_branch: main
335                 capm3_release_branch: main
336                 schedule: "H 20 * * *"
337             - release-1-3:
338                 capi_version: v1beta1
339                 capm3_version: v1beta1
340                 capm3_branch: release-1.3
341                 capm3_release_branch: release-1.3
342                 schedule: "H 23 * * *"
343             - release-1-2:
344                 capi_version: v1beta1
345                 capm3_version: v1beta1
346                 capm3_branch: release-1.2
347                 capm3_release_branch: release-1.2
348                 schedule: "H 23 * * *"
349             - release-1-1:
350                 capi_version: v1beta1
351                 capm3_version: v1beta1
352                 capm3_branch: release-1.1
353                 capm3_release_branch: release-1.1
354                 schedule: "H 23 * * *"
355
356 - project:
357     name: 'ironic_image_build_tests'
358     org: metal3-io
359     proj:
360       - project_infra:
361           repo: project-infra
362           branch: '${{ghprbActualCommit}}'
363           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
364       - ironic_image:
365           repo: ironic-image
366     jobs:
367       - ironic_image_build_tests