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