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.
14 - gerrit-maven-release
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.
28 - github-maven-release
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}'
131 # Staging repos do not make sense for CLM jobs so set it blank.
132 staging-profile-id: '{staging-profile-id}'
134 name: ARCHIVE_ARTIFACTS
135 default: '{archive-artifacts}'
136 description: Artifacts to archive to the logs server.
140 build-timeout: '{build-timeout}'
141 jenkins-ssh-credential: '{jenkins-ssh-credential}'
144 # TODO: Make email notification work.
145 # - lf-infra-email-notify:
146 # email-recipients: '{email-recipients}'
147 # email-prefix: '[releng]'
154 - lf_maven_clm: &lf_maven_clm
157 ######################
158 # Default parameters #
159 ######################
162 build-days-to-keep: 30 # 30 days for troubleshooting purposes
164 git-url: '$GIT_URL/$PROJECT'
165 java-version: openjdk8
166 mvn-global-settings: global-settings
170 nexus-iq-stage: 'build'
171 staging-profile-id: '' # Unused in this job
173 submodule-recursive: true
175 nexus-iq-scan-patterns:
183 - comment-added-contains-event:
184 comment-contains-value: run-clm$
187 - lf-infra-parameters:
191 lftools-version: '{lftools-version}'
192 - lf-infra-maven-parameters:
193 mvn-opts: '{mvn-opts}'
194 mvn-params: '{mvn-params}'
195 mvn-version: '{mvn-version}'
196 # Staging repos do not make sense for CLM jobs so set it blank.
197 staging-profile-id: '{staging-profile-id}'
199 name: ARCHIVE_ARTIFACTS
200 default: '{archive-artifacts}'
201 description: Artifacts to archive to the logs server.
203 nexus-iq-stage: '{nexus-iq-stage}'
205 #####################
206 # Job Configuration #
207 #####################
211 mvn-version: '{mvn-version}'
212 - lf-update-java-alternatives:
213 java-version: '{java-version}'
214 - lf-provide-maven-settings:
215 global-settings-file: '{mvn-global-settings}'
216 settings-file: '{mvn-settings}'
217 - shell: !include-raw-escape:
218 - ../shell/common-variables.sh
219 - ../shell/sonatype-clm.sh
220 - lf-provide-maven-settings-cleanup
221 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
222 - nexus-iq-policy-evaluator:
223 stage: '{nexus-iq-stage}'
224 application-type: 'manual'
225 application-id: '{project-name}'
226 scan-patterns: '{nexus-iq-scan-patterns}'
227 fail-build-network-error: true
230 name: '{project-name}-maven-clm-{stream}'
233 # yamllint disable-line rule:key-duplicates
237 - lf-infra-gerrit-scm:
238 jenkins-ssh-credential: '{jenkins-ssh-credential}'
240 refspec: '$GERRIT_REFSPEC'
241 branch: '$GERRIT_BRANCH'
242 submodule-recursive: '{submodule-recursive}'
243 choosing-strategy: default
246 # Build weekly on Saturdays
249 server-name: '{gerrit-server-name}'
250 trigger-on: '{obj:gerrit_clm_triggers}'
252 - project-compare-type: ANT
253 project-pattern: '{project}'
255 - branch-compare-type: ANT
256 branch-pattern: '**/{branch}'
264 name: '{project-name}-maven-clm-{stream}'
267 # yamllint disable-line rule:key-duplicates
271 - lf-infra-properties:
272 build-days-to-keep: '{build-days-to-keep}'
274 url: '{git-url}/{github-org}/{project}'
277 - lf-infra-github-scm:
278 url: '{git-clone-url}{github-org}/{project}'
280 branch: 'refs/heads/{branch}'
281 submodule-recursive: '{submodule-recursive}'
282 choosing-strategy: default
283 jenkins-ssh-credential: '{jenkins-ssh-credential}'
286 # Build weekly on Saturdays
288 - github-pull-request:
289 trigger-phrase: '^run-clm$'
290 only-trigger-phrase: false
291 status-context: 'CLM'
296 white-list: '{obj:github_pr_whitelist}'
297 admin-list: '{obj:github_pr_admin_list}'
299 #########################
300 # Maven Javadoc Publish #
301 #########################
303 - lf_maven_javadoc_publish: &lf_maven_javadoc_publish
304 name: lf-maven-javadoc-publish
306 ######################
307 # Default parameters #
308 ######################
311 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
313 git-url: '$GIT_URL/$PROJECT'
314 java-version: openjdk8
315 mvn-global-settings: global-settings
319 staging-profile-id: '' # Unused by the javadoc jobs
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 #####################
334 mvn-version: '{mvn-version}'
335 - lf-update-java-alternatives:
336 java-version: '{java-version}'
337 - lf-provide-maven-settings:
338 global-settings-file: '{mvn-global-settings}'
339 settings-file: '{mvn-settings}'
340 - lf-infra-create-netrc:
341 server-id: '{mvn-site-id}'
343 properties-content: 'DEPLOY_PATH={javadoc-path}'
344 - shell: !include-raw-escape:
345 - ../shell/common-variables.sh
346 - ../shell/maven-javadoc-generate.sh
347 - ../shell/lftools-install.sh
348 - ../shell/maven-javadoc-publish.sh
349 - lf-provide-maven-settings-cleanup
352 name: '{project-name}-maven-javadoc-publish-{stream}'
353 id: gerrit-maven-javadoc-publish
355 # yamllint disable-line rule:key-duplicates
356 <<: *lf_maven_javadoc_publish
358 git-url: '$GIT_URL/$GERRIT_PROJECT'
361 - lf-infra-gerrit-scm:
365 submodule-recursive: '{submodule-recursive}'
366 choosing-strategy: default
367 jenkins-ssh-credential: '{jenkins-ssh-credential}'
371 server-name: '{gerrit-server-name}'
372 trigger-on: '{obj:gerrit_merge_triggers}'
374 - project-compare-type: ANT
375 project-pattern: '{project}'
377 - branch-compare-type: ANT
378 branch-pattern: '**/{branch}'
381 name: '{project-name}-maven-javadoc-publish-{stream}'
382 id: github-maven-javadoc-publish
384 # yamllint disable-line rule:key-duplicates
385 <<: *lf_maven_javadoc_publish
388 - lf-infra-properties:
389 build-days-to-keep: '{build-days-to-keep}'
391 url: '{git-url}/{github-org}/{project}'
394 - lf-infra-github-scm:
395 url: '{git-clone-url}{github-org}/{project}'
398 submodule-recursive: '{submodule-recursive}'
399 choosing-strategy: default
400 jenkins-ssh-credential: '{jenkins-ssh-credential}'
406 - github-pull-request:
407 trigger-phrase: '^remerge$'
408 only-trigger-phrase: true
409 status-context: 'Maven Javadoc Publish'
414 white-list: '{obj:github_pr_whitelist}'
415 admin-list: '{obj:github_pr_admin_list}'
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 java-version: openjdk8
433 mvn-global-settings: global-settings
437 staging-profile-id: '' # Unused by the javadoc jobs
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: '{git-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'
530 - lf_maven_merge: &lf_maven_merge
533 ######################
534 # Default parameters #
535 ######################
538 build-days-to-keep: 30 # 30 days in case we need to troubleshoot
540 cron: 'H H * * 0' # push fresh snapshot weekly
541 git-url: '$GIT_URL/$PROJECT'
542 java-version: openjdk8
543 mvn-global-settings: global-settings
544 mvn-goals: clean deploy
546 mvn-params: '-Dmerge'
548 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
549 staging-profile-id: '' # Unused by this job.
551 submodule-recursive: true
553 gerrit_merge_triggers:
554 - change-merged-event
555 - comment-added-contains-event:
556 comment-contains-value: remerge$
558 gerrit_trigger_file_paths:
559 - compare-type: REG_EXP
562 # github_included_regions MUST match gerrit_trigger_file_paths
563 github_included_regions:
566 post_build_trigger: ''
568 #####################
569 # Job Configuration #
570 #####################
573 - lf-jacoco-nojava-workaround
575 mvn-version: '{mvn-version}'
576 - lf-update-java-alternatives:
577 java-version: '{java-version}'
578 - lf-provide-maven-settings:
579 global-settings-file: '{mvn-global-settings}'
580 settings-file: '{mvn-settings}'
581 - lf-infra-create-netrc:
582 server-id: '{mvn-snapshot-id}'
584 properties-content: |
585 NEXUS_CUT_DIRS={nexus-cut-dirs}
586 NEXUS_REPO={nexus-snapshot-repo}
587 - shell: !include-raw-escape:
588 - ../shell/lftools-install.sh
589 - ../shell/maven-fetch-metadata.sh
591 mvn-goals: '{mvn-goals}'
593 - lf-provide-maven-settings-cleanup
599 - trigger-parameterized-builds: '{obj:post_build_trigger}'
602 name: '{project-name}-maven-merge-{stream}'
603 id: gerrit-maven-merge
605 # yamllint disable-line rule:key-duplicates
609 - lf-infra-gerrit-scm:
610 jenkins-ssh-credential: '{jenkins-ssh-credential}'
612 refspec: '$GERRIT_REFSPEC'
613 branch: '$GERRIT_BRANCH'
614 submodule-recursive: '{submodule-recursive}'
615 choosing-strategy: default
618 - timed: '{obj:cron}'
620 server-name: '{gerrit-server-name}'
621 trigger-on: '{obj:gerrit_merge_triggers}'
623 - project-compare-type: ANT
624 project-pattern: '{project}'
626 - branch-compare-type: ANT
627 branch-pattern: '**/{branch}'
628 file-paths: '{obj:gerrit_trigger_file_paths}'
631 name: '{project-name}-maven-merge-{stream}'
632 id: github-maven-merge
634 # yamllint disable-line rule:key-duplicates
638 - lf-infra-properties:
639 build-days-to-keep: '{build-days-to-keep}'
641 url: '{git-url}/{github-org}/{project}'
644 - lf-infra-github-scm:
645 url: '{git-clone-url}{github-org}/{project}'
646 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
648 submodule-recursive: '{submodule-recursive}'
649 choosing-strategy: default
650 jenkins-ssh-credential: '{jenkins-ssh-credential}'
656 - github-pull-request:
657 trigger-phrase: '^remerge$'
658 only-trigger-phrase: true
659 status-context: 'Maven Merge'
664 white-list: '{obj:github_pr_whitelist}'
665 admin-list: '{obj:github_pr_admin_list}'
666 included-regions: '{obj:github_included_regions}'
672 - lf_maven_release: &lf_maven_release
673 name: lf-maven-release
675 ######################
676 # Default parameters #
677 ######################
680 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
683 git-url: '$GIT_URL/$PROJECT'
684 java-version: openjdk8
685 mvn-global-settings: global-settings
686 mvn-goals: clean deploy
691 submodule-recursive: true
693 gerrit_release_triggers:
694 - comment-added-contains-event:
695 comment-contains-value: build release$
697 #####################
698 # Job Configuration #
699 #####################
702 - lf-jacoco-nojava-workaround
704 mvn-version: '{mvn-version}'
705 - lf-update-java-alternatives:
706 java-version: '{java-version}'
707 - lf-provide-maven-settings:
708 global-settings-file: '{mvn-global-settings}'
709 settings-file: '{mvn-settings}'
710 - lf-infra-create-netrc:
711 server-id: '{mvn-staging-id}'
712 - shell: !include-raw-escape:
713 - ../shell/lftools-install.sh
714 - ../shell/maven-patch-release.sh
716 mvn-goals: '{mvn-goals}'
718 - lf-provide-maven-settings-cleanup
721 name: '{project-name}-maven-release-{stream}'
722 id: gerrit-maven-release
724 # yamllint disable-line rule:key-duplicates
725 <<: *lf_maven_release
728 - lf-infra-gerrit-scm:
729 jenkins-ssh-credential: '{jenkins-ssh-credential}'
731 refspec: '$GERRIT_REFSPEC'
732 branch: '$GERRIT_BRANCH'
733 submodule-recursive: '{submodule-recursive}'
734 choosing-strategy: default
737 - timed: '{obj:cron}'
739 server-name: '{gerrit-server-name}'
740 trigger-on: '{obj:gerrit_release_triggers}'
742 - project-compare-type: ANT
743 project-pattern: '{project}'
745 - branch-compare-type: ANT
746 branch-pattern: '**/{branch}'
749 name: '{project-name}-maven-release-{stream}'
750 id: github-maven-release
752 # yamllint disable-line rule:key-duplicates
753 <<: *lf_maven_release
756 - lf-infra-properties:
757 build-days-to-keep: '{build-days-to-keep}'
759 url: '{git-url}/{github-org}/{project}'
762 - lf-infra-github-scm:
763 url: '{git-clone-url}{github-org}/{project}'
764 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
766 submodule-recursive: '{submodule-recursive}'
767 choosing-strategy: default
768 jenkins-ssh-credential: '{jenkins-ssh-credential}'
771 - timed: '{obj:cron}'
772 - github-pull-request:
773 trigger-phrase: '^build release$'
774 only-trigger-phrase: true
775 status-context: 'Maven Release'
783 - lf_maven_sonar: &lf_maven_sonar
786 ######################
787 # Default parameters #
788 ######################
790 branch: master # Sonar should always be run on master branch
791 build-days-to-keep: 7
793 cron: 'H H * * 6' # run weekly
794 git-url: '$GIT_URL/$PROJECT'
795 java-version: openjdk8
796 mvn-global-settings: global-settings
800 sonar-mvn-goal: 'sonar:sonar'
801 staging-profile-id: '' # Unused in this job
803 submodule-recursive: true
805 gerrit_sonar_triggers:
806 - comment-added-contains-event:
807 comment-contains-value: run-sonar$
809 #####################
810 # Job Configuration #
811 #####################
814 - lf-infra-parameters:
818 lftools-version: '{lftools-version}'
819 - lf-infra-maven-parameters:
820 mvn-opts: '{mvn-opts}'
821 mvn-params: '{mvn-params}'
822 mvn-version: '{mvn-version}'
823 # Staging repos do not make sense for Sonar jobs so set it blank.
824 staging-profile-id: ''
826 name: ARCHIVE_ARTIFACTS
827 default: '{archive-artifacts}'
828 description: Artifacts to archive to the logs server.
830 name: SONAR_MAVEN_GOAL
831 default: '{sonar-mvn-goal}'
833 Maven goals to pass to the Sonar call. Typically sonar:sonar
834 however to use a specific version of the sonar-maven-plugin we
835 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
838 - timed: '{obj:cron}'
840 server-name: '{gerrit-server-name}'
841 trigger-on: '{obj:gerrit_sonar_triggers}'
843 - project-compare-type: 'ANT'
844 project-pattern: '{project}'
846 - branch-compare-type: 'ANT'
847 branch-pattern: '**/master'
855 - lf-infra-maven-sonar:
856 java-version: '{java-version}'
857 mvn-settings: '{mvn-settings}'
858 mvn-version: '{mvn-version}'
866 name: lf-infra-maven-sonar
867 # Run a Sonar build with Maven
870 mvn-version: '{mvn-version}'
871 - lf-update-java-alternatives:
872 java-version: '{java-version}'
874 # Switch this to the sonar wrapper when JJB 2.0 is available
875 properties-content: SONAR_HOST_URL=$SONAR_URL
876 - lf-provide-maven-settings:
877 global-settings-file: global-settings
878 settings-file: '{mvn-settings}'
879 - shell: !include-raw-escape:
880 - ../shell/common-variables.sh
881 - ../shell/maven-sonar.sh
882 - lf-provide-maven-settings-cleanup
885 name: '{project-name}-sonar'
886 id: gerrit-maven-sonar
888 # yamllint disable-line rule:key-duplicates
892 - lf-infra-gerrit-scm:
893 jenkins-ssh-credential: '{jenkins-ssh-credential}'
895 refspec: $GERRIT_REFSPEC
896 branch: $GERRIT_BRANCH
897 submodule-recursive: '{submodule-recursive}'
898 choosing-strategy: default
901 name: '{project-name}-sonar'
902 id: github-maven-sonar
904 # yamllint disable-line rule:key-duplicates
908 - lf-infra-properties:
909 build-days-to-keep: '{build-days-to-keep}'
911 url: '{git-url}/{github-org}/{project}'
914 - lf-infra-github-scm:
915 url: '{git-clone-url}{github-org}/{project}'
916 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
918 submodule-recursive: '{submodule-recursive}'
919 choosing-strategy: default
920 jenkins-ssh-credential: '{jenkins-ssh-credential}'
923 - github-pull-request:
924 trigger-phrase: '^run-sonar$'
925 only-trigger-phrase: false
926 status-context: 'Maven Sonar'
934 - lf_maven_verify: &lf_maven_verify
935 name: lf-maven-verify
937 ######################
938 # Default parameters #
939 ######################
942 build-days-to-keep: 7
944 git-url: '$GIT_URL/$PROJECT'
945 java-version: openjdk8
946 mvn-global-settings: global-settings
947 mvn-goals: clean deploy
949 mvn-params: '-Dstream=$STREAM'
951 staging-profile-id: '' # Unused in this job
953 submodule-recursive: true
955 gerrit_verify_triggers:
956 - patchset-created-event:
958 exclude-trivial-rebase: false
959 exclude-no-code-change: false
960 - draft-published-event
961 - comment-added-contains-event:
962 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
964 gerrit_trigger_file_paths:
965 - compare-type: REG_EXP
968 # github_included_regions MUST match gerrit_trigger_file_paths
969 github_included_regions:
972 #####################
973 # Job Configuration #
974 #####################
979 - lf-jacoco-nojava-workaround
981 mvn-version: '{mvn-version}'
982 - lf-update-java-alternatives:
983 java-version: '{java-version}'
984 - lf-provide-maven-settings:
985 global-settings-file: '{mvn-global-settings}'
986 settings-file: '{mvn-settings}'
987 - shell: !include-raw-escape:
988 - ../shell/lftools-install.sh
990 mvn-goals: '{mvn-goals}'
991 - lf-provide-maven-settings-cleanup
999 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1000 id: gerrit-maven-verify
1001 <<: *lf_maven_common
1002 # yamllint disable-line rule:key-duplicates
1003 <<: *lf_maven_verify
1006 - lf-infra-gerrit-scm:
1007 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1008 git-url: '{git-url}'
1009 refspec: '$GERRIT_REFSPEC'
1010 branch: '$GERRIT_BRANCH'
1011 submodule-recursive: '{submodule-recursive}'
1012 choosing-strategy: gerrit
1016 server-name: '{gerrit-server-name}'
1017 trigger-on: '{obj:gerrit_verify_triggers}'
1019 - project-compare-type: ANT
1020 project-pattern: '{project}'
1022 - branch-compare-type: ANT
1023 branch-pattern: '**/{branch}'
1024 file-paths: '{obj:gerrit_trigger_file_paths}'
1027 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1028 id: github-maven-verify
1029 <<: *lf_maven_common
1030 # yamllint disable-line rule:key-duplicates
1031 <<: *lf_maven_verify
1034 - lf-infra-properties:
1035 build-days-to-keep: '{build-days-to-keep}'
1037 url: '{git-url}/{github-org}/{project}'
1040 - lf-infra-github-scm:
1041 url: '{git-clone-url}{github-org}/{project}'
1042 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1044 submodule-recursive: '{submodule-recursive}'
1045 choosing-strategy: default
1046 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1049 - github-pull-request:
1050 trigger-phrase: '^(recheck|reverify)$'
1051 only-trigger-phrase: false
1052 status-context: 'Maven Verify'
1055 included-regions: '{obj:github_included_regions}'
1057 #############################
1058 # Maven Verify Dependencies #
1059 #############################
1061 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1062 name: lf-maven-verify-dependencies
1064 ######################
1065 # Default parameters #
1066 ######################
1069 build-days-to-keep: 7
1071 git-url: '$GIT_URL/$PROJECT'
1072 java-version: openjdk8
1073 mvn-global-settings: global-settings
1074 mvn-goals: clean deploy
1076 mvn-params: '-Dstream=$STREAM'
1078 staging-profile-id: '' # Unused by this job
1080 submodule-recursive: true
1082 gerrit_verify_triggers:
1083 - comment-added-contains-event:
1084 comment-contains-value: 'recheck: [0-9 ]+'
1085 gerrit_trigger_file_paths:
1089 #####################
1090 # Job Configuration #
1091 #####################
1096 - lf-jacoco-nojava-workaround
1098 mvn-version: '{mvn-version}'
1099 - lf-update-java-alternatives:
1100 java-version: '{java-version}'
1101 - lf-provide-maven-settings:
1102 global-settings-file: '{mvn-global-settings}'
1103 settings-file: '{mvn-settings}'
1104 - lf-fetch-dependent-patches
1105 - shell: !include-raw-escape:
1106 - ../shell/common-variables.sh
1107 - ../shell/maven-build-deps.sh
1109 mvn-goals: '{mvn-goals}'
1110 - lf-provide-maven-settings-cleanup
1118 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1119 id: gerrit-maven-verify-dependencies
1120 <<: *lf_maven_common
1121 # yamllint disable-line rule:key-duplicates
1122 <<: *lf_maven_verify_dependencies
1125 - lf-infra-gerrit-scm:
1126 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1127 git-url: '{git-url}'
1128 refspec: '$GERRIT_REFSPEC'
1129 branch: '$GERRIT_BRANCH'
1130 submodule-recursive: '{submodule-recursive}'
1131 choosing-strategy: gerrit
1135 server-name: '{gerrit-server-name}'
1136 trigger-on: '{obj:gerrit_verify_triggers}'
1138 - project-compare-type: ANT
1139 project-pattern: '{project}'
1141 - branch-compare-type: ANT
1142 branch-pattern: '**/{branch}'
1143 file-paths: '{obj:gerrit_trigger_file_paths}'