Merge "Add node image building jjb"
[infra/cicd.git] / jjb / cloud-infra / onap-jobs / onap-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: 'onap-tox'
22
23     project: 'onap-tox'
24
25     stream:
26       - 'master':
27           branch: '{stream}'
28           gated-projects: 'infra/stack/onap|infra/installer/oom'
29       - 'guilin':
30           branch: '{stream}'
31           gated-projects: 'infra/stack/onap|infra/installer/oom'
32       - 'frankfurt':
33           branch: '{stream}'
34           gated-projects: 'infra/stack/onap|infra/installer/oom'
35       - 'elalto':
36           branch: '{stream}'
37           gated-projects: 'infra/stack/onap|infra/installer/oom'
38
39     lint-type:
40       - ansible-lint:
41           disabled: false
42           repos-to-ignore: ''
43       - shellcheck:
44           disabled: false
45           repos-to-ignore: ''
46       - yamllint:
47           disabled: false
48           repos-to-ignore: ''
49
50     jobs:
51       - 'onap-verify-tox-{stream}'
52       - 'onap-verify-{lint-type}-{stream}'
53
54 - job-template:
55     name: 'onap-verify-tox-{stream}'
56
57     project-type: multijob
58
59     concurrent: true
60
61     node: infra-tools-docker-slave-ubuntu1804
62
63     parameters:
64       - project-parameters:
65           project: $GERRIT_PROJECT
66           branch: '{branch}'
67           description: 'The project and branch which the change is proposed for'
68       - string:
69           name: VERBOSITY
70           default: 'false'
71           description: 'Verbosity setting for the tox script'
72       - nordix-gerrit-parameters
73
74     properties:
75       - logrotate
76       # NOTE (fdegir): throttle categories are controlled in jenkins global configuration
77       - throttle:
78           enabled: true
79           max-per-node: 1
80           max-total: 4
81           option: category
82           categories:
83             - engine-verify-tox
84
85     wrappers:
86       - build-timeout:
87           timeout: 60
88       - fix-workspace-permissions
89
90     scm:
91       - git-scm-gerrit:
92           ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
93           branch: $GERRIT_BRANCH
94           refspec: $GERRIT_REFSPEC
95           wipe_workspace: true
96           clean_before: false
97
98     triggers:
99       - gerrit:
100           server-name: 'Nordix Gerrit'
101           trigger-on:
102             - patchset-created-event:
103                 exclude-drafts: 'false'
104                 exclude-trivial-rebase: 'false'
105                 exclude-no-code-change: 'false'
106             - draft-published-event
107             - comment-added-contains-event:
108                 comment-contains-value: 'recheck'
109             - comment-added-contains-event:
110                 comment-contains-value: 'reverify'
111           projects:
112             - project-compare-type: 'REG_EXP'
113               project-pattern: '{gated-projects}'
114               branches:
115                 - branch-compare-type: 'ANT'
116                   branch-pattern: '**/{branch}'
117               disable-strict-forbidden-file-verification: 'false'
118               forbidden-file-paths:
119                 - compare-type: ANT
120                   pattern: '.gitignore|.gitreview|.yamllint|README.md|bindep.txt|setup.cfg|setup.py'
121           custom-url: '* $JOB_NAME $BUILD_URL'
122           readable-message: 'true'
123
124     builders:
125       - multijob:
126           name: Static Analysis
127           condition: ALWAYS
128           execution-type: PARALLEL
129           projects:
130             - name: 'onap-verify-ansible-lint-{stream}'
131               current-parameters: true
132               kill-phase-on: NEVER
133               abort-all-job: false
134             - name: 'onap-verify-shellcheck-{stream}'
135               current-parameters: true
136               kill-phase-on: NEVER
137               abort-all-job: false
138             - name: 'onap-verify-yamllint-{stream}'
139               current-parameters: true
140               kill-phase-on: NEVER
141               abort-all-job: false
142
143 - job-template:
144     name: 'onap-verify-{lint-type}-{stream}'
145
146     disabled: '{obj:disabled}'
147
148     concurrent: true
149
150     node: infra-tools-docker-slave-ubuntu1804
151
152     parameters:
153       - string:
154           name: LINT_TYPE
155           default: '{lint-type}'
156           description: 'Lint type to run'
157       - string:
158           name: REPOS_TO_IGNORE
159           default: '{repos-to-ignore}'
160           description: 'Repos to ignore for the specific lint type'
161
162     properties:
163       - logrotate
164
165     wrappers:
166       - build-timeout:
167           timeout: 150
168       - fix-workspace-permissions
169
170     scm:
171       - git-scm-gerrit:
172           ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
173           branch: $GERRIT_BRANCH
174           refspec: $GERRIT_REFSPEC
175           wipe_workspace: true
176           clean_before: false
177
178     builders:
179       - 'tox-macro'
180
181 # vim: set ts=2 sw=2 expandtab: