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