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