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