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