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
15 - gerrit-maven-verify-dependencies
18 name: '{project-name}-github-maven-jobs'
20 # This job group contains all the recommended jobs that should be deployed
21 # for any project ci that is using github.
30 name: '{project-name}-maven-javadoc-jobs'
32 # This job group contains all the recommended jobs that should be deployed
36 - gerrit-maven-javadoc-publish
37 - gerrit-maven-javadoc-verify
40 name: '{project-name}-github-maven-javadoc-jobs'
42 # This job group contains all the recommended jobs that should be deployed
46 - github-maven-javadoc-publish
47 - github-maven-javadoc-verify
57 properties-content: 'MAVEN_GOALS={mvn-goals}'
58 - shell: !include-raw-escape:
59 - ../shell/common-variables.sh
60 - ../shell/maven-build.sh
65 - shell: !include-raw:
66 - ../shell/common-variables.sh
67 - ../shell/maven-deploy.sh
72 # include-raw-escape fails due to JJB bug
73 - shell: !include-raw:
74 - ../shell/common-variables.sh
75 - ../shell/maven-stage.sh
78 name: lf-update-java-alternatives
81 # Work around inject plugin overriding our GIT_URL variable incorrectly
82 # https://issues.jenkins-ci.org/browse/JENKINS-49775
84 SET_JDK_VERSION={java-version}
86 - shell: !include-raw-escape: ../shell/update-java-alternatives.sh
88 properties-file: '/tmp/java.env'
94 - lf_maven_common: &lf_maven_common
97 ######################
98 # Default parameters #
99 ######################
104 **/target/**/feature.xml
105 **/target/failsafe-reports/failsafe-summary.xml
106 **/target/surefire-reports/*-output.txt
108 #####################
109 # Job Configuration #
110 #####################
112 project-type: freestyle
116 - lf-infra-properties:
117 build-days-to-keep: '{build-days-to-keep}'
120 - lf-infra-parameters:
124 lftools-version: '{lftools-version}'
125 - lf-infra-maven-parameters:
126 mvn-opts: '{mvn-opts}'
127 mvn-params: '{mvn-params}'
128 mvn-version: '{mvn-version}'
130 name: ARCHIVE_ARTIFACTS
131 default: '{archive-artifacts}'
132 description: Artifacts to archive to the logs server.
136 build-timeout: '{build-timeout}'
137 jenkins-ssh-credential: '{jenkins-ssh-credential}'
140 # TODO: Make email notification work.
141 # - lf-infra-email-notify:
142 # email-recipients: '{email-recipients}'
143 # email-prefix: '[releng]'
150 - lf_maven_clm: &lf_maven_clm
153 ######################
154 # Default parameters #
155 ######################
158 build-days-to-keep: 30 # 30 days for troubleshooting purposes
161 git-url: '$GIT_URL/$PROJECT'
162 github-url: 'https://github.com'
163 java-version: openjdk8
164 mvn-global-settings: global-settings
168 nexus-iq-stage: 'build'
170 submodule-recursive: true
172 nexus_iq_scan_patterns:
180 - comment-added-contains-event:
181 comment-contains-value: run-clm$
184 - lf-infra-parameters:
188 lftools-version: '{lftools-version}'
189 - lf-infra-maven-parameters:
190 mvn-opts: '{mvn-opts}'
191 mvn-params: '{mvn-params}'
192 mvn-version: '{mvn-version}'
194 name: ARCHIVE_ARTIFACTS
195 default: '{archive-artifacts}'
196 description: Artifacts to archive to the logs server.
198 nexus-iq-stage: '{nexus-iq-stage}'
200 #####################
201 # Job Configuration #
202 #####################
204 disabled: '{disable-job}'
208 mvn-version: '{mvn-version}'
209 - lf-update-java-alternatives:
210 java-version: '{java-version}'
211 - lf-provide-maven-settings:
212 global-settings-file: '{mvn-global-settings}'
213 settings-file: '{mvn-settings}'
214 - shell: !include-raw-escape:
215 - ../shell/common-variables.sh
216 - ../shell/sonatype-clm.sh
217 - lf-provide-maven-settings-cleanup
218 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
219 - nexus-iq-policy-evaluator:
220 stage: '{nexus-iq-stage}'
221 application-type: 'manual'
222 application-id: '{project-name}'
223 scan-patterns: '{obj:nexus_iq_scan_patterns}'
224 fail-build-network-error: true
227 name: '{project-name}-maven-clm-{stream}'
230 # yamllint disable-line rule:key-duplicates
234 - lf-infra-gerrit-scm:
235 jenkins-ssh-credential: '{jenkins-ssh-credential}'
237 refspec: '$GERRIT_REFSPEC'
238 branch: '$GERRIT_BRANCH'
239 submodule-recursive: '{submodule-recursive}'
240 choosing-strategy: default
243 # Build weekly on Saturdays
246 server-name: '{gerrit-server-name}'
247 trigger-on: '{obj:gerrit_clm_triggers}'
249 - project-compare-type: ANT
250 project-pattern: '{project}'
252 - branch-compare-type: ANT
253 branch-pattern: '**/{branch}'
261 name: '{project-name}-maven-clm-{stream}'
264 # yamllint disable-line rule:key-duplicates
268 - lf-infra-properties:
269 build-days-to-keep: '{build-days-to-keep}'
271 url: '{github-url}/{github-org}/{project}'
274 - lf-infra-github-scm:
275 url: '{git-clone-url}{github-org}/{project}'
277 branch: 'refs/heads/{branch}'
278 submodule-recursive: '{submodule-recursive}'
279 choosing-strategy: default
280 jenkins-ssh-credential: '{jenkins-ssh-credential}'
283 # Build weekly on Saturdays
285 - github-pull-request:
286 trigger-phrase: '^run-clm$'
287 only-trigger-phrase: true
288 status-context: 'CLM'
293 white-list: '{obj:github_pr_whitelist}'
294 admin-list: '{obj:github_pr_admin_list}'
295 white-list-target-branches:
298 #########################
299 # Maven Javadoc Publish #
300 #########################
302 - lf_maven_javadoc_publish: &lf_maven_javadoc_publish
303 name: lf-maven-javadoc-publish
305 ######################
306 # Default parameters #
307 ######################
310 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
313 git-url: '$GIT_URL/$PROJECT'
314 github-url: 'https://github.com'
315 java-version: openjdk8
316 mvn-global-settings: global-settings
321 submodule-recursive: true
323 gerrit_merge_triggers:
324 - change-merged-event
325 - comment-added-contains-event:
326 comment-contains-value: remerge$
328 #####################
329 # Job Configuration #
330 #####################
332 disabled: '{disable-job}'
336 mvn-version: '{mvn-version}'
337 - lf-update-java-alternatives:
338 java-version: '{java-version}'
339 - lf-provide-maven-settings:
340 global-settings-file: '{mvn-global-settings}'
341 settings-file: '{mvn-settings}'
342 - lf-infra-create-netrc:
343 server-id: '{mvn-site-id}'
345 properties-content: 'DEPLOY_PATH={javadoc-path}'
346 - shell: !include-raw-escape:
347 - ../shell/common-variables.sh
348 - ../shell/maven-javadoc-generate.sh
349 - ../shell/lftools-install.sh
350 - ../shell/maven-javadoc-publish.sh
351 - lf-provide-maven-settings-cleanup
354 name: '{project-name}-maven-javadoc-publish-{stream}'
355 id: gerrit-maven-javadoc-publish
357 # yamllint disable-line rule:key-duplicates
358 <<: *lf_maven_javadoc_publish
360 git-url: '$GIT_URL/$GERRIT_PROJECT'
363 - lf-infra-gerrit-scm:
367 submodule-recursive: '{submodule-recursive}'
368 choosing-strategy: default
369 jenkins-ssh-credential: '{jenkins-ssh-credential}'
373 server-name: '{gerrit-server-name}'
374 trigger-on: '{obj:gerrit_merge_triggers}'
376 - project-compare-type: ANT
377 project-pattern: '{project}'
379 - branch-compare-type: ANT
380 branch-pattern: '**/{branch}'
383 name: '{project-name}-maven-javadoc-publish-{stream}'
384 id: github-maven-javadoc-publish
386 # yamllint disable-line rule:key-duplicates
387 <<: *lf_maven_javadoc_publish
390 - lf-infra-properties:
391 build-days-to-keep: '{build-days-to-keep}'
393 url: '{github-url}/{github-org}/{project}'
396 - lf-infra-github-scm:
397 url: '{git-clone-url}{github-org}/{project}'
400 submodule-recursive: '{submodule-recursive}'
401 choosing-strategy: default
402 jenkins-ssh-credential: '{jenkins-ssh-credential}'
408 - github-pull-request:
409 trigger-phrase: '^remerge$'
410 only-trigger-phrase: true
411 status-context: 'Maven Javadoc Publish'
416 white-list: '{obj:github_pr_whitelist}'
417 admin-list: '{obj:github_pr_admin_list}'
418 white-list-target-branches:
421 ########################
422 # Maven Javadoc Verify #
423 ########################
425 - lf_maven_javadoc_verify: &lf_maven_javadoc_verify
426 name: lf-maven-javadoc-verify
428 ######################
429 # Default parameters #
430 ######################
433 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
436 git-url: '$GIT_URL/$PROJECT'
437 github-url: 'https://github.com'
438 java-version: openjdk8
439 mvn-global-settings: global-settings
444 submodule-recursive: true
446 gerrit_verify_triggers:
447 - patchset-created-event:
449 exclude-trivial-rebase: false
450 exclude-no-code-change: false
451 - draft-published-event
452 - comment-added-contains-event:
453 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
455 #####################
456 # Job Configuration #
457 #####################
460 disabled: '{disable-job}'
464 mvn-version: '{mvn-version}'
465 - lf-update-java-alternatives:
466 java-version: '{java-version}'
467 - lf-provide-maven-settings:
468 global-settings-file: '{mvn-global-settings}'
469 settings-file: '{mvn-settings}'
470 - shell: !include-raw-escape:
471 - ../shell/common-variables.sh
472 - ../shell/maven-javadoc-generate.sh
473 - lf-provide-maven-settings-cleanup
476 name: '{project-name}-maven-javadoc-verify-{stream}'
477 id: gerrit-maven-javadoc-verify
479 # yamllint disable-line rule:key-duplicates
480 <<: *lf_maven_javadoc_verify
483 - lf-infra-gerrit-scm:
484 jenkins-ssh-credential: '{jenkins-ssh-credential}'
486 refspec: '$GERRIT_REFSPEC'
487 branch: '$GERRIT_BRANCH'
488 submodule-recursive: '{submodule-recursive}'
489 choosing-strategy: gerrit
493 server-name: '{gerrit-server-name}'
494 trigger-on: '{obj:gerrit_verify_triggers}'
496 - project-compare-type: ANT
497 project-pattern: '{project}'
499 - branch-compare-type: ANT
500 branch-pattern: '**/{branch}'
503 name: '{project-name}-maven-javadoc-verify-{stream}'
504 id: github-maven-javadoc-verify
506 # yamllint disable-line rule:key-duplicates
507 <<: *lf_maven_javadoc_verify
510 - lf-infra-properties:
511 build-days-to-keep: '{build-days-to-keep}'
513 url: '{github-url}/{github-org}/{project}'
516 - lf-infra-github-scm:
517 url: '{git-clone-url}{github-org}/{project}'
518 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
520 submodule-recursive: '{submodule-recursive}'
521 choosing-strategy: default
522 jenkins-ssh-credential: '{jenkins-ssh-credential}'
525 - github-pull-request:
526 trigger-phrase: ^(recheck|reverify)$
527 only-trigger-phrase: false
528 status-context: 'Maven Javadoc Verify'
531 white-list-target-branches:
538 - lf_maven_merge: &lf_maven_merge
541 ######################
542 # Default parameters #
543 ######################
546 build-days-to-keep: 30 # 30 days in case we need to troubleshoot
550 git-url: '$GIT_URL/$PROJECT'
551 github-url: 'https://github.com'
552 java-version: openjdk8
553 mvn-global-settings: global-settings
554 mvn-goals: clean deploy
556 mvn-params: '-Dmerge'
558 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
560 submodule-recursive: true
562 gerrit_merge_triggers:
563 - change-merged-event
564 - comment-added-contains-event:
565 comment-contains-value: remerge$
567 gerrit_trigger_file_paths:
568 - compare-type: REG_EXP
571 # github_included_regions MUST match gerrit_trigger_file_paths
572 github_included_regions:
575 post_build_trigger: ''
577 #####################
578 # Job Configuration #
579 #####################
581 disabled: '{disable-job}'
584 - lf-jacoco-nojava-workaround
586 mvn-version: '{mvn-version}'
587 - lf-update-java-alternatives:
588 java-version: '{java-version}'
589 - lf-provide-maven-settings:
590 global-settings-file: '{mvn-global-settings}'
591 settings-file: '{mvn-settings}'
592 - lf-infra-create-netrc:
593 server-id: '{mvn-snapshot-id}'
595 properties-content: |
596 NEXUS_CUT_DIRS={nexus-cut-dirs}
597 NEXUS_REPO={nexus-snapshot-repo}
598 - shell: !include-raw-escape:
599 - ../shell/lftools-install.sh
600 - ../shell/maven-fetch-metadata.sh
602 mvn-goals: '{mvn-goals}'
604 - lf-provide-maven-settings-cleanup
610 - trigger-parameterized-builds: '{obj:post_build_trigger}'
613 name: '{project-name}-maven-merge-{stream}'
614 id: gerrit-maven-merge
616 # yamllint disable-line rule:key-duplicates
620 - lf-infra-gerrit-scm:
621 jenkins-ssh-credential: '{jenkins-ssh-credential}'
623 refspec: '$GERRIT_REFSPEC'
624 branch: '$GERRIT_BRANCH'
625 submodule-recursive: '{submodule-recursive}'
626 choosing-strategy: default
629 - timed: '{obj:cron}'
631 server-name: '{gerrit-server-name}'
632 trigger-on: '{obj:gerrit_merge_triggers}'
634 - project-compare-type: ANT
635 project-pattern: '{project}'
637 - branch-compare-type: ANT
638 branch-pattern: '**/{branch}'
639 file-paths: '{obj:gerrit_trigger_file_paths}'
642 name: '{project-name}-maven-merge-{stream}'
643 id: github-maven-merge
645 # yamllint disable-line rule:key-duplicates
649 - lf-infra-properties:
650 build-days-to-keep: '{build-days-to-keep}'
652 url: '{github-url}/{github-org}/{project}'
655 - lf-infra-github-scm:
656 url: '{git-clone-url}{github-org}/{project}'
657 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
659 submodule-recursive: '{submodule-recursive}'
660 choosing-strategy: default
661 jenkins-ssh-credential: '{jenkins-ssh-credential}'
664 - timed: '{obj:cron}'
668 - github-pull-request:
669 trigger-phrase: '^remerge$'
670 only-trigger-phrase: true
671 status-context: 'Maven Merge'
676 white-list: '{obj:github_pr_whitelist}'
677 admin-list: '{obj:github_pr_admin_list}'
678 white-list-target-branches:
680 included-regions: '{obj:github_included_regions}'
686 - lf_maven_stage: &lf_maven_stage
689 ######################
690 # Default parameters #
691 ######################
694 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
698 git-url: '$GIT_URL/$PROJECT'
699 github-url: 'https://github.com'
700 java-version: openjdk8
701 mvn-global-settings: global-settings
702 mvn-goals: clean deploy
707 submodule-recursive: true
709 gerrit_release_triggers:
710 - comment-added-contains-event:
711 comment-contains-value: stage-release$
713 #####################
714 # Job Configuration #
715 #####################
717 disabled: '{disable-job}'
720 - lf-infra-parameters:
724 lftools-version: '{lftools-version}'
725 - lf-infra-maven-parameters:
726 mvn-opts: '{mvn-opts}'
727 mvn-params: '{mvn-params}'
728 mvn-version: '{mvn-version}'
729 staging-profile-id: '{staging-profile-id}'
731 name: ARCHIVE_ARTIFACTS
732 default: '{archive-artifacts}'
733 description: Artifacts to archive to the logs server.
735 name: STAGING_PROFILE_ID
736 default: '{staging-profile-id}'
737 description: Nexus staging profile ID.
740 - lf-jacoco-nojava-workaround
742 mvn-version: '{mvn-version}'
743 - lf-update-java-alternatives:
744 java-version: '{java-version}'
745 - lf-provide-maven-settings:
746 global-settings-file: '{mvn-global-settings}'
747 settings-file: '{mvn-settings}'
748 - lf-infra-create-netrc:
749 server-id: '{mvn-staging-id}'
750 - shell: !include-raw-escape:
751 - ../shell/lftools-install.sh
752 - ../shell/maven-patch-release.sh
754 mvn-goals: '{mvn-goals}'
756 - lf-provide-maven-settings-cleanup
759 name: '{project-name}-maven-stage-{stream}'
760 id: gerrit-maven-stage
762 # yamllint disable-line rule:key-duplicates
766 - lf-infra-gerrit-scm:
767 jenkins-ssh-credential: '{jenkins-ssh-credential}'
769 refspec: '$GERRIT_REFSPEC'
770 branch: '$GERRIT_BRANCH'
771 submodule-recursive: '{submodule-recursive}'
772 choosing-strategy: default
775 - timed: '{obj:cron}'
777 server-name: '{gerrit-server-name}'
778 trigger-on: '{obj:gerrit_release_triggers}'
780 - project-compare-type: ANT
781 project-pattern: '{project}'
783 - branch-compare-type: ANT
784 branch-pattern: '**/{branch}'
787 name: '{project-name}-maven-stage-{stream}'
788 id: github-maven-stage
790 # yamllint disable-line rule:key-duplicates
794 - lf-infra-properties:
795 build-days-to-keep: '{build-days-to-keep}'
797 url: '{github-url}/{github-org}/{project}'
800 - lf-infra-github-scm:
801 url: '{git-clone-url}{github-org}/{project}'
802 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
804 submodule-recursive: '{submodule-recursive}'
805 choosing-strategy: default
806 jenkins-ssh-credential: '{jenkins-ssh-credential}'
809 - timed: '{obj:cron}'
810 - github-pull-request:
811 trigger-phrase: '^build release$'
812 only-trigger-phrase: true
813 status-context: 'Maven Release'
816 white-list-target-branches:
823 - lf_maven_sonar: &lf_maven_sonar
826 ######################
827 # Default parameters #
828 ######################
830 branch: master # Sonar should always be run on master branch
831 build-days-to-keep: 7
833 cron: 'H H * * 6' # run weekly
835 git-url: '$GIT_URL/$PROJECT'
836 github-url: 'https://github.com'
837 java-version: openjdk8
838 mvn-global-settings: global-settings
842 sonar-mvn-goal: 'sonar:sonar'
844 submodule-recursive: true
846 gerrit_sonar_triggers:
847 - comment-added-contains-event:
848 comment-contains-value: run-sonar$
850 #####################
851 # Job Configuration #
852 #####################
854 disabled: '{disable-job}'
857 - lf-infra-parameters:
861 lftools-version: '{lftools-version}'
862 - lf-infra-maven-parameters:
863 mvn-opts: '{mvn-opts}'
864 mvn-params: '{mvn-params}'
865 mvn-version: '{mvn-version}'
867 name: ARCHIVE_ARTIFACTS
868 default: '{archive-artifacts}'
869 description: Artifacts to archive to the logs server.
871 name: SONAR_MAVEN_GOAL
872 default: '{sonar-mvn-goal}'
874 Maven goals to pass to the Sonar call. Typically sonar:sonar
875 however to use a specific version of the sonar-maven-plugin we
876 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
879 - timed: '{obj:cron}'
881 server-name: '{gerrit-server-name}'
882 trigger-on: '{obj:gerrit_sonar_triggers}'
884 - project-compare-type: 'ANT'
885 project-pattern: '{project}'
887 - branch-compare-type: 'ANT'
888 branch-pattern: '**/master'
896 - lf-infra-maven-sonar:
897 java-version: '{java-version}'
898 mvn-settings: '{mvn-settings}'
899 mvn-version: '{mvn-version}'
907 name: lf-infra-maven-sonar
908 # Run a Sonar build with Maven
911 mvn-version: '{mvn-version}'
912 - lf-update-java-alternatives:
913 java-version: '{java-version}'
915 # Switch this to the sonar wrapper when JJB 2.0 is available
916 properties-content: SONAR_HOST_URL=$SONAR_URL
917 - lf-provide-maven-settings:
918 global-settings-file: global-settings
919 settings-file: '{mvn-settings}'
920 - shell: !include-raw-escape:
921 - ../shell/common-variables.sh
922 - ../shell/maven-sonar.sh
923 - lf-provide-maven-settings-cleanup
926 name: '{project-name}-sonar'
927 id: gerrit-maven-sonar
929 # yamllint disable-line rule:key-duplicates
933 - lf-infra-gerrit-scm:
934 jenkins-ssh-credential: '{jenkins-ssh-credential}'
936 refspec: $GERRIT_REFSPEC
937 branch: $GERRIT_BRANCH
938 submodule-recursive: '{submodule-recursive}'
939 choosing-strategy: default
942 name: '{project-name}-sonar'
943 id: github-maven-sonar
945 # yamllint disable-line rule:key-duplicates
949 - lf-infra-properties:
950 build-days-to-keep: '{build-days-to-keep}'
952 url: '{github-url}/{github-org}/{project}'
955 - lf-infra-github-scm:
956 url: '{git-clone-url}{github-org}/{project}'
957 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
959 submodule-recursive: '{submodule-recursive}'
960 choosing-strategy: default
961 jenkins-ssh-credential: '{jenkins-ssh-credential}'
964 - github-pull-request:
965 trigger-phrase: '^run-sonar$'
966 only-trigger-phrase: false
967 status-context: 'Maven Sonar'
970 white-list-target-branches:
977 - lf_maven_verify: &lf_maven_verify
978 name: lf-maven-verify
980 ######################
981 # Default parameters #
982 ######################
985 build-days-to-keep: 7
988 git-url: '$GIT_URL/$PROJECT'
989 github-url: 'https://github.com'
990 java-version: openjdk8
991 mvn-global-settings: global-settings
992 mvn-goals: clean deploy
994 mvn-params: '-Dstream=$STREAM'
997 submodule-recursive: true
999 gerrit_verify_triggers:
1000 - patchset-created-event:
1001 exclude-drafts: true
1002 exclude-trivial-rebase: false
1003 exclude-no-code-change: false
1004 - draft-published-event
1005 - comment-added-contains-event:
1006 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1008 gerrit_trigger_file_paths:
1009 - compare-type: REG_EXP
1012 # github_included_regions MUST match gerrit_trigger_file_paths
1013 github_included_regions:
1016 #####################
1017 # Job Configuration #
1018 #####################
1021 disabled: '{disable-job}'
1024 - lf-jacoco-nojava-workaround
1026 mvn-version: '{mvn-version}'
1027 - lf-update-java-alternatives:
1028 java-version: '{java-version}'
1029 - lf-provide-maven-settings:
1030 global-settings-file: '{mvn-global-settings}'
1031 settings-file: '{mvn-settings}'
1032 - shell: !include-raw-escape:
1033 - ../shell/lftools-install.sh
1035 mvn-goals: '{mvn-goals}'
1036 - lf-provide-maven-settings-cleanup
1044 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1045 id: gerrit-maven-verify
1046 <<: *lf_maven_common
1047 # yamllint disable-line rule:key-duplicates
1048 <<: *lf_maven_verify
1051 - lf-infra-gerrit-scm:
1052 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1053 git-url: '{git-url}'
1054 refspec: '$GERRIT_REFSPEC'
1055 branch: '$GERRIT_BRANCH'
1056 submodule-recursive: '{submodule-recursive}'
1057 choosing-strategy: gerrit
1061 server-name: '{gerrit-server-name}'
1062 trigger-on: '{obj:gerrit_verify_triggers}'
1064 - project-compare-type: ANT
1065 project-pattern: '{project}'
1067 - branch-compare-type: ANT
1068 branch-pattern: '**/{branch}'
1069 file-paths: '{obj:gerrit_trigger_file_paths}'
1072 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1073 id: github-maven-verify
1074 <<: *lf_maven_common
1075 # yamllint disable-line rule:key-duplicates
1076 <<: *lf_maven_verify
1079 - lf-infra-properties:
1080 build-days-to-keep: '{build-days-to-keep}'
1082 url: '{github-url}/{github-org}/{project}'
1085 - lf-infra-github-scm:
1086 url: '{git-clone-url}{github-org}/{project}'
1087 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1089 submodule-recursive: '{submodule-recursive}'
1090 choosing-strategy: default
1091 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1094 - github-pull-request:
1095 trigger-phrase: '^(recheck|reverify)$'
1096 only-trigger-phrase: false
1097 status-context: 'Maven Verify'
1100 white-list-target-branches:
1102 included-regions: '{obj:github_included_regions}'
1104 #############################
1105 # Maven Verify Dependencies #
1106 #############################
1108 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1109 name: lf-maven-verify-dependencies
1111 ######################
1112 # Default parameters #
1113 ######################
1116 build-days-to-keep: 7
1119 git-url: '$GIT_URL/$PROJECT'
1120 github-url: 'https://github.com'
1121 java-version: openjdk8
1122 mvn-global-settings: global-settings
1123 mvn-goals: clean deploy
1125 mvn-params: '-Dstream=$STREAM'
1128 submodule-recursive: true
1130 gerrit_verify_triggers:
1131 - comment-added-contains-event:
1132 comment-contains-value: 'recheck: [0-9 ]+'
1133 gerrit_trigger_file_paths:
1137 #####################
1138 # Job Configuration #
1139 #####################
1142 disabled: '{disable-job}'
1145 - lf-jacoco-nojava-workaround
1147 mvn-version: '{mvn-version}'
1148 - lf-update-java-alternatives:
1149 java-version: '{java-version}'
1150 - lf-provide-maven-settings:
1151 global-settings-file: '{mvn-global-settings}'
1152 settings-file: '{mvn-settings}'
1153 - lf-fetch-dependent-patches
1154 - shell: !include-raw-escape:
1155 - ../shell/common-variables.sh
1156 - ../shell/maven-build-deps.sh
1158 mvn-goals: '{mvn-goals}'
1159 - lf-provide-maven-settings-cleanup
1167 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1168 id: gerrit-maven-verify-dependencies
1169 <<: *lf_maven_common
1170 # yamllint disable-line rule:key-duplicates
1171 <<: *lf_maven_verify_dependencies
1174 - lf-infra-gerrit-scm:
1175 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1176 git-url: '{git-url}'
1177 refspec: '$GERRIT_REFSPEC'
1178 branch: '$GERRIT_BRANCH'
1179 submodule-recursive: '{submodule-recursive}'
1180 choosing-strategy: gerrit
1184 server-name: '{gerrit-server-name}'
1185 trigger-on: '{obj:gerrit_verify_triggers}'
1187 - project-compare-type: ANT
1188 project-pattern: '{project}'
1190 - branch-compare-type: ANT
1191 branch-pattern: '**/{branch}'
1192 file-paths: '{obj:gerrit_trigger_file_paths}'