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
542 cron: 'H H * * 0' # push fresh snapshot weekly
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}'
658 - github-pull-request:
659 trigger-phrase: '^remerge$'
660 only-trigger-phrase: true
661 status-context: 'Maven Merge'
666 white-list: '{obj:github_pr_whitelist}'
667 admin-list: '{obj:github_pr_admin_list}'
668 white-list-target-branches:
670 included-regions: '{obj:github_included_regions}'
676 - lf_maven_stage: &lf_maven_stage
679 ######################
680 # Default parameters #
681 ######################
684 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
687 git-url: '$GIT_URL/$PROJECT'
688 github-url: 'https://github.com'
689 java-version: openjdk8
690 mvn-global-settings: global-settings
691 mvn-goals: clean deploy
696 submodule-recursive: true
698 gerrit_release_triggers:
699 - comment-added-contains-event:
700 comment-contains-value: stage-release$
702 #####################
703 # Job Configuration #
704 #####################
707 - lf-infra-parameters:
711 lftools-version: '{lftools-version}'
712 - lf-infra-maven-parameters:
713 mvn-opts: '{mvn-opts}'
714 mvn-params: '{mvn-params}'
715 mvn-version: '{mvn-version}'
716 staging-profile-id: '{staging-profile-id}'
718 name: ARCHIVE_ARTIFACTS
719 default: '{archive-artifacts}'
720 description: Artifacts to archive to the logs server.
722 name: STAGING_PROFILE_ID
723 default: '{staging-profile-id}'
724 description: Nexus staging profile ID.
727 - lf-jacoco-nojava-workaround
729 mvn-version: '{mvn-version}'
730 - lf-update-java-alternatives:
731 java-version: '{java-version}'
732 - lf-provide-maven-settings:
733 global-settings-file: '{mvn-global-settings}'
734 settings-file: '{mvn-settings}'
735 - lf-infra-create-netrc:
736 server-id: '{mvn-staging-id}'
737 - shell: !include-raw-escape:
738 - ../shell/lftools-install.sh
739 - ../shell/maven-patch-release.sh
741 mvn-goals: '{mvn-goals}'
743 - lf-provide-maven-settings-cleanup
746 name: '{project-name}-maven-stage-{stream}'
747 id: gerrit-maven-stage
749 # yamllint disable-line rule:key-duplicates
753 - lf-infra-gerrit-scm:
754 jenkins-ssh-credential: '{jenkins-ssh-credential}'
756 refspec: '$GERRIT_REFSPEC'
757 branch: '$GERRIT_BRANCH'
758 submodule-recursive: '{submodule-recursive}'
759 choosing-strategy: default
762 - timed: '{obj:cron}'
764 server-name: '{gerrit-server-name}'
765 trigger-on: '{obj:gerrit_release_triggers}'
767 - project-compare-type: ANT
768 project-pattern: '{project}'
770 - branch-compare-type: ANT
771 branch-pattern: '**/{branch}'
774 name: '{project-name}-maven-stage-{stream}'
775 id: github-maven-stage
777 # yamllint disable-line rule:key-duplicates
781 - lf-infra-properties:
782 build-days-to-keep: '{build-days-to-keep}'
784 url: '{github-url}/{github-org}/{project}'
787 - lf-infra-github-scm:
788 url: '{git-clone-url}{github-org}/{project}'
789 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
791 submodule-recursive: '{submodule-recursive}'
792 choosing-strategy: default
793 jenkins-ssh-credential: '{jenkins-ssh-credential}'
796 - timed: '{obj:cron}'
797 - github-pull-request:
798 trigger-phrase: '^build release$'
799 only-trigger-phrase: true
800 status-context: 'Maven Release'
803 white-list-target-branches:
810 - lf_maven_sonar: &lf_maven_sonar
813 ######################
814 # Default parameters #
815 ######################
817 branch: master # Sonar should always be run on master branch
818 build-days-to-keep: 7
820 cron: 'H H * * 6' # run weekly
821 git-url: '$GIT_URL/$PROJECT'
822 github-url: 'https://github.com'
823 java-version: openjdk8
824 mvn-global-settings: global-settings
828 sonar-mvn-goal: 'sonar:sonar'
830 submodule-recursive: true
832 gerrit_sonar_triggers:
833 - comment-added-contains-event:
834 comment-contains-value: run-sonar$
836 #####################
837 # Job Configuration #
838 #####################
841 - lf-infra-parameters:
845 lftools-version: '{lftools-version}'
846 - lf-infra-maven-parameters:
847 mvn-opts: '{mvn-opts}'
848 mvn-params: '{mvn-params}'
849 mvn-version: '{mvn-version}'
851 name: ARCHIVE_ARTIFACTS
852 default: '{archive-artifacts}'
853 description: Artifacts to archive to the logs server.
855 name: SONAR_MAVEN_GOAL
856 default: '{sonar-mvn-goal}'
858 Maven goals to pass to the Sonar call. Typically sonar:sonar
859 however to use a specific version of the sonar-maven-plugin we
860 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
863 - timed: '{obj:cron}'
865 server-name: '{gerrit-server-name}'
866 trigger-on: '{obj:gerrit_sonar_triggers}'
868 - project-compare-type: 'ANT'
869 project-pattern: '{project}'
871 - branch-compare-type: 'ANT'
872 branch-pattern: '**/master'
880 - lf-infra-maven-sonar:
881 java-version: '{java-version}'
882 mvn-settings: '{mvn-settings}'
883 mvn-version: '{mvn-version}'
891 name: lf-infra-maven-sonar
892 # Run a Sonar build with Maven
895 mvn-version: '{mvn-version}'
896 - lf-update-java-alternatives:
897 java-version: '{java-version}'
899 # Switch this to the sonar wrapper when JJB 2.0 is available
900 properties-content: SONAR_HOST_URL=$SONAR_URL
901 - lf-provide-maven-settings:
902 global-settings-file: global-settings
903 settings-file: '{mvn-settings}'
904 - shell: !include-raw-escape:
905 - ../shell/common-variables.sh
906 - ../shell/maven-sonar.sh
907 - lf-provide-maven-settings-cleanup
910 name: '{project-name}-sonar'
911 id: gerrit-maven-sonar
913 # yamllint disable-line rule:key-duplicates
917 - lf-infra-gerrit-scm:
918 jenkins-ssh-credential: '{jenkins-ssh-credential}'
920 refspec: $GERRIT_REFSPEC
921 branch: $GERRIT_BRANCH
922 submodule-recursive: '{submodule-recursive}'
923 choosing-strategy: default
926 name: '{project-name}-sonar'
927 id: github-maven-sonar
929 # yamllint disable-line rule:key-duplicates
933 - lf-infra-properties:
934 build-days-to-keep: '{build-days-to-keep}'
936 url: '{github-url}/{github-org}/{project}'
939 - lf-infra-github-scm:
940 url: '{git-clone-url}{github-org}/{project}'
941 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
943 submodule-recursive: '{submodule-recursive}'
944 choosing-strategy: default
945 jenkins-ssh-credential: '{jenkins-ssh-credential}'
948 - github-pull-request:
949 trigger-phrase: '^run-sonar$'
950 only-trigger-phrase: false
951 status-context: 'Maven Sonar'
954 white-list-target-branches:
961 - lf_maven_verify: &lf_maven_verify
962 name: lf-maven-verify
964 ######################
965 # Default parameters #
966 ######################
969 build-days-to-keep: 7
971 git-url: '$GIT_URL/$PROJECT'
972 github-url: 'https://github.com'
973 java-version: openjdk8
974 mvn-global-settings: global-settings
975 mvn-goals: clean deploy
977 mvn-params: '-Dstream=$STREAM'
980 submodule-recursive: true
982 gerrit_verify_triggers:
983 - patchset-created-event:
985 exclude-trivial-rebase: false
986 exclude-no-code-change: false
987 - draft-published-event
988 - comment-added-contains-event:
989 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
991 gerrit_trigger_file_paths:
992 - compare-type: REG_EXP
995 # github_included_regions MUST match gerrit_trigger_file_paths
996 github_included_regions:
999 #####################
1000 # Job Configuration #
1001 #####################
1006 - lf-jacoco-nojava-workaround
1008 mvn-version: '{mvn-version}'
1009 - lf-update-java-alternatives:
1010 java-version: '{java-version}'
1011 - lf-provide-maven-settings:
1012 global-settings-file: '{mvn-global-settings}'
1013 settings-file: '{mvn-settings}'
1014 - shell: !include-raw-escape:
1015 - ../shell/lftools-install.sh
1017 mvn-goals: '{mvn-goals}'
1018 - lf-provide-maven-settings-cleanup
1026 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1027 id: gerrit-maven-verify
1028 <<: *lf_maven_common
1029 # yamllint disable-line rule:key-duplicates
1030 <<: *lf_maven_verify
1033 - lf-infra-gerrit-scm:
1034 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1035 git-url: '{git-url}'
1036 refspec: '$GERRIT_REFSPEC'
1037 branch: '$GERRIT_BRANCH'
1038 submodule-recursive: '{submodule-recursive}'
1039 choosing-strategy: gerrit
1043 server-name: '{gerrit-server-name}'
1044 trigger-on: '{obj:gerrit_verify_triggers}'
1046 - project-compare-type: ANT
1047 project-pattern: '{project}'
1049 - branch-compare-type: ANT
1050 branch-pattern: '**/{branch}'
1051 file-paths: '{obj:gerrit_trigger_file_paths}'
1054 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1055 id: github-maven-verify
1056 <<: *lf_maven_common
1057 # yamllint disable-line rule:key-duplicates
1058 <<: *lf_maven_verify
1061 - lf-infra-properties:
1062 build-days-to-keep: '{build-days-to-keep}'
1064 url: '{github-url}/{github-org}/{project}'
1067 - lf-infra-github-scm:
1068 url: '{git-clone-url}{github-org}/{project}'
1069 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1071 submodule-recursive: '{submodule-recursive}'
1072 choosing-strategy: default
1073 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1076 - github-pull-request:
1077 trigger-phrase: '^(recheck|reverify)$'
1078 only-trigger-phrase: false
1079 status-context: 'Maven Verify'
1082 white-list-target-branches:
1084 included-regions: '{obj:github_included_regions}'
1086 #############################
1087 # Maven Verify Dependencies #
1088 #############################
1090 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1091 name: lf-maven-verify-dependencies
1093 ######################
1094 # Default parameters #
1095 ######################
1098 build-days-to-keep: 7
1100 git-url: '$GIT_URL/$PROJECT'
1101 github-url: 'https://github.com'
1102 java-version: openjdk8
1103 mvn-global-settings: global-settings
1104 mvn-goals: clean deploy
1106 mvn-params: '-Dstream=$STREAM'
1109 submodule-recursive: true
1111 gerrit_verify_triggers:
1112 - comment-added-contains-event:
1113 comment-contains-value: 'recheck: [0-9 ]+'
1114 gerrit_trigger_file_paths:
1118 #####################
1119 # Job Configuration #
1120 #####################
1125 - lf-jacoco-nojava-workaround
1127 mvn-version: '{mvn-version}'
1128 - lf-update-java-alternatives:
1129 java-version: '{java-version}'
1130 - lf-provide-maven-settings:
1131 global-settings-file: '{mvn-global-settings}'
1132 settings-file: '{mvn-settings}'
1133 - lf-fetch-dependent-patches
1134 - shell: !include-raw-escape:
1135 - ../shell/common-variables.sh
1136 - ../shell/maven-build-deps.sh
1138 mvn-goals: '{mvn-goals}'
1139 - lf-provide-maven-settings-cleanup
1147 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1148 id: gerrit-maven-verify-dependencies
1149 <<: *lf_maven_common
1150 # yamllint disable-line rule:key-duplicates
1151 <<: *lf_maven_verify_dependencies
1154 - lf-infra-gerrit-scm:
1155 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1156 git-url: '{git-url}'
1157 refspec: '$GERRIT_REFSPEC'
1158 branch: '$GERRIT_BRANCH'
1159 submodule-recursive: '{submodule-recursive}'
1160 choosing-strategy: gerrit
1164 server-name: '{gerrit-server-name}'
1165 trigger-on: '{obj:gerrit_verify_triggers}'
1167 - project-compare-type: ANT
1168 project-pattern: '{project}'
1170 - branch-compare-type: ANT
1171 branch-pattern: '**/{branch}'
1172 file-paths: '{obj:gerrit_trigger_file_paths}'