Merge "Add script for gpg signing artifacts"
[releng/builder.git] / jjb / integration / distribution / distribution.yaml
1 # REMOVE THIS LINE IF YOU WANT TO CUSTOMIZE ANYTHING BELOW
2 # Otherwise this file will be automatically overwritten by the template
3 # autobuilder.
4
5 # ODL Releng build templates
6 - project:
7     name: distribution
8     jobs:
9         - 'distribution-sonar'
10         - 'distribution-clm-{stream}'
11         - 'distribution-validate-autorelease-{stream}'
12
13
14     # stream:    release stream (eg. stable-lithium or beryllium)
15     # branch:    git branch (eg. stable/lithium or master)
16     stream:
17         - beryllium:
18             branch: 'master'
19             jdk: openjdk8
20             jdks:
21                 - openjdk8
22                 - openjdk7
23             disable_autorelease: False
24
25     project: 'integration/distribution'
26
27 # For the Job templates below replace instances of:
28 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
29 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
30 # MAVEN_GOALS with your maven goals to build
31 # MAVEN_OPTS with your maven options to build
32
33 - job-template:
34     name: 'distribution-sonar'
35
36     project-type: maven
37     node: dynamic_verify
38     jdk: 'openjdk7'
39
40     logrotate:
41         daysToKeep: '7'
42         numToKeep: '10'
43         artifactDaysToKeep: '1'
44         artifactNumToKeep: '1'
45
46     parameters:
47         - project-parameter:
48             project: '{project}'
49
50     scm:
51         - git-scm:
52             credentials-id: '{ssh-credentials}'
53             refspec: ''
54             branch: 'master'
55
56     wrappers:
57         - build-timeout
58         - ssh-agent-credentials:
59             users:
60                 - '{ssh-credentials}'
61
62     triggers:
63         - timed: '@weekly'
64         - gerrit-trigger-patch-sonar:
65             name: 'integration/distribution'
66
67     prebuilders:
68         - wipe-org-opendaylight-repo
69         - jacoco-nojava-workaround
70         - provide-maven-settings:
71             global-settings-file: '{odl-global-settings}'
72             settings-file: '{integration-distribution-settings}'
73
74     maven:
75         maven-name: '{mvn33}'
76         root-pom: 'pom.xml'
77         goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Djenkins -Dsonar'
78         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
79         settings: '{integration-distribution-settings}'
80         global-settings: '{odl-global-settings}'
81
82     reporters:
83         - findbugs
84
85     publishers:
86         - sonar:
87             language: 'java'
88             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
89         - email-notification:
90             email-prefix: '[distribution]'
91         - jacoco-report
92
93 - job-template:
94     name: 'distribution-clm-{stream}'
95
96     project-type: maven
97     node: dynamic_verify
98     jdk: '{jdk}'
99
100     logrotate:
101         daysToKeep: '{build-days-to-keep}'
102         numToKeep: '{build-num-to-keep}'
103         artifactDaysToKeep: '{build-artifact-days-to-keep}'
104         artifactNumToKeep: '{build-artifact-num-to-keep}'
105
106     parameters:
107         - project-parameter:
108             project: '{project}'
109
110     scm:
111         - git-scm:
112             credentials-id: '{ssh-credentials}'
113             refspec: ''
114             branch: '{branch}'
115
116     wrappers:
117         - build-timeout
118         - ssh-agent-credentials:
119             users:
120                 - '{ssh-credentials}'
121
122     triggers:
123         - timed: '@weekly'
124
125     prebuilders:
126         - wipe-org-opendaylight-repo
127         - provide-maven-settings:
128             global-settings-file: '{odl-global-settings}'
129             settings-file: '{integration-distribution-settings}'
130
131     maven:
132         maven-name: '{mvn33}'
133         root-pom: 'pom.xml'
134         goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
135         maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
136         settings: '{integration-distribution-settings}'
137         global-settings: '{odl-global-settings}'
138
139     postbuilders:
140         - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
141         - check-clm:
142             application-name: distribution
143
144     publishers:
145         - email-notification:
146             email-prefix: '[distribution]'
147
148 - job-template:
149     name: 'distribution-validate-autorelease-{stream}'
150     disabled: '{obj:disable_autorelease}'
151
152     project-type: maven
153     node: dynamic_verify
154     concurrent: true
155     jdk: '{jdk}'
156
157     logrotate:
158         daysToKeep: '{build-days-to-keep}'
159         numToKeep: '{build-num-to-keep}'
160         artifactDaysToKeep: '{build-artifact-days-to-keep}'
161         artifactNumToKeep: '{build-artifact-num-to-keep}'
162
163     parameters:
164         - project-parameter:
165             project: '{project}'
166         - gerrit-parameter:
167             branch: '{branch}'
168         - autorelease-release-tag:
169             release-tag: 'validate'
170         - autorelease-release-branch:
171             release-branch: '{branch}'
172         - autorelease-release-datestamp:
173             datestamp: true
174
175     scm:
176         - git:
177             url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
178             refspec: ''
179             branches:
180                 - 'origin/{branch}'
181             skip-tag: true
182             submodule:
183                 recursive: true
184
185     wrappers:
186         - autorelease-build-timeout
187         - ssh-agent-credentials:
188             users:
189                 - '{ssh-credentials}'
190
191     triggers:
192         - gerrit:
193             server-name: 'OpenDaylight'
194             trigger-on:
195                 - patchset-created-event:
196                     exclude-drafts: 'false'
197                     exclude-trivial-rebase: 'false'
198                     exclude-no-code-change: 'false'
199                 - draft-published-event
200                 - comment-added-contains-event:
201                     comment-contains-value: 'recheck'
202                 - comment-added-contains-event:
203                     comment-contains-value: 'reverify'
204                 - comment-added-contains-event:
205                     comment-contains-value: 'revalidate'
206             projects:
207               - project-compare-type: 'ANT'
208                 project-pattern: 'integration/distribution'
209                 branches:
210                   - branch-compare-type: 'ANT'
211                     branch-pattern: '**/{branch}'
212
213     prebuilders:
214         - wipe-org-opendaylight-repo
215         - jacoco-nojava-workaround
216         - autorelease-checkout-gerrit-patch
217         - autorelease-generate-taglist
218         - autorelease-generate-release-patches
219         - maven-target:
220             maven-version: '{mvn33}'
221             pom: validate-pom.xml
222             goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
223             java-opts:
224             - '-Xmx8g'
225             settings: '{autorelease-settings}'
226             global-settings: '{odl-global-settings}'
227
228     maven:
229         maven-name: '{mvn33}'
230         root-pom: 'pom.xml'
231         goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
232         maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
233         settings: '{autorelease-settings}'
234         global-settings: '{odl-global-settings}'
235         automatic-archiving: false
236         post-step-run-condition: UNSTABLE
237
238     postbuilders:
239         - shell: "./scripts/list-project-dependencies.sh"
240         - autorelease-sys-stats
241
242     publishers:
243         - archive-artifacts:
244             artifacts: '*.log'
245         - email-notification:
246             email-prefix: '[autorelease] [distribution]'
247