0e64c81c7649ea454e9a9d9a08f1e1973688454e
[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
126     builders:
127       - multijob:
128           name: Static Analysis
129           condition: ALWAYS
130           execution-type: PARALLEL
131           projects:
132             - name: 'kubernetes-verify-ansible-lint-{stream}'
133               current-parameters: true
134               kill-phase-on: NEVER
135               abort-all-job: false
136             - name: 'kubernetes-verify-shellcheck-{stream}'
137               current-parameters: true
138               kill-phase-on: NEVER
139               abort-all-job: false
140             - name: 'kubernetes-verify-yamllint-{stream}'
141               current-parameters: true
142               kill-phase-on: NEVER
143               abort-all-job: false
144
145 - job-template:
146     name: 'kubernetes-verify-{lint-type}-{stream}'
147
148     disabled: '{obj:disabled}'
149
150     concurrent: true
151
152     node: infra-tools-docker-slave-ubuntu1804
153
154     parameters:
155       - string:
156           name: LINT_TYPE
157           default: '{lint-type}'
158           description: 'Lint type to run'
159       - string:
160           name: REPOS_TO_IGNORE
161           default: '{repos-to-ignore}'
162           description: 'Repos to ignore for the specific lint type'
163
164     properties:
165       - logrotate
166
167     wrappers:
168       - build-timeout:
169           timeout: 150
170       - fix-workspace-permissions
171
172     scm:
173       - git-scm-gerrit:
174           ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
175           branch: $GERRIT_BRANCH
176           refspec: $GERRIT_REFSPEC
177           wipe_workspace: true
178           clean_before: false
179
180     builders:
181       - 'tox-macro'
182
183 # vim: set ts=2 sw=2 expandtab: