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
47 credentials-id: 'opendaylight-jenkins-ssh'
49 refspec: '$GERRIT_REFSPEC'
52 choosing-strategy: 'gerrit'
59 - opendaylight-infra-wrappers:
66 # force jenkins install of maven version before any shell scripts use it
68 maven-version: 'mvn33'
70 settings: 'autorelease-settings'
72 global-settings: 'global-settings'
73 global-settings-type: cfp
74 - wipe-local-maven-repo
75 - jacoco-nojava-workaround
76 - shell: "./scripts/list-project-dependencies.sh"
77 - autorelease-determine-merge-order
79 autorelease-settings: 'autorelease-settings'
80 global-settings: 'odl-global-settings'
81 - autorelease-generate-taglist
82 - autorelease-distribute-taglist
83 - distribute-build-url:
84 path: 'integration/distribution/$KARAF_ARTIFACT/src/main/assembly'
85 - autorelease-generate-release-patches
86 # In a perfect world projects should be releasing separately and we consume them
87 # via a project that pulls the release bits from each project from Nexus.
88 # Keep the patches compatible with that ideal, but apply an edit
89 # to enable building in a single maven reactor afterwards.
90 - autorelease-fix-relative-paths
92 maven-version: 'mvn33'
97 -Pintegrationtests,docs,repoBuild
98 -Dcheckstyle.skip=true
99 -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage
100 {opendaylight-infra-mvn-opts}
102 - '-Xmx10g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
103 settings: 'autorelease-settings'
105 global-settings: 'global-settings'
106 global-settings-type: cfp
107 - autorelease-maven-deploy
108 - autorelease-get-integration-test-variables
109 - autorelease-maven-sources:
110 opendaylight-infra-mvn-opts: '{opendaylight-infra-mvn-opts}'
111 maven-version: 'mvn33'
112 settings: 'autorelease-settings'
113 global-settings: 'global-settings'
114 - autorelease-maven-sources-post-process
120 - opendaylight-infra-notify-status
121 - trigger-parameterized-builds:
122 - project: 'integration-distribution-test-{integration-test}'
123 condition: UNSTABLE_OR_BETTER
124 property-file: variables.jenkins-trigger
125 fail-on-missing: true
126 - project: 'integration-distribution-test-{integration-test}'
128 trigger-with-no-params: true
129 - project: 'integration-sanity-test-{integration-test}'
130 condition: UNSTABLE_OR_BETTER
131 property-file: variables.jenkins-trigger
132 fail-on-missing: true
133 - project: 'integration-sanity-test-{integration-test}'
135 trigger-with-no-params: true
136 - project: 'packaging-build-rpm-{stream}'
137 condition: UNSTABLE_OR_BETTER
138 predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL
139 property-file: variables.jenkins-trigger
140 fail-on-missing: true
141 - project: 'packaging-build-deb-{stream}'
142 condition: UNSTABLE_OR_BETTER
143 predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL
144 property-file: variables.jenkins-trigger
145 fail-on-missing: true
149 name: autorelease-update-validate-jobs-{stream}
150 project-type: freestyle
151 node: centos7-java-builder-2c-4g
154 - lf-infra-properties:
155 build-days-to-keep: 7
158 - lf-infra-parameters:
159 project: releng/builder
164 - lf-infra-gerrit-scm:
165 git-url: '$GIT_URL/releng/builder'
167 refspec: 'refs/heads/master'
168 jenkins-ssh-credential: opendaylight-jenkins-ssh
169 submodule-recursive: true
170 choosing-strategy: default
174 server-name: '{gerrit-server-name}'
176 - change-merged-event
177 - comment-added-contains-event:
178 comment-contains-value: remerge$
180 - project-compare-type: ANT
181 project-pattern: '{project}'
183 - branch-compare-type: ANT
184 branch-pattern: '**/{branch}'
192 jenkins-ssh-credential: opendaylight-jenkins-ssh
195 - shell: !include-raw-escape:
196 - update-validate-autorelease-projects.sh
197 - opendaylight-infra-push-gerrit-patch:
198 project: 'releng/builder'
199 gerrit-topic: 'autorelease-update-validate-jobs-{stream}'
200 gerrit-commit-message: |
201 Update validate autorelease projects for {stream}
207 name: autorelease-version-bump-{stream}
208 project-type: freestyle
209 node: centos7-autorelease-4c-16g
212 - opendaylight-infra-properties:
213 build-days-to-keep: 7
216 - lf-infra-parameters:
217 project: releng/autorelease
220 refspec: 'refs/heads/{branch}'
223 default: '{next-release-tag}'
225 Release that is being version bumped.
226 Eg. Lithium, Beryllium, Boron, Carbon, Carbon-SR1, Carbon-SR2...
231 If DRY_RUN is enabled modifications are not published to Gerrit.
236 - lf-infra-gerrit-scm:
237 git-url: '$GIT_URL/$GERRIT_PROJECT'
239 refspec: 'refs/heads/{branch}'
240 jenkins-ssh-credential: opendaylight-jenkins-ssh
241 submodule-recursive: true
242 choosing-strategy: default
247 jenkins-ssh-credential: opendaylight-jenkins-ssh
250 # force jenkins install of maven version before any shell scripts use it
254 settings: autorelease-settings
256 global-settings: global-settings
257 global-settings-type: cfp
259 - shell: !include-raw-escape:
260 - ../global-jjb/shell/lftools-install.sh
264 - trigger-parameterized-builds:
265 - project: 'autorelease-generate-release-notes-{stream}'
266 condition: UNSTABLE_OR_BETTER
267 trigger-with-no-params: true
271 name: 'autorelease-generate-release-notes-{stream}'
273 project-type: freestyle
274 node: centos7-java-builder-2c-4g
277 - lf-infra-properties:
278 build-days-to-keep: 7
281 - lf-infra-parameters:
287 - lf-infra-gerrit-scm:
288 git-url: '$GIT_URL/$GERRIT_PROJECT'
290 refspec: 'refs/heads/{branch}'
291 jenkins-ssh-credential: opendaylight-jenkins-ssh
292 submodule-recursive: true
293 choosing-strategy: default
298 jenkins-ssh-credential: opendaylight-jenkins-ssh
308 pom: '$WORKSPACE/scripts/release_notes_management/pom.xml'
311 {opendaylight-infra-mvn-opts}
312 settings: autorelease-settings
314 global-settings: global-settings
315 global-settings-type: cfp
316 - autorelease-generate-release-notes