83490d9965f16c88f51db71b472d3ef55149b6a2
[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           build_mariadb_image_locally: 'true'
82           ironic_use_mariadb: 'true'
83     image_os:
84       - ubuntu
85       - centos
86     capm3_target_branch:
87       - main:
88           capi_version: v1beta1
89           capm3_version: v1beta1
90           capm3_release_branch: main
91           target_branches:
92             - 'main'
93       - release-1-4:
94           capi_version: v1beta1
95           capm3_version: v1beta1
96           capm3_release_branch: release-1.4
97           target_branches:
98             - 'main'
99             - 'release-1.4'
100       - release-1-3:
101           capi_version: v1beta1
102           capm3_version: v1beta1
103           capm3_release_branch: release-1.3
104           target_branches:
105             - 'main'
106             - 'release-1.3'
107       - release-1-2:
108           capi_version: v1beta1
109           capm3_version: v1beta1
110           capm3_release_branch: release-1.2
111           target_branches:
112             - 'main'
113             - 'release-1.2'
114       - release-1-1:
115           capi_version: v1beta1
116           capm3_version: v1beta1
117           capm3_release_branch: release-1.1
118           target_branches:
119             - 'main'
120             - 'release-1.1'
121     exclude:
122       - proj: ironic_ipa_downloader
123         image_os: centos
124         capm3_target_branch: release-1-1
125     jobs:
126       - integration_tests
127
128 - project:
129     name: keep-integration-tests-alive
130     org: metal3-io
131     proj:
132       - metal3_dev_env:
133           repo: metal3-dev-env
134       - project_infra:
135           repo: project-infra
136           branch: '${{ghprbActualCommit}}'
137           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
138       - capm3:
139           repo: cluster-api-provider-metal3
140       - bmo:
141           repo: baremetal-operator
142       - ipam:
143           repo: ip-address-manager
144       - ironic_image:
145           repo: ironic-image
146     image_os:
147       - ubuntu
148       - centos
149     capm3_target_branch:
150       - main:
151           capi_version: v1beta1
152           capm3_version: v1beta1
153           capm3_release_branch: main
154           target_branches:
155             - 'main'
156       - release-1-4:
157           capi_version: v1beta1
158           capm3_version: v1beta1
159           capm3_release_branch: release-1.4
160           target_branches:
161             - 'main'
162             - 'release-1.4'
163       - release-1-3:
164           capi_version: v1beta1
165           capm3_version: v1beta1
166           capm3_release_branch: release-1.3
167           target_branches:
168             - 'main'
169             - 'release-1.3'
170       - release-1-2:
171           capi_version: v1beta1
172           capm3_version: v1beta1
173           capm3_release_branch: release-1.2
174           target_branches:
175             - 'main'
176             - 'release-1.2'
177       - release-1-1:
178           capi_version: v1beta1
179           capm3_version: v1beta1
180           capm3_release_branch: release-1.1
181           target_branches:
182             - 'main'
183             - 'release-1.1'
184     jobs:
185       - keep_integration_tests
186
187 - project:
188     name: feature-tests
189     org: metal3-io
190     proj:
191       - metal3_dev_env:
192           repo: metal3-dev-env
193       - project_infra:
194           repo: project-infra
195           branch: '${{ghprbActualCommit}}'
196           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
197       - bmo:
198           repo: baremetal-operator
199     image_os:
200       - ubuntu
201       - centos
202     exclude:
203       - proj: bmo
204         image_os: centos
205     jobs:
206       - feature_tests
207
208 - project:
209     name: metal3-dev-env-main-tests
210     org: metal3-io
211     repo: metal3-dev-env
212     image_os:
213       - ubuntu
214       - centos
215     jobs:
216       - main_feature_tests
217       - capm3_main_integration_tests:
218           capm3_target_branch:
219             - main:
220                 capi_version: v1beta1
221                 capm3_version: v1beta1
222                 capm3_release_branch: main
223                 schedule: "H 4 * * *"
224             - release-1-4:
225                 capi_version: v1beta1
226                 capm3_version: v1beta1
227                 capm3_release_branch: release-1.4
228                 schedule: "30 4 * * *"
229             - release-1-3:
230                 capi_version: v1beta1
231                 capm3_version: v1beta1
232                 capm3_release_branch: release-1.3
233                 schedule: "30 4 * * *"
234             - release-1-2:
235                 capi_version: v1beta1
236                 capm3_version: v1beta1
237                 capm3_release_branch: release-1.2
238                 schedule: "30 4 * * *"
239             - release-1-1:
240                 capi_version: v1beta1
241                 capm3_version: v1beta1
242                 capm3_release_branch: release-1.1
243                 schedule: "30 4 * * *"
244
245 - project:
246     name: bml-tests
247     org: metal3-io
248     image_os: centos
249     jobs:
250       - bml_integration_tests:
251           proj:
252             - metal3_dev_env:
253                 repo: metal3-dev-env
254             - project_infra:
255                 repo: project-infra
256                 branch: '${{ghprbActualCommit}}'
257                 ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
258       - bml_main_integration_tests:
259           repo: metal3-dev-env
260
261 - project:
262     name: 'project_infra_cleanup'
263     repo:
264       org: "metal3-io"
265       name: "project-infra"
266     ci_github_pipeline: 'jenkins/jobs/integration_tests_clean.pipeline'
267     jobs:
268     - main_clean
269
270 - project:
271     name: "capm3"
272     org: metal3-io
273     proj:
274       - capm3:
275           repo: cluster-api-provider-metal3
276       - metal3_dev_env:
277           repo: metal3-dev-env
278       - project_infra:
279           repo: project-infra
280           branch: '${{ghprbActualCommit}}'
281           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
282       - bmo:
283           repo: baremetal-operator
284       - ipam:
285           repo: ip-address-manager
286     image_os:
287       - ubuntu
288       - centos
289     capm3_target_branch:
290       - main:
291           capi_version: v1beta1
292           capm3_version: v1beta1
293           capm3_release_branch: main
294           target_branches:
295             - 'main'
296       - release-1-4:
297           capi_version: v1beta1
298           capm3_version: v1beta1
299           capm3_release_branch: release-1.4
300           target_branches:
301             - 'release-1.4'
302       - release-1-3:
303           capi_version: v1beta1
304           capm3_version: v1beta1
305           capm3_release_branch: release-1.3
306           target_branches:
307             - 'release-1.3'
308       - release-1-2:
309           capi_version: v1beta1
310           capm3_version: v1beta1
311           capm3_release_branch: release-1.2
312           target_branches:
313             - 'release-1.2'
314       - release-1-1:
315           capi_version: v1beta1
316           capm3_version: v1beta1
317           capm3_release_branch: release-1.1
318           target_branches:
319             - 'release-1.1'
320     jobs:
321       - capm3_e2e_upgrade_tests:
322           upgrade_from_release:
323             - from-release-1-1:
324                 upgrade_from: v1.1.
325             - from-release-0-5:
326                 upgrade_from: v0.5.
327           exclude:
328             - image_os: centos
329       - capm3_e2e_integration_tests:
330       - parallel_capm3_e2e_feature_tests:
331       - capm3_e2e_feature_tests:
332       - keep_capm3_e2e_integration_tests:
333       - keep_capm3_e2e_feature_tests:
334       - keep_capm3_e2e_upgrade_tests:
335           exclude:
336             - image_os: centos
337
338 - project:
339     name: "capm3-main-tests"
340     repo:
341       org: "metal3-io"
342       name: "cluster-api-provider-metal3"
343     image_os:
344       - ubuntu
345       - centos
346     jobs:
347       - capm3_main_e2e_upgrade_tests:
348           upgrade_from_release:
349             - from-release-1-1:
350                 upgrade_from: v1.1.
351             - from-release-0-5:
352                 upgrade_from: v0.5.
353           exclude:
354             - image_os: centos
355       - capm3_main_e2e_ephemeral_tests:
356           exclude:
357             - image_os: ubuntu
358       - capm3_main_e2e_integration_tests:
359       - capm3_main_e2e_feature_tests:
360           capm3_target_branch:
361             - main:
362                 capi_version: v1beta1
363                 capm3_version: v1beta1
364                 capm3_branch: main
365                 capm3_release_branch: main
366                 schedule: "H 20 * * *"
367             - release-1-4:
368                 capi_version: v1beta1
369                 capm3_version: v1beta1
370                 capm3_branch: release-1.4
371                 capm3_release_branch: release-1.4
372                 schedule: "H 23 * * *"
373             - release-1-3:
374                 capi_version: v1beta1
375                 capm3_version: v1beta1
376                 capm3_branch: release-1.3
377                 capm3_release_branch: release-1.3
378                 schedule: "H 23 * * *"
379             - release-1-2:
380                 capi_version: v1beta1
381                 capm3_version: v1beta1
382                 capm3_branch: release-1.2
383                 capm3_release_branch: release-1.2
384                 schedule: "H 23 * * *"
385             - release-1-1:
386                 capi_version: v1beta1
387                 capm3_version: v1beta1
388                 capm3_branch: release-1.1
389                 capm3_release_branch: release-1.1
390                 schedule: "H 23 * * *"
391
392 - project:
393     name: 'ironic_image_build_tests'
394     org: metal3-io
395     proj:
396       - project_infra:
397           repo: project-infra
398           branch: '${{ghprbActualCommit}}'
399           ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
400       - ironic_image:
401           repo: ironic-image
402     jobs:
403       - ironic_image_build_tests