4abbc086599fa060a860841ad517b5aedaa3426f
[releng.git] / jjb / clover / clover-project.yaml
1 ---
2 ###################################################
3 # All the jobs except verify have been removed!
4 # They will only be enabled on request by projects!
5 ###################################################
6 - project:
7     name: clover
8
9     project: '{name}'
10
11     jobs:
12       - 'clover-verify-{stream}'
13       - 'clover-daily-upload-{stream}'
14       - 'clover-daily-deploy-{stream}'
15
16     stream:
17       - master:
18           branch: '{stream}'
19           gs-pathname: ''
20           disabled: false
21       - gambia:
22           branch: 'stable/{stream}'
23           gs-pathname: '/{stream}'
24           disabled: false
25       - fraser:
26           branch: 'stable/{stream}'
27           gs-pathname: '/{stream}'
28           disabled: false
29
30 - job-template:
31     name: 'clover-verify-{stream}'
32
33     disabled: '{obj:disabled}'
34
35     parameters:
36       - project-parameter:
37           project: '{project}'
38           branch: '{branch}'
39       # yamllint disable rule:line-length
40       - string:
41           name: GIT_BASE
42           default: https://gerrit.opnfv.org/gerrit/$PROJECT
43           description: "Used for overriding the GIT URL coming from Global Jenkins\
44             \ configuration in case if the stuff is done on none-LF HW."
45       # yamllint enable rule:line-length
46       - 'opnfv-build-ubuntu-defaults'
47
48     scm:
49       - git-scm-gerrit
50
51     triggers:
52       - gerrit:
53           server-name: 'gerrit.opnfv.org'
54           trigger-on:
55             - patchset-created-event:
56                 exclude-drafts: 'false'
57                 exclude-trivial-rebase: 'false'
58                 exclude-no-code-change: 'false'
59             - draft-published-event
60             - comment-added-contains-event:
61                 comment-contains-value: 'recheck'
62             - comment-added-contains-event:
63                 comment-contains-value: 'reverify'
64           projects:
65             - project-compare-type: 'ANT'
66               project-pattern: '{project}'
67               branches:
68                 - branch-compare-type: 'ANT'
69                   branch-pattern: '**/{branch}'
70               disable-strict-forbidden-file-verification: 'true'
71               forbidden-file-paths:
72                 - compare-type: ANT
73                   pattern: 'docs/**|.gitignore'
74
75     builders:
76       - shell: |
77           cd $WORKSPACE/ci
78           ./verify.sh
79
80 - job-template:
81     name: 'clover-daily-upload-{stream}'
82
83     disabled: '{obj:disabled}'
84
85     concurrent: false
86
87     scm:
88       - git-scm
89
90     triggers:
91       - timed: '0 8 * * *'
92
93     wrappers:
94       - fix-workspace-permissions
95
96     parameters:
97       - project-parameter:
98           project: '{project}'
99           branch: '{branch}'
100       - 'opnfv-build-ubuntu-defaults'
101       - 'clover-defaults':
102           gs-pathname: '{gs-pathname}'
103
104     builders:
105       - shell: |
106           cd $WORKSPACE/ci
107           ./upload.sh
108
109 - job-template:
110     name: 'clover-daily-deploy-{stream}'
111
112     project-type: freestyle
113
114     disabled: '{obj:disabled}'
115
116     concurrent: false
117
118     properties:
119       - logrotate-default
120       - throttle:
121           enabled: true
122           max-per-node: 1
123           option: 'project'
124       - build-blocker:
125           use-build-blocker: true
126           blocking-jobs:
127             - 'clover-daily-deploy-.*?'
128             - 'container4nfv-daily-deploy-.*?'
129           blocking-level: 'NODE'
130
131     wrappers:
132       - timeout:
133           timeout: 180
134           abort: true
135       - fix-workspace-permissions
136
137     parameters:
138       - project-parameter:
139           project: '{project}'
140           branch: '{branch}'
141       # yamllint disable rule:line-length
142       - string:
143           name: GIT_BASE
144           default: https://gerrit.opnfv.org/gerrit/$PROJECT
145           description: "Used for overriding the GIT URL coming from Global Jenkins\
146             \ configuration in case if the stuff is done on none-LF HW."
147       # yamllint enable rule:line-length
148       - node:
149           name: SLAVE_NAME
150           description: 'Slave name on Jenkins'
151           allowed-slaves:
152             - huawei-virtual6
153           default-slaves:
154             - huawei-virtual6
155
156     scm:
157       - git-scm
158
159     triggers:
160       - timed: '0 9 * * *'
161
162     builders:
163       - shell: |
164           cd $WORKSPACE/ci
165           ./deploy.sh
166
167 ###################
168 # parameter macros
169 ###################
170 - parameter:
171     name: 'clover-defaults'
172     parameters:
173       - string:
174           name: GS_URL
175           default: artifacts.opnfv.org/$PROJECT{gs-pathname}
176           description: "URL to Google Storage."