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