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}'
211 mvn-version: '{mvn-version}'
212 - lf-update-java-alternatives:
213 java-version: '{java-version}'
214 - lf-provide-maven-settings:
215 global-settings-file: '{mvn-global-settings}'
216 settings-file: '{mvn-settings}'
217 - shell: !include-raw-escape:
218 - ../shell/common-variables.sh
219 - ../shell/sonatype-clm.sh
220 - lf-provide-maven-settings-cleanup
221 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
222 - nexus-iq-policy-evaluator:
223 stage: '{nexus-iq-stage}'
224 application-type: 'manual'
225 application-id: '{project-name}'
226 scan-patterns: '{obj:nexus_iq_scan_patterns}'
227 fail-build-network-error: true
230 name: '{project-name}-maven-clm-{stream}'
233 # yamllint disable-line rule:key-duplicates
237 - lf-infra-gerrit-scm:
238 jenkins-ssh-credential: '{jenkins-ssh-credential}'
240 refspec: '$GERRIT_REFSPEC'
241 branch: '$GERRIT_BRANCH'
242 submodule-recursive: '{submodule-recursive}'
243 choosing-strategy: default
246 # Build weekly on Saturdays
249 server-name: '{gerrit-server-name}'
250 trigger-on: '{obj:gerrit_clm_triggers}'
252 - project-compare-type: ANT
253 project-pattern: '{project}'
255 - branch-compare-type: ANT
256 branch-pattern: '**/{branch}'
264 name: '{project-name}-maven-clm-{stream}'
267 # yamllint disable-line rule:key-duplicates
271 - lf-infra-properties:
272 build-days-to-keep: '{build-days-to-keep}'
274 url: '{github-url}/{github-org}/{project}'
277 - lf-infra-github-scm:
278 url: '{git-clone-url}{github-org}/{project}'
280 branch: 'refs/heads/{branch}'
281 submodule-recursive: '{submodule-recursive}'
282 choosing-strategy: default
283 jenkins-ssh-credential: '{jenkins-ssh-credential}'
286 # Build weekly on Saturdays
288 - github-pull-request:
289 trigger-phrase: '^run-clm$'
290 only-trigger-phrase: true
291 status-context: 'CLM'
296 white-list: '{obj:github_pr_whitelist}'
297 admin-list: '{obj:github_pr_admin_list}'
298 white-list-target-branches:
301 #########################
302 # Maven Javadoc Publish #
303 #########################
305 - lf_maven_javadoc_publish: &lf_maven_javadoc_publish
306 name: lf-maven-javadoc-publish
308 ######################
309 # Default parameters #
310 ######################
313 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
316 git-url: '$GIT_URL/$PROJECT'
317 github-url: 'https://github.com'
318 java-version: openjdk8
319 mvn-global-settings: global-settings
324 submodule-recursive: true
326 gerrit_merge_triggers:
327 - change-merged-event
328 - comment-added-contains-event:
329 comment-contains-value: remerge$
331 #####################
332 # Job Configuration #
333 #####################
335 disabled: '{disable-job}'
340 mvn-version: '{mvn-version}'
341 - lf-update-java-alternatives:
342 java-version: '{java-version}'
343 - lf-provide-maven-settings:
344 global-settings-file: '{mvn-global-settings}'
345 settings-file: '{mvn-settings}'
346 - lf-infra-create-netrc:
347 server-id: '{mvn-site-id}'
349 properties-content: 'DEPLOY_PATH={javadoc-path}'
350 - shell: !include-raw-escape:
351 - ../shell/common-variables.sh
352 - ../shell/maven-javadoc-generate.sh
353 - ../shell/maven-javadoc-publish.sh
354 - lf-provide-maven-settings-cleanup
357 name: '{project-name}-maven-javadoc-publish-{stream}'
358 id: gerrit-maven-javadoc-publish
360 # yamllint disable-line rule:key-duplicates
361 <<: *lf_maven_javadoc_publish
363 git-url: '$GIT_URL/$GERRIT_PROJECT'
366 - lf-infra-gerrit-scm:
370 submodule-recursive: '{submodule-recursive}'
371 choosing-strategy: default
372 jenkins-ssh-credential: '{jenkins-ssh-credential}'
376 server-name: '{gerrit-server-name}'
377 trigger-on: '{obj:gerrit_merge_triggers}'
379 - project-compare-type: ANT
380 project-pattern: '{project}'
382 - branch-compare-type: ANT
383 branch-pattern: '**/{branch}'
386 name: '{project-name}-maven-javadoc-publish-{stream}'
387 id: github-maven-javadoc-publish
389 # yamllint disable-line rule:key-duplicates
390 <<: *lf_maven_javadoc_publish
393 - lf-infra-properties:
394 build-days-to-keep: '{build-days-to-keep}'
396 url: '{github-url}/{github-org}/{project}'
399 - lf-infra-github-scm:
400 url: '{git-clone-url}{github-org}/{project}'
403 submodule-recursive: '{submodule-recursive}'
404 choosing-strategy: default
405 jenkins-ssh-credential: '{jenkins-ssh-credential}'
411 - github-pull-request:
412 trigger-phrase: '^remerge$'
413 only-trigger-phrase: true
414 status-context: 'Maven Javadoc Publish'
419 white-list: '{obj:github_pr_whitelist}'
420 admin-list: '{obj:github_pr_admin_list}'
421 white-list-target-branches:
424 ########################
425 # Maven Javadoc Verify #
426 ########################
428 - lf_maven_javadoc_verify: &lf_maven_javadoc_verify
429 name: lf-maven-javadoc-verify
431 ######################
432 # Default parameters #
433 ######################
436 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
439 git-url: '$GIT_URL/$PROJECT'
440 github-url: 'https://github.com'
441 java-version: openjdk8
442 mvn-global-settings: global-settings
447 submodule-recursive: true
449 gerrit_verify_triggers:
450 - patchset-created-event:
452 exclude-trivial-rebase: false
453 exclude-no-code-change: false
454 - draft-published-event
455 - comment-added-contains-event:
456 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
458 #####################
459 # Job Configuration #
460 #####################
463 disabled: '{disable-job}'
468 mvn-version: '{mvn-version}'
469 - lf-update-java-alternatives:
470 java-version: '{java-version}'
471 - lf-provide-maven-settings:
472 global-settings-file: '{mvn-global-settings}'
473 settings-file: '{mvn-settings}'
474 - shell: !include-raw-escape:
475 - ../shell/common-variables.sh
476 - ../shell/maven-javadoc-generate.sh
477 - lf-provide-maven-settings-cleanup
480 name: '{project-name}-maven-javadoc-verify-{stream}'
481 id: gerrit-maven-javadoc-verify
483 # yamllint disable-line rule:key-duplicates
484 <<: *lf_maven_javadoc_verify
487 - lf-infra-gerrit-scm:
488 jenkins-ssh-credential: '{jenkins-ssh-credential}'
490 refspec: '$GERRIT_REFSPEC'
491 branch: '$GERRIT_BRANCH'
492 submodule-recursive: '{submodule-recursive}'
493 choosing-strategy: gerrit
497 server-name: '{gerrit-server-name}'
498 trigger-on: '{obj:gerrit_verify_triggers}'
500 - project-compare-type: ANT
501 project-pattern: '{project}'
503 - branch-compare-type: ANT
504 branch-pattern: '**/{branch}'
507 name: '{project-name}-maven-javadoc-verify-{stream}'
508 id: github-maven-javadoc-verify
510 # yamllint disable-line rule:key-duplicates
511 <<: *lf_maven_javadoc_verify
514 - lf-infra-properties:
515 build-days-to-keep: '{build-days-to-keep}'
517 url: '{github-url}/{github-org}/{project}'
520 - lf-infra-github-scm:
521 url: '{git-clone-url}{github-org}/{project}'
522 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
524 submodule-recursive: '{submodule-recursive}'
525 choosing-strategy: default
526 jenkins-ssh-credential: '{jenkins-ssh-credential}'
529 - github-pull-request:
530 trigger-phrase: ^(recheck|reverify)$
531 only-trigger-phrase: false
532 status-context: 'Maven Javadoc Verify'
535 white-list-target-branches:
542 - lf_maven_merge: &lf_maven_merge
545 ######################
546 # Default parameters #
547 ######################
550 build-days-to-keep: 30 # 30 days in case we need to troubleshoot
554 git-url: '$GIT_URL/$PROJECT'
555 github-url: 'https://github.com'
556 java-version: openjdk8
557 mvn-global-settings: global-settings
558 mvn-goals: clean deploy
560 mvn-params: '-Dmerge'
562 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
564 submodule-recursive: true
566 gerrit_merge_triggers:
567 - change-merged-event
568 - comment-added-contains-event:
569 comment-contains-value: remerge$
571 gerrit_trigger_file_paths:
572 - compare-type: REG_EXP
575 # github_included_regions MUST match gerrit_trigger_file_paths
576 github_included_regions:
579 post_build_trigger: ''
581 #####################
582 # Job Configuration #
583 #####################
585 disabled: '{disable-job}'
589 - lf-jacoco-nojava-workaround
591 mvn-version: '{mvn-version}'
592 - lf-update-java-alternatives:
593 java-version: '{java-version}'
594 - lf-provide-maven-settings:
595 global-settings-file: '{mvn-global-settings}'
596 settings-file: '{mvn-settings}'
597 - lf-infra-create-netrc:
598 server-id: '{mvn-snapshot-id}'
600 properties-content: |
601 NEXUS_CUT_DIRS={nexus-cut-dirs}
602 NEXUS_REPO={nexus-snapshot-repo}
603 - shell: !include-raw-escape: ../shell/maven-fetch-metadata.sh
605 mvn-goals: '{mvn-goals}'
607 - lf-provide-maven-settings-cleanup
613 - trigger-parameterized-builds: '{obj:post_build_trigger}'
616 name: '{project-name}-maven-merge-{stream}'
617 id: gerrit-maven-merge
619 # yamllint disable-line rule:key-duplicates
623 - lf-infra-gerrit-scm:
624 jenkins-ssh-credential: '{jenkins-ssh-credential}'
626 refspec: '$GERRIT_REFSPEC'
627 branch: '$GERRIT_BRANCH'
628 submodule-recursive: '{submodule-recursive}'
629 choosing-strategy: default
632 - timed: '{obj:cron}'
634 server-name: '{gerrit-server-name}'
635 trigger-on: '{obj:gerrit_merge_triggers}'
637 - project-compare-type: ANT
638 project-pattern: '{project}'
640 - branch-compare-type: ANT
641 branch-pattern: '**/{branch}'
642 file-paths: '{obj:gerrit_trigger_file_paths}'
645 name: '{project-name}-maven-merge-{stream}'
646 id: github-maven-merge
648 # yamllint disable-line rule:key-duplicates
652 - lf-infra-properties:
653 build-days-to-keep: '{build-days-to-keep}'
655 url: '{github-url}/{github-org}/{project}'
658 - lf-infra-github-scm:
659 url: '{git-clone-url}{github-org}/{project}'
660 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
662 submodule-recursive: '{submodule-recursive}'
663 choosing-strategy: default
664 jenkins-ssh-credential: '{jenkins-ssh-credential}'
667 - timed: '{obj:cron}'
671 - github-pull-request:
672 trigger-phrase: '^remerge$'
673 only-trigger-phrase: true
674 status-context: 'Maven Merge'
679 white-list: '{obj:github_pr_whitelist}'
680 admin-list: '{obj:github_pr_admin_list}'
681 white-list-target-branches:
683 included-regions: '{obj:github_included_regions}'
689 - lf_maven_stage: &lf_maven_stage
692 ######################
693 # Default parameters #
694 ######################
697 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
701 git-url: '$GIT_URL/$PROJECT'
702 github-url: 'https://github.com'
703 java-version: openjdk8
704 mvn-global-settings: global-settings
705 mvn-goals: clean deploy
710 submodule-recursive: true
712 gerrit_release_triggers:
713 - comment-added-contains-event:
714 comment-contains-value: stage-release$
716 #####################
717 # Job Configuration #
718 #####################
720 disabled: '{disable-job}'
723 - lf-infra-parameters:
727 lftools-version: '{lftools-version}'
728 - lf-infra-maven-parameters:
729 mvn-opts: '{mvn-opts}'
730 mvn-params: '{mvn-params}'
731 mvn-version: '{mvn-version}'
732 staging-profile-id: '{staging-profile-id}'
734 name: ARCHIVE_ARTIFACTS
735 default: '{archive-artifacts}'
736 description: Artifacts to archive to the logs server.
738 name: STAGING_PROFILE_ID
739 default: '{staging-profile-id}'
740 description: Nexus staging profile ID.
744 - lf-jacoco-nojava-workaround
746 mvn-version: '{mvn-version}'
747 - lf-update-java-alternatives:
748 java-version: '{java-version}'
749 - lf-provide-maven-settings:
750 global-settings-file: '{mvn-global-settings}'
751 settings-file: '{mvn-settings}'
752 - lf-infra-create-netrc:
753 server-id: '{mvn-staging-id}'
754 - shell: !include-raw-escape: ../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'
899 - lf-infra-maven-sonar:
900 java-version: '{java-version}'
901 mvn-settings: '{mvn-settings}'
902 mvn-version: '{mvn-version}'
910 name: lf-infra-maven-sonar
911 # Run a Sonar build with Maven
914 mvn-version: '{mvn-version}'
915 - lf-update-java-alternatives:
916 java-version: '{java-version}'
918 # Switch this to the sonar wrapper when JJB 2.0 is available
919 properties-content: SONAR_HOST_URL=$SONAR_URL
920 - lf-provide-maven-settings:
921 global-settings-file: global-settings
922 settings-file: '{mvn-settings}'
923 - shell: !include-raw-escape:
924 - ../shell/common-variables.sh
925 - ../shell/maven-sonar.sh
926 - lf-provide-maven-settings-cleanup
929 name: '{project-name}-sonar'
930 id: gerrit-maven-sonar
932 # yamllint disable-line rule:key-duplicates
936 - lf-infra-gerrit-scm:
937 jenkins-ssh-credential: '{jenkins-ssh-credential}'
939 refspec: $GERRIT_REFSPEC
940 branch: $GERRIT_BRANCH
941 submodule-recursive: '{submodule-recursive}'
942 choosing-strategy: default
945 name: '{project-name}-sonar'
946 id: github-maven-sonar
948 # yamllint disable-line rule:key-duplicates
952 - lf-infra-properties:
953 build-days-to-keep: '{build-days-to-keep}'
955 url: '{github-url}/{github-org}/{project}'
958 - lf-infra-github-scm:
959 url: '{git-clone-url}{github-org}/{project}'
960 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
962 submodule-recursive: '{submodule-recursive}'
963 choosing-strategy: default
964 jenkins-ssh-credential: '{jenkins-ssh-credential}'
967 - github-pull-request:
968 trigger-phrase: '^run-sonar$'
969 only-trigger-phrase: false
970 status-context: 'Maven Sonar'
973 white-list-target-branches:
980 - lf_maven_verify: &lf_maven_verify
981 name: lf-maven-verify
983 ######################
984 # Default parameters #
985 ######################
988 build-days-to-keep: 7
991 git-url: '$GIT_URL/$PROJECT'
992 github-url: 'https://github.com'
993 java-version: openjdk8
994 mvn-global-settings: global-settings
995 mvn-goals: clean deploy
997 mvn-params: '-Dstream=$STREAM'
1000 submodule-recursive: true
1002 gerrit_verify_triggers:
1003 - patchset-created-event:
1004 exclude-drafts: true
1005 exclude-trivial-rebase: false
1006 exclude-no-code-change: false
1007 - draft-published-event
1008 - comment-added-contains-event:
1009 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1011 gerrit_trigger_file_paths:
1012 - compare-type: REG_EXP
1015 # github_included_regions MUST match gerrit_trigger_file_paths
1016 github_included_regions:
1019 #####################
1020 # Job Configuration #
1021 #####################
1024 disabled: '{disable-job}'
1027 - lf-infra-pre-build
1028 - lf-jacoco-nojava-workaround
1030 mvn-version: '{mvn-version}'
1031 - lf-update-java-alternatives:
1032 java-version: '{java-version}'
1033 - lf-provide-maven-settings:
1034 global-settings-file: '{mvn-global-settings}'
1035 settings-file: '{mvn-settings}'
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-infra-pre-build
1148 - lf-jacoco-nojava-workaround
1150 mvn-version: '{mvn-version}'
1151 - lf-update-java-alternatives:
1152 java-version: '{java-version}'
1153 - lf-provide-maven-settings:
1154 global-settings-file: '{mvn-global-settings}'
1155 settings-file: '{mvn-settings}'
1156 - lf-fetch-dependent-patches
1157 - shell: !include-raw-escape:
1158 - ../shell/common-variables.sh
1159 - ../shell/maven-build-deps.sh
1161 mvn-goals: '{mvn-goals}'
1162 - lf-provide-maven-settings-cleanup
1170 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1171 id: gerrit-maven-verify-dependencies
1172 <<: *lf_maven_common
1173 # yamllint disable-line rule:key-duplicates
1174 <<: *lf_maven_verify_dependencies
1177 - lf-infra-gerrit-scm:
1178 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1179 git-url: '{git-url}'
1180 refspec: '$GERRIT_REFSPEC'
1181 branch: '$GERRIT_BRANCH'
1182 submodule-recursive: '{submodule-recursive}'
1183 choosing-strategy: gerrit
1187 server-name: '{gerrit-server-name}'
1188 trigger-on: '{obj:gerrit_verify_triggers}'
1190 - project-compare-type: ANT
1191 project-pattern: '{project}'
1193 - branch-compare-type: ANT
1194 branch-pattern: '**/{branch}'
1195 file-paths: '{obj:gerrit_trigger_file_paths}'