Merge "Add a new job for TSDR elasticSearch"
[releng/builder.git] / jjb / autorelease / autorelease-projects.yaml
1 ---
2 - project:
3     name: autorelease-projects
4     jobs:
5       - 'autorelease-release-{stream}'
6       - 'autorelease-project-report-{stream}'
7
8     stream:
9       - carbon:
10           next-release-tag: Carbon
11           branch: 'master'
12           jdk: 'openjdk8'
13           integration-test: carbon
14       - boron:
15           next-release-tag: Boron-SR3
16           branch: 'stable/boron'
17           jdk: 'openjdk8'
18           integration-test: boron
19       - beryllium:
20           next-release-tag: Beryllium-SR5
21           branch: 'stable/beryllium'
22           jdk: 'openjdk7'
23           integration-test: beryllium
24
25     project: 'releng/autorelease'
26     archive-artifacts: '**/*.prop **/*.log **/patches/*.bundle **/patches/*.patch all-bundles.tar.gz'
27
28 ###
29 # TODO: Remove this job once guava21 testing is complete
30 ###
31
32 - project:
33     name: autorelease-projects-guava21
34     jobs:
35       - 'autorelease-release-guava21-{stream}'
36
37     stream:
38       - carbon:
39           next-release-tag: Guava21-Testing
40           branch: 'master'
41           jdk: 'openjdk8'
42           integration-test: carbon
43
44     project: 'releng/autorelease'
45     archive-artifacts: '**/*.prop **/*.log **/patches/*.bundle **/patches/*.patch all-bundles.tar.gz'
46
47 - job-template:
48     name: 'autorelease-release-guava21-{stream}'
49
50     project-type: freestyle
51     node: centos7-autorelease-4c-16g
52     jdk: '{jdk}'
53
54     properties:
55       - opendaylight-infra-properties:
56           build-days-to-keep: '30'
57
58     parameters:
59       - maven-exec:
60           maven-version: 'mvn33'
61       - opendaylight-infra-parameters:
62           project: '{project}'
63           branch: '{branch}'
64           refspec: 'refs/heads/{branch}'
65           artifacts: '{archive-artifacts}'
66       - autorelease-release-tag:
67           release-tag: '{next-release-tag}'
68       - autorelease-release-branch:
69           release-branch: '{branch}'
70
71     scm:
72       - git:
73           credentials-id: 'opendaylight-jenkins-ssh'
74           url: '$GIT_BASE'
75           refspec: '$GERRIT_REFSPEC'
76           branches:
77             - '$GERRIT_BRANCH'
78           choosing-strategy: 'gerrit'
79           skip-tag: true
80           submodule:
81             recursive: true
82             timeout: 60
83
84     wrappers:
85       - opendaylight-infra-wrappers:
86           build-timeout: '1440'
87
88     triggers:
89       - gerrit:
90           server-name: '{server-name}'
91           trigger-on:
92             - comment-added-contains-event:
93                 comment-contains-value: 'test-guava21-patches'
94           projects:
95             - project-compare-type: 'ANT'
96               project-pattern: '{project}'
97               branches:
98                 - branch-compare-type: 'ANT'
99                   branch-pattern: '**/{branch}'
100           skip-vote:
101             successful: true
102             failed: true
103             unstable: true
104             notbuilt: true
105
106     builders:
107       - shell: |
108           #!/bin/bash
109           cd bgpcep
110           git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/bgpcep
111           git review -d 50184
112           cd ..
113           cd centinel
114           git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/centinel
115           git review -d 50185
116           cd ..
117           cd controller
118           git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/controller
119           git review -d 50176
120           cd ..
121           cd didm
122           git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/didm
123           git review -d 50187
124           cd ..
125           cd faas
126           git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/faas
127           git review -d 50190
128           cd ..
129           cd genius
130           git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/genius
131           git review -d 50192
132           cd ..
133           cd groupbasedpolicy
134           git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/groupbasedpolicy
135           git review -d 50200
136           cd ..
137           cd netvirt
138           git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/netvirt
139           git review -d 50215
140           cd ..
141           cd odlparent
142           git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/odlparent
143           git review -d 49820
144           cd ..
145           cd openflowplugin
146           git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/openflowplugin
147           git review -d 50183
148           cd ..
149           cd ovsdb
150           git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/ovsdb
151           git review -d 50191
152           cd ..
153           cd yangtools
154           git remote add gerrit ssh://jenkins-$SILO@git.opendaylight.org:29418/yangtools
155           git review -d 50173
156           cd ..
157       # force jenkins install of maven version before any shell scripts use it
158       - maven-target:
159           maven-version: 'mvn33'
160           goals: '-version'
161           settings: 'autorelease-settings'
162           settings-type: cfp
163           global-settings: 'odl-global-settings'
164           global-settings-type: cfp
165       - wipe-local-maven-repo
166       - jacoco-nojava-workaround
167       - shell: "./scripts/list-project-dependencies.sh"
168       - autorelease-determine-merge-order
169       - autorelease-cfp:
170           autorelease-settings: 'autorelease-settings'
171           odl-global-settings: 'odl-global-settings'
172       - autorelease-generate-taglist
173       - autorelease-distribute-taglist
174       - autorelease-generate-release-patches
175       # In a perfect world projects should be releasing separately and we consume them
176       # via a project that pulls the release bits from each project from Nexus.
177       # Keep the patches compatible with that ideal, but apply an edit
178       # to enable building in a single maven reactor afterwards.
179       - autorelease-fix-relative-paths
180       - maven-target:
181           maven-version: 'mvn33'
182           pom: 'pom.xml'
183           goals: >
184               clean deploy -V -B -Pintegrationtests,docs,repoBuild -Djenkins
185               -Dcheckstyle.skip=true
186               -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
187               -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage
188           java-opts:
189             - '-Xmx10g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
190           settings: 'autorelease-settings'
191           settings-type: cfp
192           global-settings: 'odl-global-settings'
193           global-settings-type: cfp
194       - autorelease-maven-deploy
195       - autorelease-get-integration-test-variables
196       - autorelease-maven-sources:
197           maven-version: 'mvn33'
198           settings: 'autorelease-settings'
199           global-settings: 'odl-global-settings'
200       - autorelease-maven-sources-post-process
201       - autorelease-sys-stats
202       - shell: |
203           mkdir -p archives/
204           cp *.log *.prop $_
205
206     publishers:
207       - email-notification:
208           email-recipients: '{email-recipients}'
209           email-prefix: '[autorelease]'
210       - trigger-parameterized-builds:
211           - project: 'integration-distribution-test-{integration-test}'
212             condition: UNSTABLE_OR_BETTER
213             property-file: variables.jenkins-trigger
214             fail-on-missing: true
215       - opendaylight-infra-shiplogs:
216           maven-version: 'mvn33'