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: ../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.
741 - lf-jacoco-nojava-workaround
743 mvn-version: '{mvn-version}'
744 - lf-update-java-alternatives:
745 java-version: '{java-version}'
746 - lf-provide-maven-settings:
747 global-settings-file: '{mvn-global-settings}'
748 settings-file: '{mvn-settings}'
749 - lf-infra-create-netrc:
750 server-id: '{mvn-staging-id}'
751 - shell: !include-raw-escape: ../shell/maven-patch-release.sh
753 mvn-goals: '{mvn-goals}'
755 - lf-provide-maven-settings-cleanup
758 name: '{project-name}-maven-stage-{stream}'
759 id: gerrit-maven-stage
761 # yamllint disable-line rule:key-duplicates
765 - lf-infra-gerrit-scm:
766 jenkins-ssh-credential: '{jenkins-ssh-credential}'
768 refspec: '$GERRIT_REFSPEC'
769 branch: '$GERRIT_BRANCH'
770 submodule-recursive: '{submodule-recursive}'
771 choosing-strategy: default
774 - timed: '{obj:cron}'
776 server-name: '{gerrit-server-name}'
777 trigger-on: '{obj:gerrit_release_triggers}'
779 - project-compare-type: ANT
780 project-pattern: '{project}'
782 - branch-compare-type: ANT
783 branch-pattern: '**/{branch}'
786 name: '{project-name}-maven-stage-{stream}'
787 id: github-maven-stage
789 # yamllint disable-line rule:key-duplicates
793 - lf-infra-properties:
794 build-days-to-keep: '{build-days-to-keep}'
796 url: '{github-url}/{github-org}/{project}'
799 - lf-infra-github-scm:
800 url: '{git-clone-url}{github-org}/{project}'
801 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
803 submodule-recursive: '{submodule-recursive}'
804 choosing-strategy: default
805 jenkins-ssh-credential: '{jenkins-ssh-credential}'
808 - timed: '{obj:cron}'
809 - github-pull-request:
810 trigger-phrase: '^build release$'
811 only-trigger-phrase: true
812 status-context: 'Maven Release'
815 white-list-target-branches:
822 - lf_maven_sonar: &lf_maven_sonar
825 ######################
826 # Default parameters #
827 ######################
829 branch: master # Sonar should always be run on master branch
830 build-days-to-keep: 7
832 cron: 'H H * * 6' # run weekly
834 git-url: '$GIT_URL/$PROJECT'
835 github-url: 'https://github.com'
836 java-version: openjdk8
837 mvn-global-settings: global-settings
841 sonar-mvn-goal: 'sonar:sonar'
843 submodule-recursive: true
845 gerrit_sonar_triggers:
846 - comment-added-contains-event:
847 comment-contains-value: run-sonar$
849 #####################
850 # Job Configuration #
851 #####################
853 disabled: '{disable-job}'
856 - lf-infra-parameters:
860 lftools-version: '{lftools-version}'
861 - lf-infra-maven-parameters:
862 mvn-opts: '{mvn-opts}'
863 mvn-params: '{mvn-params}'
864 mvn-version: '{mvn-version}'
866 name: ARCHIVE_ARTIFACTS
867 default: '{archive-artifacts}'
868 description: Artifacts to archive to the logs server.
870 name: SONAR_MAVEN_GOAL
871 default: '{sonar-mvn-goal}'
873 Maven goals to pass to the Sonar call. Typically sonar:sonar
874 however to use a specific version of the sonar-maven-plugin we
875 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
878 - timed: '{obj:cron}'
880 server-name: '{gerrit-server-name}'
881 trigger-on: '{obj:gerrit_sonar_triggers}'
883 - project-compare-type: 'ANT'
884 project-pattern: '{project}'
886 - branch-compare-type: 'ANT'
887 branch-pattern: '**/master'
895 - lf-infra-maven-sonar:
896 java-version: '{java-version}'
897 mvn-settings: '{mvn-settings}'
898 mvn-version: '{mvn-version}'
906 name: lf-infra-maven-sonar
907 # Run a Sonar build with Maven
910 mvn-version: '{mvn-version}'
911 - lf-update-java-alternatives:
912 java-version: '{java-version}'
914 # Switch this to the sonar wrapper when JJB 2.0 is available
915 properties-content: SONAR_HOST_URL=$SONAR_URL
916 - lf-provide-maven-settings:
917 global-settings-file: global-settings
918 settings-file: '{mvn-settings}'
919 - shell: !include-raw-escape:
920 - ../shell/common-variables.sh
921 - ../shell/maven-sonar.sh
922 - lf-provide-maven-settings-cleanup
925 name: '{project-name}-sonar'
926 id: gerrit-maven-sonar
928 # yamllint disable-line rule:key-duplicates
932 - lf-infra-gerrit-scm:
933 jenkins-ssh-credential: '{jenkins-ssh-credential}'
935 refspec: $GERRIT_REFSPEC
936 branch: $GERRIT_BRANCH
937 submodule-recursive: '{submodule-recursive}'
938 choosing-strategy: default
941 name: '{project-name}-sonar'
942 id: github-maven-sonar
944 # yamllint disable-line rule:key-duplicates
948 - lf-infra-properties:
949 build-days-to-keep: '{build-days-to-keep}'
951 url: '{github-url}/{github-org}/{project}'
954 - lf-infra-github-scm:
955 url: '{git-clone-url}{github-org}/{project}'
956 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
958 submodule-recursive: '{submodule-recursive}'
959 choosing-strategy: default
960 jenkins-ssh-credential: '{jenkins-ssh-credential}'
963 - github-pull-request:
964 trigger-phrase: '^run-sonar$'
965 only-trigger-phrase: false
966 status-context: 'Maven Sonar'
969 white-list-target-branches:
976 - lf_maven_verify: &lf_maven_verify
977 name: lf-maven-verify
979 ######################
980 # Default parameters #
981 ######################
984 build-days-to-keep: 7
987 git-url: '$GIT_URL/$PROJECT'
988 github-url: 'https://github.com'
989 java-version: openjdk8
990 mvn-global-settings: global-settings
991 mvn-goals: clean deploy
993 mvn-params: '-Dstream=$STREAM'
996 submodule-recursive: true
998 gerrit_verify_triggers:
999 - patchset-created-event:
1000 exclude-drafts: true
1001 exclude-trivial-rebase: false
1002 exclude-no-code-change: false
1003 - draft-published-event
1004 - comment-added-contains-event:
1005 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1007 gerrit_trigger_file_paths:
1008 - compare-type: REG_EXP
1011 # github_included_regions MUST match gerrit_trigger_file_paths
1012 github_included_regions:
1015 #####################
1016 # Job Configuration #
1017 #####################
1020 disabled: '{disable-job}'
1023 - lf-jacoco-nojava-workaround
1025 mvn-version: '{mvn-version}'
1026 - lf-update-java-alternatives:
1027 java-version: '{java-version}'
1028 - lf-provide-maven-settings:
1029 global-settings-file: '{mvn-global-settings}'
1030 settings-file: '{mvn-settings}'
1031 - shell: !include-raw-escape:
1032 - ../shell/lftools-install.sh
1034 mvn-goals: '{mvn-goals}'
1035 - lf-provide-maven-settings-cleanup
1043 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1044 id: gerrit-maven-verify
1045 <<: *lf_maven_common
1046 # yamllint disable-line rule:key-duplicates
1047 <<: *lf_maven_verify
1050 - lf-infra-gerrit-scm:
1051 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1052 git-url: '{git-url}'
1053 refspec: '$GERRIT_REFSPEC'
1054 branch: '$GERRIT_BRANCH'
1055 submodule-recursive: '{submodule-recursive}'
1056 choosing-strategy: gerrit
1060 server-name: '{gerrit-server-name}'
1061 trigger-on: '{obj:gerrit_verify_triggers}'
1063 - project-compare-type: ANT
1064 project-pattern: '{project}'
1066 - branch-compare-type: ANT
1067 branch-pattern: '**/{branch}'
1068 file-paths: '{obj:gerrit_trigger_file_paths}'
1071 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1072 id: github-maven-verify
1073 <<: *lf_maven_common
1074 # yamllint disable-line rule:key-duplicates
1075 <<: *lf_maven_verify
1078 - lf-infra-properties:
1079 build-days-to-keep: '{build-days-to-keep}'
1081 url: '{github-url}/{github-org}/{project}'
1084 - lf-infra-github-scm:
1085 url: '{git-clone-url}{github-org}/{project}'
1086 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1088 submodule-recursive: '{submodule-recursive}'
1089 choosing-strategy: default
1090 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1093 - github-pull-request:
1094 trigger-phrase: '^(recheck|reverify)$'
1095 only-trigger-phrase: false
1096 status-context: 'Maven Verify'
1099 white-list-target-branches:
1101 included-regions: '{obj:github_included_regions}'
1103 #############################
1104 # Maven Verify Dependencies #
1105 #############################
1107 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1108 name: lf-maven-verify-dependencies
1110 ######################
1111 # Default parameters #
1112 ######################
1115 build-days-to-keep: 7
1118 git-url: '$GIT_URL/$PROJECT'
1119 github-url: 'https://github.com'
1120 java-version: openjdk8
1121 mvn-global-settings: global-settings
1122 mvn-goals: clean deploy
1124 mvn-params: '-Dstream=$STREAM'
1127 submodule-recursive: true
1129 gerrit_verify_triggers:
1130 - comment-added-contains-event:
1131 comment-contains-value: 'recheck: [0-9 ]+'
1132 gerrit_trigger_file_paths:
1136 #####################
1137 # Job Configuration #
1138 #####################
1141 disabled: '{disable-job}'
1144 - lf-jacoco-nojava-workaround
1146 mvn-version: '{mvn-version}'
1147 - lf-update-java-alternatives:
1148 java-version: '{java-version}'
1149 - lf-provide-maven-settings:
1150 global-settings-file: '{mvn-global-settings}'
1151 settings-file: '{mvn-settings}'
1152 - lf-fetch-dependent-patches
1153 - shell: !include-raw-escape:
1154 - ../shell/common-variables.sh
1155 - ../shell/maven-build-deps.sh
1157 mvn-goals: '{mvn-goals}'
1158 - lf-provide-maven-settings-cleanup
1166 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1167 id: gerrit-maven-verify-dependencies
1168 <<: *lf_maven_common
1169 # yamllint disable-line rule:key-duplicates
1170 <<: *lf_maven_verify_dependencies
1173 - lf-infra-gerrit-scm:
1174 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1175 git-url: '{git-url}'
1176 refspec: '$GERRIT_REFSPEC'
1177 branch: '$GERRIT_BRANCH'
1178 submodule-recursive: '{submodule-recursive}'
1179 choosing-strategy: gerrit
1183 server-name: '{gerrit-server-name}'
1184 trigger-on: '{obj:gerrit_verify_triggers}'
1186 - project-compare-type: ANT
1187 project-pattern: '{project}'
1189 - branch-compare-type: ANT
1190 branch-pattern: '**/{branch}'
1191 file-paths: '{obj:gerrit_trigger_file_paths}'