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