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