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