3 # Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
5 # Licensed under the Apache License, Version 2.0 (the "License"); you may
6 # not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
18 id: akraino-project-stream-release-config
19 name: '{project-name}-{stream}-release-config'
21 ######################
22 # Default parameters #
23 ######################
28 **/target/**/feature.xml
29 **/target/failsafe-reports/failsafe-summary.xml
30 **/target/surefire-reports/*-output.txt
31 build-days-to-keep: 30
33 java-version: openjdk8
34 maven-repo-url: '$NEXUS_URL/content/repositories/snapshots'
35 mvn-global-settings: global-settings
39 nexus-shapshot-repo: snapshots
41 staging-profile-id: '' # Unused by this job.
43 submodule-recursive: true
44 upload-files-dir: /tmp/tardir
50 project-type: freestyle
54 - lf-infra-properties:
55 build-days-to-keep: '{build-days-to-keep}'
58 - lf-infra-parameters:
62 lftools-version: '{lftools-version}'
63 - lf-infra-maven-parameters:
64 mvn-opts: '{mvn-opts}'
65 mvn-params: '{mvn-params}'
66 mvn-version: '{mvn-version}'
67 # Staging repos do not make sense for CLM jobs so set it blank.
68 staging-profile-id: '{staging-profile-id}'
70 name: ARCHIVE_ARTIFACTS
71 default: '{archive-artifacts}'
72 description: Artifacts to archive to the logs server.
74 name: UPLOAD_FILES_PATH
75 default: '{upload-files-dir}'
76 description: File path to generate tarball and upload to repository.
80 build-timeout: '{build-timeout}'
81 jenkins-ssh-credential: '{jenkins-ssh-credential}'
83 gerrit_merge_triggers:
85 - comment-added-contains-event:
86 comment-contains-value: remerge$
88 gerrit_trigger_file_paths:
89 - compare-type: REG_EXP
93 - lf-infra-gerrit-scm:
94 jenkins-ssh-credential: '{jenkins-ssh-credential}'
95 git-url: '{git-url}/{project}.git'
98 submodule-recursive: '{submodule-recursive}'
99 submodule-timeout: '{submodule-timeout}'
100 submodule-disable: false
101 choosing-strategy: default
104 - timed: '{obj:cron}'
106 server-name: '{gerrit-server-name}'
107 trigger-on: '{obj:gerrit_merge_triggers}'
109 - project-compare-type: ANT
110 project-pattern: '{project}'
112 - branch-compare-type: ANT
113 branch-pattern: '**/{branch}'
114 file-paths: '{obj:gerrit_trigger_file_paths}'
119 mvn-version: '{mvn-version}'
120 - lf-update-java-alternatives:
121 java-version: '{java-version}'
122 - lf-provide-maven-settings:
123 global-settings-file: '{mvn-global-settings}'
124 settings-file: '{mvn-settings}'
125 - shell: !include-raw-escape:
126 - ../shell/make-tar.sh
127 - lf-infra-deploy-maven-file:
128 global-settings-file: '{mvn-global-settings}'
129 settings-file: '{mvn-settings}'
130 mvn-version: '{mvn-version}'
132 group-id: '{group-id}'
133 upload-files-dir: '{upload-files-dir}'
134 maven-repo-url: '{maven-repo-url}'
141 id: akraino-project-stream-stage-config
142 name: '{project-name}-{stream}-stage-config'
144 ######################
145 # Default parameters #
146 ######################
151 **/target/**/feature.xml
152 **/target/failsafe-reports/failsafe-summary.xml
153 **/target/surefire-reports/*-output.txt
154 build-days-to-keep: 14
158 git-url: '$GIT_URL/$PROJECT'
159 github-url: 'https://github.com'
160 java-version: openjdk8
161 mvn-global-settings: global-settings
162 mvn-goals: clean deploy
166 sign-artifacts: false
168 submodule-recursive: true
169 upload-files-dir: m2repo # expected by "lftools deploy nexus-stage"
171 #####################
172 # Job Configuration #
173 #####################
175 project-type: freestyle
179 - lf-infra-properties:
180 build-days-to-keep: '{build-days-to-keep}'
183 - lf-infra-parameters:
187 lftools-version: '{lftools-version}'
188 - lf-infra-maven-parameters:
189 mvn-opts: '{mvn-opts}'
190 mvn-params: '{mvn-params}'
191 mvn-version: '{mvn-version}'
192 staging-profile-id: '{staging-profile-id}'
194 name: ARCHIVE_ARTIFACTS
195 default: '{archive-artifacts}'
196 description: Artifacts to archive to the logs server.
198 name: UPLOAD_FILES_PATH
199 default: '{upload-files-dir}'
200 description: File path to generate tarball and upload to repository.
202 name: STAGING_PROFILE_ID
203 default: '{staging-profile-id}'
204 description: Nexus staging profile ID.
208 description: Mark this as a staging build.
212 build-timeout: '{build-timeout}'
213 jenkins-ssh-credential: '{jenkins-ssh-credential}'
215 gerrit_release_triggers:
216 - comment-added-contains-event:
217 comment-contains-value: stage-release$
219 disabled: '{disable-job}'
222 - lf-infra-gerrit-scm:
223 jenkins-ssh-credential: '{jenkins-ssh-credential}'
225 refspec: '$GERRIT_REFSPEC'
226 branch: '$GERRIT_BRANCH'
227 submodule-recursive: '{submodule-recursive}'
228 submodule-timeout: '{submodule-timeout}'
229 submodule-disable: false
230 choosing-strategy: default
233 - timed: '{obj:cron}'
235 server-name: '{gerrit-server-name}'
236 trigger-on: '{obj:gerrit_release_triggers}'
238 - project-compare-type: ANT
239 project-pattern: '{project}'
241 - branch-compare-type: ANT
242 branch-pattern: '**/{branch}'
246 - lf-jacoco-nojava-workaround
248 mvn-version: '{mvn-version}'
249 - lf-update-java-alternatives:
250 java-version: '{java-version}'
251 - lf-provide-maven-settings:
252 global-settings-file: '{mvn-global-settings}'
253 settings-file: '{mvn-settings}'
254 - lf-infra-create-netrc:
255 server-id: '{mvn-staging-id}'
256 - shell: !include-raw-escape:
257 - ../shell/make-tar.sh
259 sign-artifacts: '{sign-artifacts}'
260 sign-dir: '$WORKSPACE/m2repo'
263 - lf-provide-maven-settings-cleanup
269 id: akraino-project-stream-verify
270 name: '{project-name}-{stream}-verify'
273 build-days-to-keep: 30
276 project-type: freestyle
277 submodule-recursive: true
281 - lf-infra-properties:
282 build-days-to-keep: '{build-days-to-keep}'
285 - lf-infra-parameters:
289 lftools-version: '{lftools-version}'
292 name: ARCHIVE_ARTIFACTS
293 default: '{archive-artifacts}'
294 description: Artifacts to archive to the logs server.
298 build-timeout: '{build-timeout}'
299 jenkins-ssh-credential: '{jenkins-ssh-credential}'
302 - lf-infra-gerrit-scm:
303 jenkins-ssh-credential: '{jenkins-ssh-credential}'
304 git-url: '{git-url}/{project}.git'
305 refspec: '$GERRIT_REFSPEC'
306 branch: '$GERRIT_BRANCH'
307 submodule-recursive: '{submodule-recursive}'
308 submodule-timeout: '{submodule-timeout}'
309 submodule-disable: false
310 choosing-strategy: 'gerrit'
314 server-name: '{gerrit-server-name}'
316 - patchset-created-event:
317 exclude-drafts: 'false'
318 exclude-trivial-rebase: 'false'
319 exclude-no-code-change: 'false'
320 - change-merged-event
321 - draft-published-event
322 - comment-added-contains-event:
323 comment-contains-value: 'recheck'
324 - comment-added-contains-event:
325 comment-contains-value: 'reverify'
327 - project-compare-type: 'ANT'
328 project-pattern: '{project}'
330 - branch-compare-type: 'ANT'
331 branch-pattern: '**/{branch}'
335 disable-strict-forbidden-file-verification: 'true'
336 forbidden-file-paths:
339 readable-message: true
342 - shell: !include-raw-escape:
349 id: akraino-project-build-node-init
350 name: '{project-name}-{build-node}-init'
351 disabled: '{obj:disabled}'
355 - lf-infra-parameters:
361 default: '{build-node}'
362 node-eligibility: 'all'
365 gerrit_merge_triggers:
366 - change-merged-event
367 - comment-added-contains-event:
368 comment-contains-value: remerge$
370 gerrit_trigger_file_paths:
371 - compare-type: REG_EXP
372 pattern: 'global-jjb'
375 - lf-infra-gerrit-scm:
376 jenkins-ssh-credential: '{jenkins-ssh-credential}'
377 git-url: '{git-url}/{project}.git'
378 refspec: '$GERRIT_REFSPEC'
379 branch: '$GERRIT_BRANCH'
380 submodule-recursive: true
381 submodule-timeout: '{submodule-timeout}'
382 submodule-disable: false
383 choosing-strategy: default
387 server-name: '{gerrit-server-name}'
388 trigger-on: '{obj:gerrit_merge_triggers}'
390 - project-compare-type: ANT
391 project-pattern: '{project}'
393 - branch-compare-type: ANT
394 branch-pattern: '**/{branch}'
395 file-paths: '{obj:gerrit_trigger_file_paths}'
398 - description-setter:
399 description: "POD: $NODE_NAME"
403 sudo -E ./global-jjb/jenkins-init-scripts/init.sh
404 sudo chown jenkins:jenkins -R archives