d56eb57c51dfb14ed27507453be92e8e261a7571
[releng/builder.git] / jjb / releng-macros.yaml
1 # OLD Releng macros
2
3 - parameter:
4     name: project-parameter
5     parameters:
6         - string:
7             name: PROJECT
8             default: '{project}'
9             description: "JJB configured PROJECT parameter to identify an ODL Gerrit project"
10
11 - parameter:
12     name: gerrit-parameter
13     parameters:
14         - string:
15             name: GERRIT_BRANCH
16             default: '{branch}'
17             description: "JJB configured GERRIT_BRANCH parameter"
18
19 - parameter:
20     name: gerrit-project-parameter
21     parameters:
22         - string:
23             name: GERRIT_PROJECT
24             default: '{project}'
25             description: "GERRIT_PROJECT parameter if not given by trigger"
26
27 - parameter:
28     name: gerrit-refspec-parameter
29     parameters:
30         - string:
31             name: GERRIT_REFSPEC
32             default: '{refspec}'
33             description: "GERRIT_REFSPEC parameter if not given by trigger"
34
35 - parameter:
36     name: controller-version-parameter
37     parameters:
38         - string:
39             name: ODL_VERSION
40             default: '{odl_version}'
41             description: 'Controller version (for use with openstacks networking_odl project)'
42
43 - parameter:
44     name: patches-to-build-parameter
45     parameters:
46         - string:
47             name: PATCHES_TO_BUILD
48             default: ''
49             description: 'csv list of patches in project:changeset format to build distribution with'
50
51 - parameter:
52     name: distribution-branch-to-build-parameter
53     parameters:
54         - string:
55             name: DISTRIBUTION_BRANCH_TO_BUILD
56             default: 'master'
57             description: 'distribution repo branch to build with'
58
59 - scm:
60     name: git-scm
61     scm:
62         - git:
63             credentials-id: '{credentials-id}'
64             url: '$GIT_BASE'
65             refspec: ''
66             branches:
67                 - 'origin/{branch}'
68             skip-tag: true
69             wipe-workspace: true
70
71 - scm:
72     name: gerrit-trigger-scm
73     scm:
74         - git:
75             credentials-id: '{credentials-id}'
76             url: '$GIT_BASE'
77             refspec: '{refspec}'
78             branches:
79                 - 'origin/$GERRIT_BRANCH'
80             skip-tag: true
81             choosing-strategy: '{choosing-strategy}'
82
83 - wrapper:
84     name: build-timeout
85     wrappers:
86         - timeout:
87             type: absolute
88             timeout: 360
89             fail: true
90
91 - trigger:
92     name: gerrit-trigger-patch-submitted
93     triggers:
94         - gerrit:
95             server-name: 'OpenDaylight'
96             trigger-on:
97                 - patchset-created-event:
98                     exclude-drafts: 'false'
99                     exclude-trivial-rebase: 'false'
100                     exclude-no-code-change: 'false'
101                 - draft-published-event
102                 - comment-added-contains-event:
103                     comment-contains-value: 'recheck'
104                 - comment-added-contains-event:
105                     comment-contains-value: 'reverify'
106             projects:
107               - project-compare-type: 'ANT'
108                 project-pattern: '{name}'
109                 branches:
110                   - branch-compare-type: 'ANT'
111                     branch-pattern: '**/{branch}'
112
113 - trigger:
114     name: gerrit-trigger-patch-merged
115     triggers:
116         - gerrit:
117             server-name: 'OpenDaylight'
118             trigger-on:
119                 - change-merged-event
120                 - comment-added-contains-event:
121                     comment-contains-value: 'remerge'
122             projects:
123               - project-compare-type: 'ANT'
124                 project-pattern: '{name}'
125                 branches:
126                   - branch-compare-type: 'ANT'
127                     branch-pattern: '**/{branch}'
128
129 - trigger:
130     name: gerrit-trigger-patch-sonar
131     triggers:
132         - gerrit:
133             server-name: 'OpenDaylight'
134             trigger-on:
135                 - comment-added-contains-event:
136                     comment-contains-value: 'run-sonar'
137             projects:
138               - project-compare-type: 'ANT'
139                 project-pattern: '{name}'
140                 branches:
141                   - branch-compare-type: 'ANT'
142                     branch-pattern: '**/master'
143             skip-vote:
144                 successful: true
145                 failed: true
146                 unstable: true
147                 notbuilt: true
148
149 - trigger:
150     name: gerrit-trigger-patch-site-merged
151     triggers:
152         - gerrit:
153             server-name: 'OpenDaylight'
154             trigger-on:
155                 - change-merged-event
156                 - comment-added-contains-event:
157                     comment-contains-value: 'republish'
158             projects:
159               - project-compare-type: 'ANT'
160                 project-pattern: '{name}'
161                 branches:
162                     - branch-compare-type: 'ANT'
163                       branch-pattern: '**/{branch}'
164
165 - publisher:
166     name: archive-artifacts
167     publishers:
168         - archive:
169             artifacts: '{artifacts}'
170             allow-empty: true
171             fingerprint: true
172             latest-only: true
173
174 - publisher:
175     name: email-notification
176     publishers:
177         - email-ext:
178             recipients: 'jenkins@lists.opendaylight.org'
179             reply-to:
180             content-type: default
181             subject: '{email-prefix} $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!'
182             body: |
183                 $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS:
184
185                 Check console output at $BUILD_URL to view the results.
186             unstable: true
187             fixed: true
188             send-to:
189                 - developers
190                 - recipients
191
192 - publisher:
193         name: jacoco-report
194         publishers:
195             - jacoco:
196                 exec-pattern: "**/**.exec"
197                 class-pattern: "**/classes"
198                 source-pattern: "**/src/main/java"
199                 exclusion-pattern: "**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**"
200                 status-update: true
201                 targets:
202                   - branch:
203                       healthy: 10
204                       unhealthy: 20
205                   - method:
206                       healthy: 50
207                       unhealthy: 40
208
209 - builder:
210     name: wipe-org-opendaylight-repo
211     builders:
212         - shell: 'if [ -d /tmp/r/org/opendaylight ]; then rm -rf /tmp/r/org/opendaylight; fi'
213
214 - builder:
215     name: jacoco-nojava-workaround
216     builders:
217         - shell: 'mkdir -p $WORKSPACE/target/classes $WORKSPACE/jacoco/classes'
218
219 - builder:
220     name: check-clm
221     builders:
222         - sonatype-clm:
223             application-name: '{application-name}'
224
225 - builder:
226     name: releng-check-unicode
227     builders:
228         - shell: |
229             $WORKSPACE/scripts/check-unicode.sh jjb/
230
231 - builder:
232     name: provide-maven-settings
233     builders:
234     - config-file-provider:
235         files:
236         - file-id: '{global-settings-file}'
237           variable: 'GLOBAL_SETTINGS_FILE'
238         - file-id: '{settings-file}'
239           variable: 'SETTINGS_FILE'