2 # Autorelease build jobs
4 name: 'autorelease-release-{stream}'
6 project-type: freestyle
7 node: centos7-autorelease-4c-16g
11 # Default variable values
15 - lf-infra-properties:
16 build-days-to-keep: 30
20 maven-version: 'mvn33'
21 - opendaylight-infra-parameters:
22 os-cloud: '{os-cloud}'
25 refspec: 'refs/heads/{branch}'
26 artifacts: '{archive-artifacts}'
27 - distribution-karaf-version:
28 karaf-version: '{karaf-version}'
29 - autorelease-release-tag:
30 release-tag: '{next-release-tag}'
31 - autorelease-release-branch:
32 release-branch: '{branch}'
35 default: '{extra-mvn-opts}'
37 Additional optional Maven Options to pass to the Maven Goals
41 -Dskip.karaf.featureTest=true # To disable karaf SingleFeatureTests
42 --fail-never # NEVER fail the build, regardless of project result
43 --fail-at-end # Only fail the build afterwards; allow all non-impacted builds to continue
45 name: TRIGGER_DOWNSTREAM_JOBS
50 credentials-id: 'opendaylight-jenkins-ssh'
52 refspec: '$GERRIT_REFSPEC'
55 choosing-strategy: 'gerrit'
62 - opendaylight-infra-wrappers:
69 # force jenkins install of maven version before any shell scripts use it
71 maven-version: 'mvn33'
73 settings: 'autorelease-settings'
75 global-settings: 'global-settings'
76 global-settings-type: cfp
77 - wipe-local-maven-repo
78 - jacoco-nojava-workaround
79 - shell: "./scripts/list-project-dependencies.sh"
80 - autorelease-determine-merge-order
82 autorelease-settings: 'autorelease-settings'
83 global-settings: 'odl-global-settings'
84 - autorelease-generate-taglist
85 - autorelease-distribute-taglist
86 - distribute-build-url:
87 path: 'integration/distribution/$KARAF_ARTIFACT/src/main/assembly'
88 - autorelease-generate-release-patches
89 # In a perfect world projects should be releasing separately and we consume them
90 # via a project that pulls the release bits from each project from Nexus.
91 # Keep the patches compatible with that ideal, but apply an edit
92 # to enable building in a single maven reactor afterwards.
93 - autorelease-fix-relative-paths
95 maven-version: 'mvn33'
100 -Pintegrationtests,docs,repoBuild
101 -Dcheckstyle.skip=true
102 -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage
103 {opendaylight-infra-mvn-opts}
105 - '-Xmx10g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
106 settings: 'autorelease-settings'
108 global-settings: 'global-settings'
109 global-settings-type: cfp
110 - autorelease-maven-deploy
111 - autorelease-get-integration-test-variables
112 - autorelease-maven-sources:
113 opendaylight-infra-mvn-opts: '{opendaylight-infra-mvn-opts}'
114 maven-version: 'mvn33'
115 settings: 'autorelease-settings'
116 global-settings: 'global-settings'
117 - autorelease-maven-sources-post-process
123 - opendaylight-infra-notify-status
128 condition-kind: boolean-expression
129 condition-expression: TRIGGER_DOWNSTREAM_JOBS
132 - project: 'integration-distribution-test-{integration-test}'
133 condition: UNSTABLE_OR_BETTER
134 property-file: variables.jenkins-trigger
135 fail-on-missing: true
136 - project: 'integration-distribution-test-{integration-test}'
138 trigger-with-no-params: true
139 - project: 'integration-sanity-test-{integration-test}'
140 condition: UNSTABLE_OR_BETTER
141 property-file: variables.jenkins-trigger
142 fail-on-missing: true
143 - project: 'integration-sanity-test-{integration-test}'
145 trigger-with-no-params: true
146 - project: 'packaging-build-rpm-{stream}'
147 condition: UNSTABLE_OR_BETTER
148 predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL
149 property-file: variables.jenkins-trigger
150 fail-on-missing: true
151 - project: 'packaging-build-deb-{stream}'
152 condition: UNSTABLE_OR_BETTER
153 predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL
154 property-file: variables.jenkins-trigger
155 fail-on-missing: true
156 script-only-if-succeeded: true
157 script-only-if-failed: true
161 name: autorelease-update-validate-jobs-{stream}
162 project-type: freestyle
163 node: centos7-java-builder-2c-4g
166 - lf-infra-properties:
167 build-days-to-keep: 7
170 - lf-infra-parameters:
171 project: releng/builder
176 - lf-infra-gerrit-scm:
177 git-url: '$GIT_URL/releng/builder'
179 refspec: 'refs/heads/master'
180 jenkins-ssh-credential: opendaylight-jenkins-ssh
181 submodule-recursive: true
182 choosing-strategy: default
186 server-name: '{gerrit-server-name}'
188 - change-merged-event
189 - comment-added-contains-event:
190 comment-contains-value: remerge$
192 - project-compare-type: ANT
193 project-pattern: '{project}'
195 - branch-compare-type: ANT
196 branch-pattern: '**/{branch}'
204 jenkins-ssh-credential: opendaylight-jenkins-ssh
207 - shell: !include-raw-escape:
208 - update-validate-autorelease-projects.sh
209 - opendaylight-infra-push-gerrit-patch:
210 project: 'releng/builder'
211 gerrit-topic: 'autorelease-update-validate-jobs-{stream}'
212 gerrit-commit-message: |
213 Update validate autorelease projects for {stream}
219 name: autorelease-version-bump-{stream}
220 project-type: freestyle
221 node: centos7-autorelease-4c-16g
224 - opendaylight-infra-properties:
225 build-days-to-keep: 7
228 - lf-infra-parameters:
229 project: releng/autorelease
232 refspec: 'refs/heads/{branch}'
235 default: '{next-release-tag}'
237 Release that is being version bumped.
238 Eg. Lithium, Beryllium, Boron, Carbon, Carbon-SR1, Carbon-SR2...
243 If DRY_RUN is enabled modifications are not published to Gerrit.
248 - lf-infra-gerrit-scm:
249 git-url: '$GIT_URL/$GERRIT_PROJECT'
251 refspec: 'refs/heads/{branch}'
252 jenkins-ssh-credential: opendaylight-jenkins-ssh
253 submodule-recursive: true
254 choosing-strategy: default
259 jenkins-ssh-credential: opendaylight-jenkins-ssh
262 # force jenkins install of maven version before any shell scripts use it
266 settings: autorelease-settings
268 global-settings: global-settings
269 global-settings-type: cfp
271 - shell: !include-raw-escape:
272 - ../global-jjb/shell/lftools-install.sh
276 - trigger-parameterized-builds:
277 - project: 'autorelease-generate-release-notes-{stream}'
278 condition: UNSTABLE_OR_BETTER
279 trigger-with-no-params: true
283 name: 'autorelease-generate-release-notes-{stream}'
285 project-type: freestyle
286 node: centos7-java-builder-2c-4g
289 - lf-infra-properties:
290 build-days-to-keep: 7
293 - lf-infra-parameters:
299 - lf-infra-gerrit-scm:
300 git-url: '$GIT_URL/$GERRIT_PROJECT'
302 refspec: 'refs/heads/{branch}'
303 jenkins-ssh-credential: opendaylight-jenkins-ssh
304 submodule-recursive: true
305 choosing-strategy: default
310 jenkins-ssh-credential: opendaylight-jenkins-ssh
320 pom: '$WORKSPACE/scripts/release_notes_management/pom.xml'
323 {opendaylight-infra-mvn-opts}
324 settings: autorelease-settings
326 global-settings: global-settings
327 global-settings-type: cfp
328 - autorelease-generate-release-notes