Merge "Revert "Enable shallow clone for git repos""
[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: build-tag
37     parameters:
38         - string:
39             name: BUILD_TAG
40             default: ''
41             description: 'Tag in Git to checkout'
42
43 - parameter:
44     name: controller-version-parameter
45     parameters:
46         - string:
47             name: ODL_VERSION
48             default: '{odl_version}'
49             description: 'Controller version (for use with openstacks networking_odl project)'
50
51 - parameter:
52     name: patches-to-build-parameter
53     parameters:
54         - string:
55             name: PATCHES_TO_BUILD
56             default: ''
57             description: 'csv list of patches in project:changeset format to build distribution with'
58
59 - parameter:
60     name: distribution-branch-to-build-parameter
61     parameters:
62         - string:
63             name: DISTRIBUTION_BRANCH_TO_BUILD
64             default: 'master'
65             description: 'distribution repo branch to build with'
66
67 - parameter:
68     name: p2zip-parameter
69     parameters:
70         - string:
71             name: P2ZIP_URL
72             default: ''
73             description: 'Nexus staging profile id'
74
75 - parameter:
76     name: stage-id-parameter
77     parameters:
78         - string:
79             name: STAGING_PROFILE_ID
80             default: '{stage-id}'
81             description: 'Nexus staging profile id'
82
83 - scm:
84     name: git-scm
85     scm:
86         - git:
87             credentials-id: '{credentials-id}'
88             url: '$GIT_BASE'
89             refspec: ''
90             branches:
91                 - 'origin/{branch}'
92             skip-tag: true
93             wipe-workspace: true
94
95 - scm:
96     name: gerrit-trigger-scm
97     scm:
98         - git:
99             credentials-id: '{credentials-id}'
100             url: '$GIT_BASE'
101             refspec: '{refspec}'
102             branches:
103                 - 'origin/$GERRIT_BRANCH'
104             skip-tag: true
105             choosing-strategy: '{choosing-strategy}'
106
107 - wrapper:
108     name: build-timeout
109     wrappers:
110         - timeout:
111             type: absolute
112             timeout: 360
113             fail: true
114
115 - trigger:
116     name: gerrit-trigger-patch-submitted
117     triggers:
118         - gerrit:
119             server-name: 'OpenDaylight'
120             trigger-on:
121                 - patchset-created-event:
122                     exclude-drafts: 'false'
123                     exclude-trivial-rebase: 'false'
124                     exclude-no-code-change: 'false'
125                 - draft-published-event
126                 - comment-added-contains-event:
127                     comment-contains-value: 'recheck'
128                 - comment-added-contains-event:
129                     comment-contains-value: 'reverify'
130             projects:
131               - project-compare-type: 'ANT'
132                 project-pattern: '{name}'
133                 branches:
134                   - branch-compare-type: 'ANT'
135                     branch-pattern: '**/{branch}'
136
137 - trigger:
138     name: gerrit-trigger-patch-merged
139     triggers:
140         - gerrit:
141             server-name: 'OpenDaylight'
142             trigger-on:
143                 - change-merged-event
144                 - comment-added-contains-event:
145                     comment-contains-value: 'remerge'
146             projects:
147               - project-compare-type: 'ANT'
148                 project-pattern: '{name}'
149                 branches:
150                   - branch-compare-type: 'ANT'
151                     branch-pattern: '**/{branch}'
152
153 - trigger:
154     name: gerrit-trigger-patch-sonar
155     triggers:
156         - gerrit:
157             server-name: 'OpenDaylight'
158             trigger-on:
159                 - comment-added-contains-event:
160                     comment-contains-value: 'run-sonar'
161             projects:
162               - project-compare-type: 'ANT'
163                 project-pattern: '{name}'
164                 branches:
165                   - branch-compare-type: 'ANT'
166                     branch-pattern: '**/master'
167             skip-vote:
168                 successful: true
169                 failed: true
170                 unstable: true
171                 notbuilt: true
172
173 - trigger:
174     name: gerrit-trigger-patch-site-merged
175     triggers:
176         - gerrit:
177             server-name: 'OpenDaylight'
178             trigger-on:
179                 - change-merged-event
180                 - comment-added-contains-event:
181                     comment-contains-value: 'republish'
182             projects:
183               - project-compare-type: 'ANT'
184                 project-pattern: '{name}'
185                 branches:
186                     - branch-compare-type: 'ANT'
187                       branch-pattern: '**/{branch}'
188
189 - publisher:
190     name: archive-artifacts
191     publishers:
192         - archive:
193             artifacts: '{artifacts}'
194             allow-empty: true
195             fingerprint: true
196             latest-only: true
197
198 - publisher:
199     name: email-notification
200     publishers:
201         - email-ext:
202             recipients: 'jenkins@lists.opendaylight.org'
203             reply-to:
204             content-type: default
205             subject: '{email-prefix} $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!'
206             body: |
207                 $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS:
208
209                 Check console output at $BUILD_URL to view the results.
210             unstable: true
211             fixed: true
212             send-to:
213                 - developers
214                 - recipients
215
216 - publisher:
217         name: jacoco-report
218         publishers:
219             - jacoco:
220                 exec-pattern: "**/**.exec"
221                 class-pattern: "**/classes"
222                 source-pattern: "**/src/main/java"
223                 exclusion-pattern: "**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**"
224                 status-update: true
225                 targets:
226                   - branch:
227                       healthy: 10
228                       unhealthy: 20
229                   - method:
230                       healthy: 50
231                       unhealthy: 40
232
233 - builder:
234     name: wipe-org-opendaylight-repo
235     builders:
236         - shell: 'if [ -d /tmp/r/org/opendaylight ]; then rm -rf /tmp/r/org/opendaylight; fi'
237
238 - builder:
239     name: jacoco-nojava-workaround
240     builders:
241         - shell: 'mkdir -p $WORKSPACE/target/classes $WORKSPACE/jacoco/classes'
242
243 - builder:
244     name: check-clm
245     builders:
246         - sonatype-clm:
247             application-name: '{application-name}'
248
249 - builder:
250     name: releng-check-unicode
251     builders:
252         - shell: |
253             $WORKSPACE/scripts/check-unicode.sh jjb/
254
255 - builder:
256     name: provide-maven-settings
257     builders:
258     - config-file-provider:
259         files:
260         - file-id: '{global-settings-file}'
261           variable: 'GLOBAL_SETTINGS_FILE'
262         - file-id: '{settings-file}'
263           variable: 'SETTINGS_FILE'
264
265 - builder:
266     name: releng-generate-p2pom
267     builders:
268         - shell: !include-raw: include-raw-generate-p2pom.sh
269
270 - builder:
271     name: releng-update-p2composite-metadata
272     builders:
273     - shell: !include-raw: include-raw-update-p2composite-metadata.sh
274     - maven-target:
275         maven-version: '{maven-version}'
276         pom: 'deploy-composite-repo.xml'
277         goals: 'clean deploy -V -Dmaven.repo.local=/tmp/r'
278         settings: '{settings}'
279         global-settings: '{global-settings}'
280
281 - builder:
282     name: releng-stage-release
283     builders:
284         - shell: !include-raw: include-raw-stage-release.sh