2 # This file contains job templates for Maven projects.
5 name: '{project-name}-maven-jobs'
7 # This job group contains all the recommended jobs that should be deployed
10 # TODO: Add Maven Merge job to this list once it's been fully tested.
16 - gerrit-maven-verify-dependencies
19 name: '{project-name}-github-maven-jobs'
21 # This job group contains all the recommended jobs that should be deployed
22 # for any project ci that is using github.
24 # TODO: Add Maven Merge job to this list once it's been fully tested.
32 name: '{project-name}-maven-javadoc-jobs'
34 # This job group contains all the recommended jobs that should be deployed
38 - gerrit-maven-javadoc-publish
39 - gerrit-maven-javadoc-verify
42 name: '{project-name}-github-maven-javadoc-jobs'
44 # This job group contains all the recommended jobs that should be deployed
48 - github-maven-javadoc-publish
49 - github-maven-javadoc-verify
59 properties-content: 'MAVEN_GOALS={mvn-goals}'
60 - shell: !include-raw-escape:
61 - ../shell/common-variables.sh
62 - ../shell/maven-build.sh
67 - shell: !include-raw:
68 - ../shell/common-variables.sh
69 - ../shell/maven-deploy.sh
74 # include-raw-escape fails due to JJB bug
75 - shell: !include-raw:
76 - ../shell/common-variables.sh
77 - ../shell/maven-stage.sh
80 name: lf-update-java-alternatives
83 # Work around inject plugin overriding our GIT_URL variable incorrectly
84 # https://issues.jenkins-ci.org/browse/JENKINS-49775
86 SET_JDK_VERSION={java-version}
88 - shell: !include-raw-escape: ../shell/update-java-alternatives.sh
90 properties-file: '/tmp/java.env'
96 - lf_maven_common: &lf_maven_common
99 ######################
100 # Default parameters #
101 ######################
106 **/target/**/feature.xml
107 **/target/failsafe-reports/failsafe-summary.xml
108 **/target/surefire-reports/*-output.txt
110 #####################
111 # Job Configuration #
112 #####################
114 project-type: freestyle
118 - lf-infra-properties:
119 build-days-to-keep: '{build-days-to-keep}'
122 - lf-infra-parameters:
126 lftools-version: '{lftools-version}'
127 - lf-infra-maven-parameters:
128 mvn-opts: '{mvn-opts}'
129 mvn-params: '{mvn-params}'
130 mvn-version: '{mvn-version}'
132 name: ARCHIVE_ARTIFACTS
133 default: '{archive-artifacts}'
134 description: Artifacts to archive to the logs server.
138 build-timeout: '{build-timeout}'
139 jenkins-ssh-credential: '{jenkins-ssh-credential}'
142 # TODO: Make email notification work.
143 # - lf-infra-email-notify:
144 # email-recipients: '{email-recipients}'
145 # email-prefix: '[releng]'
152 - lf_maven_clm: &lf_maven_clm
155 ######################
156 # Default parameters #
157 ######################
160 build-days-to-keep: 30 # 30 days for troubleshooting purposes
163 git-url: '$GIT_URL/$PROJECT'
164 github-url: 'https://github.com'
165 java-version: openjdk8
166 mvn-global-settings: global-settings
170 nexus-iq-stage: 'build'
172 submodule-recursive: true
174 nexus_iq_scan_patterns:
182 - comment-added-contains-event:
183 comment-contains-value: run-clm$
186 - lf-infra-parameters:
190 lftools-version: '{lftools-version}'
191 - lf-infra-maven-parameters:
192 mvn-opts: '{mvn-opts}'
193 mvn-params: '{mvn-params}'
194 mvn-version: '{mvn-version}'
196 name: ARCHIVE_ARTIFACTS
197 default: '{archive-artifacts}'
198 description: Artifacts to archive to the logs server.
200 nexus-iq-stage: '{nexus-iq-stage}'
202 #####################
203 # Job Configuration #
204 #####################
206 disabled: '{disable-job}'
210 mvn-version: '{mvn-version}'
211 - lf-update-java-alternatives:
212 java-version: '{java-version}'
213 - lf-provide-maven-settings:
214 global-settings-file: '{mvn-global-settings}'
215 settings-file: '{mvn-settings}'
216 - shell: !include-raw-escape:
217 - ../shell/common-variables.sh
218 - ../shell/sonatype-clm.sh
219 - lf-provide-maven-settings-cleanup
220 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
221 - nexus-iq-policy-evaluator:
222 stage: '{nexus-iq-stage}'
223 application-type: 'manual'
224 application-id: '{project-name}'
225 scan-patterns: '{obj:nexus_iq_scan_patterns}'
226 fail-build-network-error: true
229 name: '{project-name}-maven-clm-{stream}'
232 # yamllint disable-line rule:key-duplicates
236 - lf-infra-gerrit-scm:
237 jenkins-ssh-credential: '{jenkins-ssh-credential}'
239 refspec: '$GERRIT_REFSPEC'
240 branch: '$GERRIT_BRANCH'
241 submodule-recursive: '{submodule-recursive}'
242 choosing-strategy: default
245 # Build weekly on Saturdays
248 server-name: '{gerrit-server-name}'
249 trigger-on: '{obj:gerrit_clm_triggers}'
251 - project-compare-type: ANT
252 project-pattern: '{project}'
254 - branch-compare-type: ANT
255 branch-pattern: '**/{branch}'
263 name: '{project-name}-maven-clm-{stream}'
266 # yamllint disable-line rule:key-duplicates
270 - lf-infra-properties:
271 build-days-to-keep: '{build-days-to-keep}'
273 url: '{github-url}/{github-org}/{project}'
276 - lf-infra-github-scm:
277 url: '{git-clone-url}{github-org}/{project}'
279 branch: 'refs/heads/{branch}'
280 submodule-recursive: '{submodule-recursive}'
281 choosing-strategy: default
282 jenkins-ssh-credential: '{jenkins-ssh-credential}'
285 # Build weekly on Saturdays
287 - github-pull-request:
288 trigger-phrase: '^run-clm$'
289 only-trigger-phrase: true
290 status-context: 'CLM'
295 white-list: '{obj:github_pr_whitelist}'
296 admin-list: '{obj:github_pr_admin_list}'
297 white-list-target-branches:
300 #########################
301 # Maven Javadoc Publish #
302 #########################
304 - lf_maven_javadoc_publish: &lf_maven_javadoc_publish
305 name: lf-maven-javadoc-publish
307 ######################
308 # Default parameters #
309 ######################
312 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
315 git-url: '$GIT_URL/$PROJECT'
316 github-url: 'https://github.com'
317 java-version: openjdk8
318 mvn-global-settings: global-settings
323 submodule-recursive: true
325 gerrit_merge_triggers:
326 - change-merged-event
327 - comment-added-contains-event:
328 comment-contains-value: remerge$
330 #####################
331 # Job Configuration #
332 #####################
334 disabled: '{disable-job}'
338 mvn-version: '{mvn-version}'
339 - lf-update-java-alternatives:
340 java-version: '{java-version}'
341 - lf-provide-maven-settings:
342 global-settings-file: '{mvn-global-settings}'
343 settings-file: '{mvn-settings}'
344 - lf-infra-create-netrc:
345 server-id: '{mvn-site-id}'
347 properties-content: 'DEPLOY_PATH={javadoc-path}'
348 - shell: !include-raw-escape:
349 - ../shell/common-variables.sh
350 - ../shell/maven-javadoc-generate.sh
351 - ../shell/lftools-install.sh
352 - ../shell/maven-javadoc-publish.sh
353 - lf-provide-maven-settings-cleanup
356 name: '{project-name}-maven-javadoc-publish-{stream}'
357 id: gerrit-maven-javadoc-publish
359 # yamllint disable-line rule:key-duplicates
360 <<: *lf_maven_javadoc_publish
362 git-url: '$GIT_URL/$GERRIT_PROJECT'
365 - lf-infra-gerrit-scm:
369 submodule-recursive: '{submodule-recursive}'
370 choosing-strategy: default
371 jenkins-ssh-credential: '{jenkins-ssh-credential}'
375 server-name: '{gerrit-server-name}'
376 trigger-on: '{obj:gerrit_merge_triggers}'
378 - project-compare-type: ANT
379 project-pattern: '{project}'
381 - branch-compare-type: ANT
382 branch-pattern: '**/{branch}'
385 name: '{project-name}-maven-javadoc-publish-{stream}'
386 id: github-maven-javadoc-publish
388 # yamllint disable-line rule:key-duplicates
389 <<: *lf_maven_javadoc_publish
392 - lf-infra-properties:
393 build-days-to-keep: '{build-days-to-keep}'
395 url: '{github-url}/{github-org}/{project}'
398 - lf-infra-github-scm:
399 url: '{git-clone-url}{github-org}/{project}'
402 submodule-recursive: '{submodule-recursive}'
403 choosing-strategy: default
404 jenkins-ssh-credential: '{jenkins-ssh-credential}'
410 - github-pull-request:
411 trigger-phrase: '^remerge$'
412 only-trigger-phrase: true
413 status-context: 'Maven Javadoc Publish'
418 white-list: '{obj:github_pr_whitelist}'
419 admin-list: '{obj:github_pr_admin_list}'
420 white-list-target-branches:
423 ########################
424 # Maven Javadoc Verify #
425 ########################
427 - lf_maven_javadoc_verify: &lf_maven_javadoc_verify
428 name: lf-maven-javadoc-verify
430 ######################
431 # Default parameters #
432 ######################
435 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
438 git-url: '$GIT_URL/$PROJECT'
439 github-url: 'https://github.com'
440 java-version: openjdk8
441 mvn-global-settings: global-settings
446 submodule-recursive: true
448 gerrit_verify_triggers:
449 - patchset-created-event:
451 exclude-trivial-rebase: false
452 exclude-no-code-change: false
453 - draft-published-event
454 - comment-added-contains-event:
455 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
457 #####################
458 # Job Configuration #
459 #####################
462 disabled: '{disable-job}'
466 mvn-version: '{mvn-version}'
467 - lf-update-java-alternatives:
468 java-version: '{java-version}'
469 - lf-provide-maven-settings:
470 global-settings-file: '{mvn-global-settings}'
471 settings-file: '{mvn-settings}'
472 - shell: !include-raw-escape:
473 - ../shell/common-variables.sh
474 - ../shell/maven-javadoc-generate.sh
475 - lf-provide-maven-settings-cleanup
478 name: '{project-name}-maven-javadoc-verify-{stream}'
479 id: gerrit-maven-javadoc-verify
481 # yamllint disable-line rule:key-duplicates
482 <<: *lf_maven_javadoc_verify
485 - lf-infra-gerrit-scm:
486 jenkins-ssh-credential: '{jenkins-ssh-credential}'
488 refspec: '$GERRIT_REFSPEC'
489 branch: '$GERRIT_BRANCH'
490 submodule-recursive: '{submodule-recursive}'
491 choosing-strategy: gerrit
495 server-name: '{gerrit-server-name}'
496 trigger-on: '{obj:gerrit_verify_triggers}'
498 - project-compare-type: ANT
499 project-pattern: '{project}'
501 - branch-compare-type: ANT
502 branch-pattern: '**/{branch}'
505 name: '{project-name}-maven-javadoc-verify-{stream}'
506 id: github-maven-javadoc-verify
508 # yamllint disable-line rule:key-duplicates
509 <<: *lf_maven_javadoc_verify
512 - lf-infra-properties:
513 build-days-to-keep: '{build-days-to-keep}'
515 url: '{github-url}/{github-org}/{project}'
518 - lf-infra-github-scm:
519 url: '{git-clone-url}{github-org}/{project}'
520 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
522 submodule-recursive: '{submodule-recursive}'
523 choosing-strategy: default
524 jenkins-ssh-credential: '{jenkins-ssh-credential}'
527 - github-pull-request:
528 trigger-phrase: ^(recheck|reverify)$
529 only-trigger-phrase: false
530 status-context: 'Maven Javadoc Verify'
533 white-list-target-branches:
540 - lf_maven_merge: &lf_maven_merge
543 ######################
544 # Default parameters #
545 ######################
548 build-days-to-keep: 30 # 30 days in case we need to troubleshoot
552 git-url: '$GIT_URL/$PROJECT'
553 github-url: 'https://github.com'
554 java-version: openjdk8
555 mvn-global-settings: global-settings
556 mvn-goals: clean deploy
558 mvn-params: '-Dmerge'
560 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
562 submodule-recursive: true
564 gerrit_merge_triggers:
565 - change-merged-event
566 - comment-added-contains-event:
567 comment-contains-value: remerge$
569 gerrit_trigger_file_paths:
570 - compare-type: REG_EXP
573 # github_included_regions MUST match gerrit_trigger_file_paths
574 github_included_regions:
577 post_build_trigger: ''
579 #####################
580 # Job Configuration #
581 #####################
583 disabled: '{disable-job}'
586 - lf-jacoco-nojava-workaround
588 mvn-version: '{mvn-version}'
589 - lf-update-java-alternatives:
590 java-version: '{java-version}'
591 - lf-provide-maven-settings:
592 global-settings-file: '{mvn-global-settings}'
593 settings-file: '{mvn-settings}'
594 - lf-infra-create-netrc:
595 server-id: '{mvn-snapshot-id}'
597 properties-content: |
598 NEXUS_CUT_DIRS={nexus-cut-dirs}
599 NEXUS_REPO={nexus-snapshot-repo}
600 - shell: !include-raw-escape:
601 - ../shell/lftools-install.sh
602 - ../shell/maven-fetch-metadata.sh
604 mvn-goals: '{mvn-goals}'
606 - lf-provide-maven-settings-cleanup
612 - trigger-parameterized-builds: '{obj:post_build_trigger}'
615 name: '{project-name}-maven-merge-{stream}'
616 id: gerrit-maven-merge
618 # yamllint disable-line rule:key-duplicates
622 - lf-infra-gerrit-scm:
623 jenkins-ssh-credential: '{jenkins-ssh-credential}'
625 refspec: '$GERRIT_REFSPEC'
626 branch: '$GERRIT_BRANCH'
627 submodule-recursive: '{submodule-recursive}'
628 choosing-strategy: default
631 - timed: '{obj:cron}'
633 server-name: '{gerrit-server-name}'
634 trigger-on: '{obj:gerrit_merge_triggers}'
636 - project-compare-type: ANT
637 project-pattern: '{project}'
639 - branch-compare-type: ANT
640 branch-pattern: '**/{branch}'
641 file-paths: '{obj:gerrit_trigger_file_paths}'
644 name: '{project-name}-maven-merge-{stream}'
645 id: github-maven-merge
647 # yamllint disable-line rule:key-duplicates
651 - lf-infra-properties:
652 build-days-to-keep: '{build-days-to-keep}'
654 url: '{github-url}/{github-org}/{project}'
657 - lf-infra-github-scm:
658 url: '{git-clone-url}{github-org}/{project}'
659 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
661 submodule-recursive: '{submodule-recursive}'
662 choosing-strategy: default
663 jenkins-ssh-credential: '{jenkins-ssh-credential}'
666 - timed: '{obj:cron}'
670 - github-pull-request:
671 trigger-phrase: '^remerge$'
672 only-trigger-phrase: true
673 status-context: 'Maven Merge'
678 white-list: '{obj:github_pr_whitelist}'
679 admin-list: '{obj:github_pr_admin_list}'
680 white-list-target-branches:
682 included-regions: '{obj:github_included_regions}'
688 - lf_maven_stage: &lf_maven_stage
691 ######################
692 # Default parameters #
693 ######################
696 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
700 git-url: '$GIT_URL/$PROJECT'
701 github-url: 'https://github.com'
702 java-version: openjdk8
703 mvn-global-settings: global-settings
704 mvn-goals: clean deploy
709 submodule-recursive: true
711 gerrit_release_triggers:
712 - comment-added-contains-event:
713 comment-contains-value: stage-release$
715 #####################
716 # Job Configuration #
717 #####################
719 disabled: '{disable-job}'
722 - lf-infra-parameters:
726 lftools-version: '{lftools-version}'
727 - lf-infra-maven-parameters:
728 mvn-opts: '{mvn-opts}'
729 mvn-params: '{mvn-params}'
730 mvn-version: '{mvn-version}'
731 staging-profile-id: '{staging-profile-id}'
733 name: ARCHIVE_ARTIFACTS
734 default: '{archive-artifacts}'
735 description: Artifacts to archive to the logs server.
737 name: STAGING_PROFILE_ID
738 default: '{staging-profile-id}'
739 description: Nexus staging profile ID.
742 - lf-jacoco-nojava-workaround
744 mvn-version: '{mvn-version}'
745 - lf-update-java-alternatives:
746 java-version: '{java-version}'
747 - lf-provide-maven-settings:
748 global-settings-file: '{mvn-global-settings}'
749 settings-file: '{mvn-settings}'
750 - lf-infra-create-netrc:
751 server-id: '{mvn-staging-id}'
752 - shell: !include-raw-escape:
753 - ../shell/lftools-install.sh
754 - ../shell/maven-patch-release.sh
756 mvn-goals: '{mvn-goals}'
758 - lf-provide-maven-settings-cleanup
761 name: '{project-name}-maven-stage-{stream}'
762 id: gerrit-maven-stage
764 # yamllint disable-line rule:key-duplicates
768 - lf-infra-gerrit-scm:
769 jenkins-ssh-credential: '{jenkins-ssh-credential}'
771 refspec: '$GERRIT_REFSPEC'
772 branch: '$GERRIT_BRANCH'
773 submodule-recursive: '{submodule-recursive}'
774 choosing-strategy: default
777 - timed: '{obj:cron}'
779 server-name: '{gerrit-server-name}'
780 trigger-on: '{obj:gerrit_release_triggers}'
782 - project-compare-type: ANT
783 project-pattern: '{project}'
785 - branch-compare-type: ANT
786 branch-pattern: '**/{branch}'
789 name: '{project-name}-maven-stage-{stream}'
790 id: github-maven-stage
792 # yamllint disable-line rule:key-duplicates
796 - lf-infra-properties:
797 build-days-to-keep: '{build-days-to-keep}'
799 url: '{github-url}/{github-org}/{project}'
802 - lf-infra-github-scm:
803 url: '{git-clone-url}{github-org}/{project}'
804 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
806 submodule-recursive: '{submodule-recursive}'
807 choosing-strategy: default
808 jenkins-ssh-credential: '{jenkins-ssh-credential}'
811 - timed: '{obj:cron}'
812 - github-pull-request:
813 trigger-phrase: '^build release$'
814 only-trigger-phrase: true
815 status-context: 'Maven Release'
818 white-list-target-branches:
825 - lf_maven_sonar: &lf_maven_sonar
828 ######################
829 # Default parameters #
830 ######################
832 branch: master # Sonar should always be run on master branch
833 build-days-to-keep: 7
835 cron: 'H H * * 6' # run weekly
837 git-url: '$GIT_URL/$PROJECT'
838 github-url: 'https://github.com'
839 java-version: openjdk8
840 mvn-global-settings: global-settings
844 sonar-mvn-goal: 'sonar:sonar'
846 submodule-recursive: true
848 gerrit_sonar_triggers:
849 - comment-added-contains-event:
850 comment-contains-value: run-sonar$
852 #####################
853 # Job Configuration #
854 #####################
856 disabled: '{disable-job}'
859 - lf-infra-parameters:
863 lftools-version: '{lftools-version}'
864 - lf-infra-maven-parameters:
865 mvn-opts: '{mvn-opts}'
866 mvn-params: '{mvn-params}'
867 mvn-version: '{mvn-version}'
869 name: ARCHIVE_ARTIFACTS
870 default: '{archive-artifacts}'
871 description: Artifacts to archive to the logs server.
873 name: SONAR_MAVEN_GOAL
874 default: '{sonar-mvn-goal}'
876 Maven goals to pass to the Sonar call. Typically sonar:sonar
877 however to use a specific version of the sonar-maven-plugin we
878 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
881 - timed: '{obj:cron}'
883 server-name: '{gerrit-server-name}'
884 trigger-on: '{obj:gerrit_sonar_triggers}'
886 - project-compare-type: 'ANT'
887 project-pattern: '{project}'
889 - branch-compare-type: 'ANT'
890 branch-pattern: '**/master'
898 - lf-infra-maven-sonar:
899 java-version: '{java-version}'
900 mvn-settings: '{mvn-settings}'
901 mvn-version: '{mvn-version}'
909 name: lf-infra-maven-sonar
910 # Run a Sonar build with Maven
913 mvn-version: '{mvn-version}'
914 - lf-update-java-alternatives:
915 java-version: '{java-version}'
917 # Switch this to the sonar wrapper when JJB 2.0 is available
918 properties-content: SONAR_HOST_URL=$SONAR_URL
919 - lf-provide-maven-settings:
920 global-settings-file: global-settings
921 settings-file: '{mvn-settings}'
922 - shell: !include-raw-escape:
923 - ../shell/common-variables.sh
924 - ../shell/maven-sonar.sh
925 - lf-provide-maven-settings-cleanup
928 name: '{project-name}-sonar'
929 id: gerrit-maven-sonar
931 # yamllint disable-line rule:key-duplicates
935 - lf-infra-gerrit-scm:
936 jenkins-ssh-credential: '{jenkins-ssh-credential}'
938 refspec: $GERRIT_REFSPEC
939 branch: $GERRIT_BRANCH
940 submodule-recursive: '{submodule-recursive}'
941 choosing-strategy: default
944 name: '{project-name}-sonar'
945 id: github-maven-sonar
947 # yamllint disable-line rule:key-duplicates
951 - lf-infra-properties:
952 build-days-to-keep: '{build-days-to-keep}'
954 url: '{github-url}/{github-org}/{project}'
957 - lf-infra-github-scm:
958 url: '{git-clone-url}{github-org}/{project}'
959 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
961 submodule-recursive: '{submodule-recursive}'
962 choosing-strategy: default
963 jenkins-ssh-credential: '{jenkins-ssh-credential}'
966 - github-pull-request:
967 trigger-phrase: '^run-sonar$'
968 only-trigger-phrase: false
969 status-context: 'Maven Sonar'
972 white-list-target-branches:
979 - lf_maven_verify: &lf_maven_verify
980 name: lf-maven-verify
982 ######################
983 # Default parameters #
984 ######################
987 build-days-to-keep: 7
990 git-url: '$GIT_URL/$PROJECT'
991 github-url: 'https://github.com'
992 java-version: openjdk8
993 mvn-global-settings: global-settings
994 mvn-goals: clean deploy
996 mvn-params: '-Dstream=$STREAM'
999 submodule-recursive: true
1001 gerrit_verify_triggers:
1002 - patchset-created-event:
1003 exclude-drafts: true
1004 exclude-trivial-rebase: false
1005 exclude-no-code-change: false
1006 - draft-published-event
1007 - comment-added-contains-event:
1008 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1010 gerrit_trigger_file_paths:
1011 - compare-type: REG_EXP
1014 # github_included_regions MUST match gerrit_trigger_file_paths
1015 github_included_regions:
1018 #####################
1019 # Job Configuration #
1020 #####################
1023 disabled: '{disable-job}'
1026 - lf-jacoco-nojava-workaround
1028 mvn-version: '{mvn-version}'
1029 - lf-update-java-alternatives:
1030 java-version: '{java-version}'
1031 - lf-provide-maven-settings:
1032 global-settings-file: '{mvn-global-settings}'
1033 settings-file: '{mvn-settings}'
1034 - shell: !include-raw-escape:
1035 - ../shell/lftools-install.sh
1037 mvn-goals: '{mvn-goals}'
1038 - lf-provide-maven-settings-cleanup
1046 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1047 id: gerrit-maven-verify
1048 <<: *lf_maven_common
1049 # yamllint disable-line rule:key-duplicates
1050 <<: *lf_maven_verify
1053 - lf-infra-gerrit-scm:
1054 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1055 git-url: '{git-url}'
1056 refspec: '$GERRIT_REFSPEC'
1057 branch: '$GERRIT_BRANCH'
1058 submodule-recursive: '{submodule-recursive}'
1059 choosing-strategy: gerrit
1063 server-name: '{gerrit-server-name}'
1064 trigger-on: '{obj:gerrit_verify_triggers}'
1066 - project-compare-type: ANT
1067 project-pattern: '{project}'
1069 - branch-compare-type: ANT
1070 branch-pattern: '**/{branch}'
1071 file-paths: '{obj:gerrit_trigger_file_paths}'
1074 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1075 id: github-maven-verify
1076 <<: *lf_maven_common
1077 # yamllint disable-line rule:key-duplicates
1078 <<: *lf_maven_verify
1081 - lf-infra-properties:
1082 build-days-to-keep: '{build-days-to-keep}'
1084 url: '{github-url}/{github-org}/{project}'
1087 - lf-infra-github-scm:
1088 url: '{git-clone-url}{github-org}/{project}'
1089 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1091 submodule-recursive: '{submodule-recursive}'
1092 choosing-strategy: default
1093 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1096 - github-pull-request:
1097 trigger-phrase: '^(recheck|reverify)$'
1098 only-trigger-phrase: false
1099 status-context: 'Maven Verify'
1102 white-list-target-branches:
1104 included-regions: '{obj:github_included_regions}'
1106 #############################
1107 # Maven Verify Dependencies #
1108 #############################
1110 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1111 name: lf-maven-verify-dependencies
1113 ######################
1114 # Default parameters #
1115 ######################
1118 build-days-to-keep: 7
1121 git-url: '$GIT_URL/$PROJECT'
1122 github-url: 'https://github.com'
1123 java-version: openjdk8
1124 mvn-global-settings: global-settings
1125 mvn-goals: clean deploy
1127 mvn-params: '-Dstream=$STREAM'
1130 submodule-recursive: true
1132 gerrit_verify_triggers:
1133 - comment-added-contains-event:
1134 comment-contains-value: 'recheck: [0-9 ]+'
1135 gerrit_trigger_file_paths:
1139 #####################
1140 # Job Configuration #
1141 #####################
1144 disabled: '{disable-job}'
1147 - lf-jacoco-nojava-workaround
1149 mvn-version: '{mvn-version}'
1150 - lf-update-java-alternatives:
1151 java-version: '{java-version}'
1152 - lf-provide-maven-settings:
1153 global-settings-file: '{mvn-global-settings}'
1154 settings-file: '{mvn-settings}'
1155 - lf-fetch-dependent-patches
1156 - shell: !include-raw-escape:
1157 - ../shell/common-variables.sh
1158 - ../shell/maven-build-deps.sh
1160 mvn-goals: '{mvn-goals}'
1161 - lf-provide-maven-settings-cleanup
1169 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1170 id: gerrit-maven-verify-dependencies
1171 <<: *lf_maven_common
1172 # yamllint disable-line rule:key-duplicates
1173 <<: *lf_maven_verify_dependencies
1176 - lf-infra-gerrit-scm:
1177 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1178 git-url: '{git-url}'
1179 refspec: '$GERRIT_REFSPEC'
1180 branch: '$GERRIT_BRANCH'
1181 submodule-recursive: '{submodule-recursive}'
1182 choosing-strategy: gerrit
1186 server-name: '{gerrit-server-name}'
1187 trigger-on: '{obj:gerrit_verify_triggers}'
1189 - project-compare-type: ANT
1190 project-pattern: '{project}'
1192 - branch-compare-type: ANT
1193 branch-pattern: '**/{branch}'
1194 file-paths: '{obj:gerrit_trigger_file_paths}'