2 # Autorelease build jobs
4 name: 'autorelease-release-{stream}'
6 project-type: freestyle
7 node: centos7-autorelease-4c-16g
11 # Default variable values
16 - lf-infra-properties:
17 build-days-to-keep: 30
20 - lf-infra-parameters:
24 - lf-infra-maven-parameters:
25 mvn-version: '{mvn-version}'
29 - distribution-karaf-version:
30 karaf-version: '{karaf-version}'
31 - autorelease-release-tag:
32 release-tag: '{next-release-tag}'
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: ARCHIVE_ARTIFACTS
46 default: '{archive-artifacts}'
47 description: Artifacts to archive to the logs server.
51 credentials-id: 'opendaylight-jenkins-ssh'
53 refspec: '$GERRIT_REFSPEC'
56 choosing-strategy: 'gerrit'
63 - opendaylight-infra-wrappers:
70 # force jenkins install of maven version before any shell scripts use it
72 mvn-version: '{mvn-version}'
73 - wipe-local-maven-repo
74 - jacoco-nojava-workaround
75 - shell: "./scripts/list-project-dependencies.sh"
76 - autorelease-determine-merge-order
78 autorelease-settings: 'autorelease-settings'
79 global-settings: 'odl-global-settings'
80 - autorelease-generate-taglist
81 - autorelease-distribute-taglist
82 - distribute-build-url:
83 path: 'integration/distribution/$KARAF_ARTIFACT/src/main/assembly'
84 - autorelease-generate-release-patches
85 # In a perfect world projects should be releasing separately and we consume them
86 # via a project that pulls the release bits from each project from Nexus.
87 # Keep the patches compatible with that ideal, but apply an edit
88 # to enable building in a single maven reactor afterwards.
89 - autorelease-fix-relative-paths
91 maven-version: 'mvn33'
96 -Pintegrationtests,docs,repoBuild
97 -Dcheckstyle.skip=true
98 -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage
99 {opendaylight-infra-mvn-opts}
101 - '-Xmx10g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
102 settings: 'autorelease-settings'
104 global-settings: 'global-settings'
105 global-settings-type: cfp
106 - autorelease-maven-deploy
107 - autorelease-get-integration-test-variables
108 - autorelease-maven-sources:
109 opendaylight-infra-mvn-opts: '{opendaylight-infra-mvn-opts}'
110 maven-version: 'mvn33'
111 settings: 'autorelease-settings'
112 global-settings: 'global-settings'
113 - autorelease-maven-sources-post-process
119 - opendaylight-infra-notify-status
120 - trigger-parameterized-builds:
121 - project: 'integration-distribution-test-{integration-test}'
122 condition: UNSTABLE_OR_BETTER
123 property-file: variables.jenkins-trigger
124 fail-on-missing: true
125 - project: 'integration-distribution-test-{integration-test}'
127 trigger-with-no-params: true
128 - project: 'integration-sanity-test-{integration-test}'
129 condition: UNSTABLE_OR_BETTER
130 property-file: variables.jenkins-trigger
131 fail-on-missing: true
132 - project: 'integration-sanity-test-{integration-test}'
134 trigger-with-no-params: true
135 - project: 'packaging-build-rpm-{stream}'
136 condition: UNSTABLE_OR_BETTER
137 predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL
138 property-file: variables.jenkins-trigger
139 fail-on-missing: true
140 - project: 'packaging-build-deb-{stream}'
141 condition: UNSTABLE_OR_BETTER
142 predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL
143 property-file: variables.jenkins-trigger
144 fail-on-missing: true
148 name: autorelease-update-validate-jobs-{stream}
149 project-type: freestyle
150 node: centos7-java-builder-2c-4g
153 - lf-infra-properties:
154 build-days-to-keep: 7
157 - lf-infra-parameters:
158 project: releng/builder
163 - lf-infra-gerrit-scm:
164 git-url: '$GIT_URL/releng/builder'
166 refspec: 'refs/heads/master'
167 jenkins-ssh-credential: opendaylight-jenkins-ssh
168 submodule-recursive: true
169 choosing-strategy: default
173 server-name: '{gerrit-server-name}'
175 - change-merged-event
176 - comment-added-contains-event:
177 comment-contains-value: remerge$
179 - project-compare-type: ANT
180 project-pattern: '{project}'
182 - branch-compare-type: ANT
183 branch-pattern: '**/{branch}'
191 jenkins-ssh-credential: opendaylight-jenkins-ssh
194 - shell: !include-raw-escape:
195 - update-validate-autorelease-projects.sh
196 - opendaylight-infra-push-gerrit-patch:
197 project: 'releng/builder'
198 gerrit-topic: 'autorelease-update-validate-jobs-{stream}'
199 gerrit-commit-message: |
200 Update validate autorelease projects for {stream}
206 name: autorelease-version-bump-{stream}
207 project-type: freestyle
208 node: centos7-autorelease-4c-16g
211 - opendaylight-infra-properties:
212 build-days-to-keep: 7
215 - lf-infra-parameters:
216 project: releng/autorelease
219 refspec: 'refs/heads/{branch}'
222 default: '{next-release-tag}'
224 Release that is being version bumped.
225 Eg. Lithium, Beryllium, Boron, Carbon, Carbon-SR1, Carbon-SR2...
230 If DRY_RUN is enabled modifications are not published to Gerrit.
235 - lf-infra-gerrit-scm:
236 git-url: '$GIT_URL/$GERRIT_PROJECT'
238 refspec: 'refs/heads/{branch}'
239 jenkins-ssh-credential: opendaylight-jenkins-ssh
240 submodule-recursive: true
241 choosing-strategy: default
246 jenkins-ssh-credential: opendaylight-jenkins-ssh
249 # force jenkins install of maven version before any shell scripts use it
253 settings: autorelease-settings
255 global-settings: global-settings
256 global-settings-type: cfp
258 - shell: !include-raw-escape:
259 - ../global-jjb/shell/lftools-install.sh
263 - trigger-parameterized-builds:
264 - project: 'autorelease-generate-release-notes-{stream}'
265 condition: UNSTABLE_OR_BETTER
266 trigger-with-no-params: true
270 name: 'autorelease-generate-release-notes-{stream}'
272 project-type: freestyle
273 node: centos7-java-builder-2c-4g
276 - lf-infra-properties:
277 build-days-to-keep: 7
280 - lf-infra-parameters:
286 - lf-infra-gerrit-scm:
287 git-url: '$GIT_URL/$GERRIT_PROJECT'
289 refspec: 'refs/heads/{branch}'
290 jenkins-ssh-credential: opendaylight-jenkins-ssh
291 submodule-recursive: true
292 choosing-strategy: default
297 jenkins-ssh-credential: opendaylight-jenkins-ssh
307 pom: '$WORKSPACE/scripts/release_notes_management/pom.xml'
310 {opendaylight-infra-mvn-opts}
311 settings: autorelease-settings
313 global-settings: global-settings
314 global-settings-type: cfp
315 - autorelease-generate-release-notes