engine: Implement change dependency handling
[infra/cicd.git] / jjb / engine / verify-jobs / kubernetes-verify-tox.yaml
1 ---
2 # ============LICENSE_START=======================================================
3 #  Copyright (C) 2019 Nordix Foundation.
4 # ================================================================================
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #      http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #
17 # SPDX-License-Identifier: Apache-2.0
18 # ============LICENSE_END=========================================================
19
20 - project:
21     name: 'kubernetes-tox'
22
23     project: 'kubernetes-tox'
24
25     # NOTE (fdegir): dot is not an allowed character in groovy var names and also for
26     # naming openstack objects so stream is used for that purpose but branch points to
27     # actual branch name on gerrit
28     stream:
29       - 'master':
30           branch: 'master'
31           gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
32       - '1_17':
33           branch: '1.17'
34           gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
35       - '1_16':
36           branch: '1.16'
37           gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
38       - '1_15':
39           branch: '1.15'
40           gated-projects: 'infra/stack/kubernetes|infra/installer/kubespray'
41
42     lint-type:
43       - ansible-lint:
44           disabled: false
45           repos-to-ignore: ''
46       - shellcheck:
47           disabled: false
48           repos-to-ignore: ''
49       - yamllint:
50           disabled: false
51           repos-to-ignore: ''
52
53     jobs:
54       - 'kubernetes-verify-tox-{stream}'
55       - 'kubernetes-verify-{lint-type}-{stream}'
56
57 - job-template:
58     name: 'kubernetes-verify-tox-{stream}'
59
60     project-type: multijob
61
62     concurrent: true
63
64     node: infra-tools-docker-slave-ubuntu1804
65
66     parameters:
67       - project-parameters:
68           project: $GERRIT_PROJECT
69           branch: '{branch}'
70           description: 'The project and branch which the change is proposed for'
71       - string:
72           name: VERBOSITY
73           default: 'false'
74           description: 'Verbosity setting for the tox script'
75       - nordix-gerrit-parameters
76
77     properties:
78       - logrotate
79       # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
80       - throttle:
81           enabled: true
82           max-per-node: 1
83           max-total: 4
84           option: category
85           categories:
86             - engine-verify-tox
87
88     wrappers:
89       - build-timeout:
90           timeout: 60
91       - fix-workspace-permissions
92
93     scm:
94       - git-scm-gerrit:
95           ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
96           branch: $GERRIT_BRANCH
97           refspec: $GERRIT_REFSPEC
98           wipe_workspace: true
99           clean_before: false
100
101     triggers:
102       - gerrit:
103           server-name: 'Nordix Gerrit'
104           trigger-on:
105             - patchset-created-event:
106                 exclude-drafts: 'false'
107                 exclude-trivial-rebase: 'false'
108                 exclude-no-code-change: 'false'
109             - draft-published-event
110             - comment-added-contains-event:
111                 comment-contains-value: 'recheck'
112             - comment-added-contains-event:
113                 comment-contains-value: 'reverify'
114           projects:
115             - project-compare-type: 'REG_EXP'
116               project-pattern: '{gated-projects}'
117               branches:
118                 - branch-compare-type: 'ANT'
119                   branch-pattern: '**/{branch}'
120               disable-strict-forbidden-file-verification: 'false'
121               forbidden-file-paths:
122                 - compare-type: ANT
123                   pattern: '.gitignore|.gitreview|.yamllint|README.md|bindep.txt|setup.cfg|setup.py'
124           custom-url: '* $JOB_NAME $BUILD_URL'
125           readable-message: 'true'
126
127     builders:
128       - multijob:
129           name: Static Analysis
130           condition: ALWAYS
131           execution-type: PARALLEL
132           projects:
133             - name: 'kubernetes-verify-ansible-lint-{stream}'
134               current-parameters: true
135               kill-phase-on: NEVER
136               abort-all-job: false
137             - name: 'kubernetes-verify-shellcheck-{stream}'
138               current-parameters: true
139               kill-phase-on: NEVER
140               abort-all-job: false
141             - name: 'kubernetes-verify-yamllint-{stream}'
142               current-parameters: true
143               kill-phase-on: NEVER
144               abort-all-job: false
145
146 - job-template:
147     name: 'kubernetes-verify-{lint-type}-{stream}'
148
149     disabled: '{obj:disabled}'
150
151     concurrent: true
152
153     node: infra-tools-docker-slave-ubuntu1804
154
155     parameters:
156       - string:
157           name: LINT_TYPE
158           default: '{lint-type}'
159           description: 'Lint type to run'
160       - string:
161           name: REPOS_TO_IGNORE
162           default: '{repos-to-ignore}'
163           description: 'Repos to ignore for the specific lint type'
164
165     properties:
166       - logrotate
167
168     wrappers:
169       - build-timeout:
170           timeout: 150
171       - fix-workspace-permissions
172
173     scm:
174       - git-scm-gerrit:
175           ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
176           branch: $GERRIT_BRANCH
177           refspec: $GERRIT_REFSPEC
178           wipe_workspace: true
179           clean_before: false
180
181     builders:
182       - 'tox-macro'
183
184 # vim: set ts=2 sw=2 expandtab: