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