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
162 git-url: '$GIT_URL/$PROJECT'
163 github-url: 'https://github.com'
164 java-version: openjdk8
165 mvn-global-settings: global-settings
169 nexus-iq-stage: 'build'
171 submodule-recursive: true
173 nexus_iq_scan_patterns:
181 - comment-added-contains-event:
182 comment-contains-value: run-clm$
185 - lf-infra-parameters:
189 lftools-version: '{lftools-version}'
190 - lf-infra-maven-parameters:
191 mvn-opts: '{mvn-opts}'
192 mvn-params: '{mvn-params}'
193 mvn-version: '{mvn-version}'
195 name: ARCHIVE_ARTIFACTS
196 default: '{archive-artifacts}'
197 description: Artifacts to archive to the logs server.
199 nexus-iq-stage: '{nexus-iq-stage}'
201 #####################
202 # Job Configuration #
203 #####################
207 mvn-version: '{mvn-version}'
208 - lf-update-java-alternatives:
209 java-version: '{java-version}'
210 - lf-provide-maven-settings:
211 global-settings-file: '{mvn-global-settings}'
212 settings-file: '{mvn-settings}'
213 - shell: !include-raw-escape:
214 - ../shell/common-variables.sh
215 - ../shell/sonatype-clm.sh
216 - lf-provide-maven-settings-cleanup
217 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
218 - nexus-iq-policy-evaluator:
219 stage: '{nexus-iq-stage}'
220 application-type: 'manual'
221 application-id: '{project-name}'
222 scan-patterns: '{obj:nexus_iq_scan_patterns}'
223 fail-build-network-error: true
226 name: '{project-name}-maven-clm-{stream}'
229 # yamllint disable-line rule:key-duplicates
233 - lf-infra-gerrit-scm:
234 jenkins-ssh-credential: '{jenkins-ssh-credential}'
236 refspec: '$GERRIT_REFSPEC'
237 branch: '$GERRIT_BRANCH'
238 submodule-recursive: '{submodule-recursive}'
239 choosing-strategy: default
242 # Build weekly on Saturdays
245 server-name: '{gerrit-server-name}'
246 trigger-on: '{obj:gerrit_clm_triggers}'
248 - project-compare-type: ANT
249 project-pattern: '{project}'
251 - branch-compare-type: ANT
252 branch-pattern: '**/{branch}'
260 name: '{project-name}-maven-clm-{stream}'
263 # yamllint disable-line rule:key-duplicates
267 - lf-infra-properties:
268 build-days-to-keep: '{build-days-to-keep}'
270 url: '{github-url}/{github-org}/{project}'
273 - lf-infra-github-scm:
274 url: '{git-clone-url}{github-org}/{project}'
276 branch: 'refs/heads/{branch}'
277 submodule-recursive: '{submodule-recursive}'
278 choosing-strategy: default
279 jenkins-ssh-credential: '{jenkins-ssh-credential}'
282 # Build weekly on Saturdays
284 - github-pull-request:
285 trigger-phrase: '^run-clm$'
286 only-trigger-phrase: true
287 status-context: 'CLM'
292 white-list: '{obj:github_pr_whitelist}'
293 admin-list: '{obj:github_pr_admin_list}'
294 white-list-target-branches:
297 #########################
298 # Maven Javadoc Publish #
299 #########################
301 - lf_maven_javadoc_publish: &lf_maven_javadoc_publish
302 name: lf-maven-javadoc-publish
304 ######################
305 # Default parameters #
306 ######################
309 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
311 git-url: '$GIT_URL/$PROJECT'
312 github-url: 'https://github.com'
313 java-version: openjdk8
314 mvn-global-settings: global-settings
319 submodule-recursive: true
321 gerrit_merge_triggers:
322 - change-merged-event
323 - comment-added-contains-event:
324 comment-contains-value: remerge$
326 #####################
327 # Job Configuration #
328 #####################
332 mvn-version: '{mvn-version}'
333 - lf-update-java-alternatives:
334 java-version: '{java-version}'
335 - lf-provide-maven-settings:
336 global-settings-file: '{mvn-global-settings}'
337 settings-file: '{mvn-settings}'
338 - lf-infra-create-netrc:
339 server-id: '{mvn-site-id}'
341 properties-content: 'DEPLOY_PATH={javadoc-path}'
342 - shell: !include-raw-escape:
343 - ../shell/common-variables.sh
344 - ../shell/maven-javadoc-generate.sh
345 - ../shell/lftools-install.sh
346 - ../shell/maven-javadoc-publish.sh
347 - lf-provide-maven-settings-cleanup
350 name: '{project-name}-maven-javadoc-publish-{stream}'
351 id: gerrit-maven-javadoc-publish
353 # yamllint disable-line rule:key-duplicates
354 <<: *lf_maven_javadoc_publish
356 git-url: '$GIT_URL/$GERRIT_PROJECT'
359 - lf-infra-gerrit-scm:
363 submodule-recursive: '{submodule-recursive}'
364 choosing-strategy: default
365 jenkins-ssh-credential: '{jenkins-ssh-credential}'
369 server-name: '{gerrit-server-name}'
370 trigger-on: '{obj:gerrit_merge_triggers}'
372 - project-compare-type: ANT
373 project-pattern: '{project}'
375 - branch-compare-type: ANT
376 branch-pattern: '**/{branch}'
379 name: '{project-name}-maven-javadoc-publish-{stream}'
380 id: github-maven-javadoc-publish
382 # yamllint disable-line rule:key-duplicates
383 <<: *lf_maven_javadoc_publish
386 - lf-infra-properties:
387 build-days-to-keep: '{build-days-to-keep}'
389 url: '{github-url}/{github-org}/{project}'
392 - lf-infra-github-scm:
393 url: '{git-clone-url}{github-org}/{project}'
396 submodule-recursive: '{submodule-recursive}'
397 choosing-strategy: default
398 jenkins-ssh-credential: '{jenkins-ssh-credential}'
404 - github-pull-request:
405 trigger-phrase: '^remerge$'
406 only-trigger-phrase: true
407 status-context: 'Maven Javadoc Publish'
412 white-list: '{obj:github_pr_whitelist}'
413 admin-list: '{obj:github_pr_admin_list}'
414 white-list-target-branches:
417 ########################
418 # Maven Javadoc Verify #
419 ########################
421 - lf_maven_javadoc_verify: &lf_maven_javadoc_verify
422 name: lf-maven-javadoc-verify
424 ######################
425 # Default parameters #
426 ######################
429 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
431 git-url: '$GIT_URL/$PROJECT'
432 github-url: 'https://github.com'
433 java-version: openjdk8
434 mvn-global-settings: global-settings
439 submodule-recursive: true
441 gerrit_verify_triggers:
442 - patchset-created-event:
444 exclude-trivial-rebase: false
445 exclude-no-code-change: false
446 - draft-published-event
447 - comment-added-contains-event:
448 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
450 #####################
451 # Job Configuration #
452 #####################
458 mvn-version: '{mvn-version}'
459 - lf-update-java-alternatives:
460 java-version: '{java-version}'
461 - lf-provide-maven-settings:
462 global-settings-file: '{mvn-global-settings}'
463 settings-file: '{mvn-settings}'
464 - shell: !include-raw-escape:
465 - ../shell/common-variables.sh
466 - ../shell/maven-javadoc-generate.sh
467 - lf-provide-maven-settings-cleanup
470 name: '{project-name}-maven-javadoc-verify-{stream}'
471 id: gerrit-maven-javadoc-verify
473 # yamllint disable-line rule:key-duplicates
474 <<: *lf_maven_javadoc_verify
477 - lf-infra-gerrit-scm:
478 jenkins-ssh-credential: '{jenkins-ssh-credential}'
480 refspec: '$GERRIT_REFSPEC'
481 branch: '$GERRIT_BRANCH'
482 submodule-recursive: '{submodule-recursive}'
483 choosing-strategy: gerrit
487 server-name: '{gerrit-server-name}'
488 trigger-on: '{obj:gerrit_verify_triggers}'
490 - project-compare-type: ANT
491 project-pattern: '{project}'
493 - branch-compare-type: ANT
494 branch-pattern: '**/{branch}'
497 name: '{project-name}-maven-javadoc-verify-{stream}'
498 id: github-maven-javadoc-verify
500 # yamllint disable-line rule:key-duplicates
501 <<: *lf_maven_javadoc_verify
504 - lf-infra-properties:
505 build-days-to-keep: '{build-days-to-keep}'
507 url: '{github-url}/{github-org}/{project}'
510 - lf-infra-github-scm:
511 url: '{git-clone-url}{github-org}/{project}'
512 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
514 submodule-recursive: '{submodule-recursive}'
515 choosing-strategy: default
516 jenkins-ssh-credential: '{jenkins-ssh-credential}'
519 - github-pull-request:
520 trigger-phrase: ^(recheck|reverify)$
521 only-trigger-phrase: false
522 status-context: 'Maven Javadoc Verify'
525 white-list-target-branches:
532 - lf_maven_merge: &lf_maven_merge
535 ######################
536 # Default parameters #
537 ######################
540 build-days-to-keep: 30 # 30 days in case we need to troubleshoot
543 git-url: '$GIT_URL/$PROJECT'
544 github-url: 'https://github.com'
545 java-version: openjdk8
546 mvn-global-settings: global-settings
547 mvn-goals: clean deploy
549 mvn-params: '-Dmerge'
551 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
553 submodule-recursive: true
555 gerrit_merge_triggers:
556 - change-merged-event
557 - comment-added-contains-event:
558 comment-contains-value: remerge$
560 gerrit_trigger_file_paths:
561 - compare-type: REG_EXP
564 # github_included_regions MUST match gerrit_trigger_file_paths
565 github_included_regions:
568 post_build_trigger: ''
570 #####################
571 # Job Configuration #
572 #####################
575 - lf-jacoco-nojava-workaround
577 mvn-version: '{mvn-version}'
578 - lf-update-java-alternatives:
579 java-version: '{java-version}'
580 - lf-provide-maven-settings:
581 global-settings-file: '{mvn-global-settings}'
582 settings-file: '{mvn-settings}'
583 - lf-infra-create-netrc:
584 server-id: '{mvn-snapshot-id}'
586 properties-content: |
587 NEXUS_CUT_DIRS={nexus-cut-dirs}
588 NEXUS_REPO={nexus-snapshot-repo}
589 - shell: !include-raw-escape:
590 - ../shell/lftools-install.sh
591 - ../shell/maven-fetch-metadata.sh
593 mvn-goals: '{mvn-goals}'
595 - lf-provide-maven-settings-cleanup
601 - trigger-parameterized-builds: '{obj:post_build_trigger}'
604 name: '{project-name}-maven-merge-{stream}'
605 id: gerrit-maven-merge
607 # yamllint disable-line rule:key-duplicates
611 - lf-infra-gerrit-scm:
612 jenkins-ssh-credential: '{jenkins-ssh-credential}'
614 refspec: '$GERRIT_REFSPEC'
615 branch: '$GERRIT_BRANCH'
616 submodule-recursive: '{submodule-recursive}'
617 choosing-strategy: default
620 - timed: '{obj:cron}'
622 server-name: '{gerrit-server-name}'
623 trigger-on: '{obj:gerrit_merge_triggers}'
625 - project-compare-type: ANT
626 project-pattern: '{project}'
628 - branch-compare-type: ANT
629 branch-pattern: '**/{branch}'
630 file-paths: '{obj:gerrit_trigger_file_paths}'
633 name: '{project-name}-maven-merge-{stream}'
634 id: github-maven-merge
636 # yamllint disable-line rule:key-duplicates
640 - lf-infra-properties:
641 build-days-to-keep: '{build-days-to-keep}'
643 url: '{github-url}/{github-org}/{project}'
646 - lf-infra-github-scm:
647 url: '{git-clone-url}{github-org}/{project}'
648 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
650 submodule-recursive: '{submodule-recursive}'
651 choosing-strategy: default
652 jenkins-ssh-credential: '{jenkins-ssh-credential}'
655 - timed: '{obj:cron}'
659 - github-pull-request:
660 trigger-phrase: '^remerge$'
661 only-trigger-phrase: true
662 status-context: 'Maven Merge'
667 white-list: '{obj:github_pr_whitelist}'
668 admin-list: '{obj:github_pr_admin_list}'
669 white-list-target-branches:
671 included-regions: '{obj:github_included_regions}'
677 - lf_maven_stage: &lf_maven_stage
680 ######################
681 # Default parameters #
682 ######################
685 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
688 git-url: '$GIT_URL/$PROJECT'
689 github-url: 'https://github.com'
690 java-version: openjdk8
691 mvn-global-settings: global-settings
692 mvn-goals: clean deploy
697 submodule-recursive: true
699 gerrit_release_triggers:
700 - comment-added-contains-event:
701 comment-contains-value: stage-release$
703 #####################
704 # Job Configuration #
705 #####################
708 - lf-infra-parameters:
712 lftools-version: '{lftools-version}'
713 - lf-infra-maven-parameters:
714 mvn-opts: '{mvn-opts}'
715 mvn-params: '{mvn-params}'
716 mvn-version: '{mvn-version}'
717 staging-profile-id: '{staging-profile-id}'
719 name: ARCHIVE_ARTIFACTS
720 default: '{archive-artifacts}'
721 description: Artifacts to archive to the logs server.
723 name: STAGING_PROFILE_ID
724 default: '{staging-profile-id}'
725 description: Nexus staging profile ID.
728 - lf-jacoco-nojava-workaround
730 mvn-version: '{mvn-version}'
731 - lf-update-java-alternatives:
732 java-version: '{java-version}'
733 - lf-provide-maven-settings:
734 global-settings-file: '{mvn-global-settings}'
735 settings-file: '{mvn-settings}'
736 - lf-infra-create-netrc:
737 server-id: '{mvn-staging-id}'
738 - shell: !include-raw-escape:
739 - ../shell/lftools-install.sh
740 - ../shell/maven-patch-release.sh
742 mvn-goals: '{mvn-goals}'
744 - lf-provide-maven-settings-cleanup
747 name: '{project-name}-maven-stage-{stream}'
748 id: gerrit-maven-stage
750 # yamllint disable-line rule:key-duplicates
754 - lf-infra-gerrit-scm:
755 jenkins-ssh-credential: '{jenkins-ssh-credential}'
757 refspec: '$GERRIT_REFSPEC'
758 branch: '$GERRIT_BRANCH'
759 submodule-recursive: '{submodule-recursive}'
760 choosing-strategy: default
763 - timed: '{obj:cron}'
765 server-name: '{gerrit-server-name}'
766 trigger-on: '{obj:gerrit_release_triggers}'
768 - project-compare-type: ANT
769 project-pattern: '{project}'
771 - branch-compare-type: ANT
772 branch-pattern: '**/{branch}'
775 name: '{project-name}-maven-stage-{stream}'
776 id: github-maven-stage
778 # yamllint disable-line rule:key-duplicates
782 - lf-infra-properties:
783 build-days-to-keep: '{build-days-to-keep}'
785 url: '{github-url}/{github-org}/{project}'
788 - lf-infra-github-scm:
789 url: '{git-clone-url}{github-org}/{project}'
790 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
792 submodule-recursive: '{submodule-recursive}'
793 choosing-strategy: default
794 jenkins-ssh-credential: '{jenkins-ssh-credential}'
797 - timed: '{obj:cron}'
798 - github-pull-request:
799 trigger-phrase: '^build release$'
800 only-trigger-phrase: true
801 status-context: 'Maven Release'
804 white-list-target-branches:
811 - lf_maven_sonar: &lf_maven_sonar
814 ######################
815 # Default parameters #
816 ######################
818 branch: master # Sonar should always be run on master branch
819 build-days-to-keep: 7
821 cron: 'H H * * 6' # run weekly
822 git-url: '$GIT_URL/$PROJECT'
823 github-url: 'https://github.com'
824 java-version: openjdk8
825 mvn-global-settings: global-settings
829 sonar-mvn-goal: 'sonar:sonar'
831 submodule-recursive: true
833 gerrit_sonar_triggers:
834 - comment-added-contains-event:
835 comment-contains-value: run-sonar$
837 #####################
838 # Job Configuration #
839 #####################
842 - lf-infra-parameters:
846 lftools-version: '{lftools-version}'
847 - lf-infra-maven-parameters:
848 mvn-opts: '{mvn-opts}'
849 mvn-params: '{mvn-params}'
850 mvn-version: '{mvn-version}'
852 name: ARCHIVE_ARTIFACTS
853 default: '{archive-artifacts}'
854 description: Artifacts to archive to the logs server.
856 name: SONAR_MAVEN_GOAL
857 default: '{sonar-mvn-goal}'
859 Maven goals to pass to the Sonar call. Typically sonar:sonar
860 however to use a specific version of the sonar-maven-plugin we
861 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
864 - timed: '{obj:cron}'
866 server-name: '{gerrit-server-name}'
867 trigger-on: '{obj:gerrit_sonar_triggers}'
869 - project-compare-type: 'ANT'
870 project-pattern: '{project}'
872 - branch-compare-type: 'ANT'
873 branch-pattern: '**/master'
881 - lf-infra-maven-sonar:
882 java-version: '{java-version}'
883 mvn-settings: '{mvn-settings}'
884 mvn-version: '{mvn-version}'
892 name: lf-infra-maven-sonar
893 # Run a Sonar build with Maven
896 mvn-version: '{mvn-version}'
897 - lf-update-java-alternatives:
898 java-version: '{java-version}'
900 # Switch this to the sonar wrapper when JJB 2.0 is available
901 properties-content: SONAR_HOST_URL=$SONAR_URL
902 - lf-provide-maven-settings:
903 global-settings-file: global-settings
904 settings-file: '{mvn-settings}'
905 - shell: !include-raw-escape:
906 - ../shell/common-variables.sh
907 - ../shell/maven-sonar.sh
908 - lf-provide-maven-settings-cleanup
911 name: '{project-name}-sonar'
912 id: gerrit-maven-sonar
914 # yamllint disable-line rule:key-duplicates
918 - lf-infra-gerrit-scm:
919 jenkins-ssh-credential: '{jenkins-ssh-credential}'
921 refspec: $GERRIT_REFSPEC
922 branch: $GERRIT_BRANCH
923 submodule-recursive: '{submodule-recursive}'
924 choosing-strategy: default
927 name: '{project-name}-sonar'
928 id: github-maven-sonar
930 # yamllint disable-line rule:key-duplicates
934 - lf-infra-properties:
935 build-days-to-keep: '{build-days-to-keep}'
937 url: '{github-url}/{github-org}/{project}'
940 - lf-infra-github-scm:
941 url: '{git-clone-url}{github-org}/{project}'
942 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
944 submodule-recursive: '{submodule-recursive}'
945 choosing-strategy: default
946 jenkins-ssh-credential: '{jenkins-ssh-credential}'
949 - github-pull-request:
950 trigger-phrase: '^run-sonar$'
951 only-trigger-phrase: false
952 status-context: 'Maven Sonar'
955 white-list-target-branches:
962 - lf_maven_verify: &lf_maven_verify
963 name: lf-maven-verify
965 ######################
966 # Default parameters #
967 ######################
970 build-days-to-keep: 7
972 git-url: '$GIT_URL/$PROJECT'
973 github-url: 'https://github.com'
974 java-version: openjdk8
975 mvn-global-settings: global-settings
976 mvn-goals: clean deploy
978 mvn-params: '-Dstream=$STREAM'
981 submodule-recursive: true
983 gerrit_verify_triggers:
984 - patchset-created-event:
986 exclude-trivial-rebase: false
987 exclude-no-code-change: false
988 - draft-published-event
989 - comment-added-contains-event:
990 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
992 gerrit_trigger_file_paths:
993 - compare-type: REG_EXP
996 # github_included_regions MUST match gerrit_trigger_file_paths
997 github_included_regions:
1000 #####################
1001 # Job Configuration #
1002 #####################
1007 - lf-jacoco-nojava-workaround
1009 mvn-version: '{mvn-version}'
1010 - lf-update-java-alternatives:
1011 java-version: '{java-version}'
1012 - lf-provide-maven-settings:
1013 global-settings-file: '{mvn-global-settings}'
1014 settings-file: '{mvn-settings}'
1015 - shell: !include-raw-escape:
1016 - ../shell/lftools-install.sh
1018 mvn-goals: '{mvn-goals}'
1019 - lf-provide-maven-settings-cleanup
1027 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1028 id: gerrit-maven-verify
1029 <<: *lf_maven_common
1030 # yamllint disable-line rule:key-duplicates
1031 <<: *lf_maven_verify
1034 - lf-infra-gerrit-scm:
1035 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1036 git-url: '{git-url}'
1037 refspec: '$GERRIT_REFSPEC'
1038 branch: '$GERRIT_BRANCH'
1039 submodule-recursive: '{submodule-recursive}'
1040 choosing-strategy: gerrit
1044 server-name: '{gerrit-server-name}'
1045 trigger-on: '{obj:gerrit_verify_triggers}'
1047 - project-compare-type: ANT
1048 project-pattern: '{project}'
1050 - branch-compare-type: ANT
1051 branch-pattern: '**/{branch}'
1052 file-paths: '{obj:gerrit_trigger_file_paths}'
1055 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1056 id: github-maven-verify
1057 <<: *lf_maven_common
1058 # yamllint disable-line rule:key-duplicates
1059 <<: *lf_maven_verify
1062 - lf-infra-properties:
1063 build-days-to-keep: '{build-days-to-keep}'
1065 url: '{github-url}/{github-org}/{project}'
1068 - lf-infra-github-scm:
1069 url: '{git-clone-url}{github-org}/{project}'
1070 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1072 submodule-recursive: '{submodule-recursive}'
1073 choosing-strategy: default
1074 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1077 - github-pull-request:
1078 trigger-phrase: '^(recheck|reverify)$'
1079 only-trigger-phrase: false
1080 status-context: 'Maven Verify'
1083 white-list-target-branches:
1085 included-regions: '{obj:github_included_regions}'
1087 #############################
1088 # Maven Verify Dependencies #
1089 #############################
1091 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1092 name: lf-maven-verify-dependencies
1094 ######################
1095 # Default parameters #
1096 ######################
1099 build-days-to-keep: 7
1101 git-url: '$GIT_URL/$PROJECT'
1102 github-url: 'https://github.com'
1103 java-version: openjdk8
1104 mvn-global-settings: global-settings
1105 mvn-goals: clean deploy
1107 mvn-params: '-Dstream=$STREAM'
1110 submodule-recursive: true
1112 gerrit_verify_triggers:
1113 - comment-added-contains-event:
1114 comment-contains-value: 'recheck: [0-9 ]+'
1115 gerrit_trigger_file_paths:
1119 #####################
1120 # Job Configuration #
1121 #####################
1126 - lf-jacoco-nojava-workaround
1128 mvn-version: '{mvn-version}'
1129 - lf-update-java-alternatives:
1130 java-version: '{java-version}'
1131 - lf-provide-maven-settings:
1132 global-settings-file: '{mvn-global-settings}'
1133 settings-file: '{mvn-settings}'
1134 - lf-fetch-dependent-patches
1135 - shell: !include-raw-escape:
1136 - ../shell/common-variables.sh
1137 - ../shell/maven-build-deps.sh
1139 mvn-goals: '{mvn-goals}'
1140 - lf-provide-maven-settings-cleanup
1148 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1149 id: gerrit-maven-verify-dependencies
1150 <<: *lf_maven_common
1151 # yamllint disable-line rule:key-duplicates
1152 <<: *lf_maven_verify_dependencies
1155 - lf-infra-gerrit-scm:
1156 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1157 git-url: '{git-url}'
1158 refspec: '$GERRIT_REFSPEC'
1159 branch: '$GERRIT_BRANCH'
1160 submodule-recursive: '{submodule-recursive}'
1161 choosing-strategy: gerrit
1165 server-name: '{gerrit-server-name}'
1166 trigger-on: '{obj:gerrit_verify_triggers}'
1168 - project-compare-type: ANT
1169 project-pattern: '{project}'
1171 - branch-compare-type: ANT
1172 branch-pattern: '**/{branch}'
1173 file-paths: '{obj:gerrit_trigger_file_paths}'