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
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
269 - lf-infra-properties:
270 build-days-to-keep: '{build-days-to-keep}'
272 url: '{github-url}/{github-org}/{project}'
275 - lf-infra-github-scm:
276 url: '{git-clone-url}{github-org}/{project}'
278 branch: 'refs/heads/{branch}'
279 submodule-recursive: '{submodule-recursive}'
280 choosing-strategy: default
281 jenkins-ssh-credential: '{jenkins-ssh-credential}'
284 # Build weekly on Saturdays
286 - github-pull-request:
287 trigger-phrase: '^run-clm$'
288 only-trigger-phrase: true
289 status-context: 'CLM'
294 white-list: '{obj:github_pr_whitelist}'
295 admin-list: '{obj:github_pr_admin_list}'
296 white-list-target-branches:
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 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 #####################
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: '{github-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}'
416 white-list-target-branches:
419 ########################
420 # Maven Javadoc Verify #
421 ########################
423 - lf_maven_javadoc_verify: &lf_maven_javadoc_verify
424 name: lf-maven-javadoc-verify
426 ######################
427 # Default parameters #
428 ######################
431 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
433 git-url: '$GIT_URL/$PROJECT'
434 github-url: 'https://github.com'
435 java-version: openjdk8
436 mvn-global-settings: global-settings
441 submodule-recursive: true
443 gerrit_verify_triggers:
444 - patchset-created-event:
446 exclude-trivial-rebase: false
447 exclude-no-code-change: false
448 - draft-published-event
449 - comment-added-contains-event:
450 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
452 #####################
453 # Job Configuration #
454 #####################
460 mvn-version: '{mvn-version}'
461 - lf-update-java-alternatives:
462 java-version: '{java-version}'
463 - lf-provide-maven-settings:
464 global-settings-file: '{mvn-global-settings}'
465 settings-file: '{mvn-settings}'
466 - shell: !include-raw-escape:
467 - ../shell/common-variables.sh
468 - ../shell/maven-javadoc-generate.sh
469 - lf-provide-maven-settings-cleanup
472 name: '{project-name}-maven-javadoc-verify-{stream}'
473 id: gerrit-maven-javadoc-verify
475 # yamllint disable-line rule:key-duplicates
476 <<: *lf_maven_javadoc_verify
479 - lf-infra-gerrit-scm:
480 jenkins-ssh-credential: '{jenkins-ssh-credential}'
482 refspec: '$GERRIT_REFSPEC'
483 branch: '$GERRIT_BRANCH'
484 submodule-recursive: '{submodule-recursive}'
485 choosing-strategy: gerrit
489 server-name: '{gerrit-server-name}'
490 trigger-on: '{obj:gerrit_verify_triggers}'
492 - project-compare-type: ANT
493 project-pattern: '{project}'
495 - branch-compare-type: ANT
496 branch-pattern: '**/{branch}'
499 name: '{project-name}-maven-javadoc-verify-{stream}'
500 id: github-maven-javadoc-verify
502 # yamllint disable-line rule:key-duplicates
503 <<: *lf_maven_javadoc_verify
506 - lf-infra-properties:
507 build-days-to-keep: '{build-days-to-keep}'
509 url: '{github-url}/{github-org}/{project}'
512 - lf-infra-github-scm:
513 url: '{git-clone-url}{github-org}/{project}'
514 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
516 submodule-recursive: '{submodule-recursive}'
517 choosing-strategy: default
518 jenkins-ssh-credential: '{jenkins-ssh-credential}'
521 - github-pull-request:
522 trigger-phrase: ^(recheck|reverify)$
523 only-trigger-phrase: false
524 status-context: 'Maven Javadoc Verify'
527 white-list-target-branches:
534 - lf_maven_merge: &lf_maven_merge
537 ######################
538 # Default parameters #
539 ######################
542 build-days-to-keep: 30 # 30 days in case we need to troubleshoot
545 git-url: '$GIT_URL/$PROJECT'
546 github-url: 'https://github.com'
547 java-version: openjdk8
548 mvn-global-settings: global-settings
549 mvn-goals: clean deploy
551 mvn-params: '-Dmerge'
553 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
555 submodule-recursive: true
557 gerrit_merge_triggers:
558 - change-merged-event
559 - comment-added-contains-event:
560 comment-contains-value: remerge$
562 gerrit_trigger_file_paths:
563 - compare-type: REG_EXP
566 # github_included_regions MUST match gerrit_trigger_file_paths
567 github_included_regions:
570 post_build_trigger: ''
572 #####################
573 # Job Configuration #
574 #####################
577 - lf-jacoco-nojava-workaround
579 mvn-version: '{mvn-version}'
580 - lf-update-java-alternatives:
581 java-version: '{java-version}'
582 - lf-provide-maven-settings:
583 global-settings-file: '{mvn-global-settings}'
584 settings-file: '{mvn-settings}'
585 - lf-infra-create-netrc:
586 server-id: '{mvn-snapshot-id}'
588 properties-content: |
589 NEXUS_CUT_DIRS={nexus-cut-dirs}
590 NEXUS_REPO={nexus-snapshot-repo}
591 - shell: !include-raw-escape:
592 - ../shell/lftools-install.sh
593 - ../shell/maven-fetch-metadata.sh
595 mvn-goals: '{mvn-goals}'
597 - lf-provide-maven-settings-cleanup
603 - trigger-parameterized-builds: '{obj:post_build_trigger}'
606 name: '{project-name}-maven-merge-{stream}'
607 id: gerrit-maven-merge
609 # yamllint disable-line rule:key-duplicates
613 - lf-infra-gerrit-scm:
614 jenkins-ssh-credential: '{jenkins-ssh-credential}'
616 refspec: '$GERRIT_REFSPEC'
617 branch: '$GERRIT_BRANCH'
618 submodule-recursive: '{submodule-recursive}'
619 choosing-strategy: default
622 - timed: '{obj:cron}'
624 server-name: '{gerrit-server-name}'
625 trigger-on: '{obj:gerrit_merge_triggers}'
627 - project-compare-type: ANT
628 project-pattern: '{project}'
630 - branch-compare-type: ANT
631 branch-pattern: '**/{branch}'
632 file-paths: '{obj:gerrit_trigger_file_paths}'
635 name: '{project-name}-maven-merge-{stream}'
636 id: github-maven-merge
638 # yamllint disable-line rule:key-duplicates
642 - lf-infra-properties:
643 build-days-to-keep: '{build-days-to-keep}'
645 url: '{github-url}/{github-org}/{project}'
648 - lf-infra-github-scm:
649 url: '{git-clone-url}{github-org}/{project}'
650 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
652 submodule-recursive: '{submodule-recursive}'
653 choosing-strategy: default
654 jenkins-ssh-credential: '{jenkins-ssh-credential}'
657 - timed: '{obj:cron}'
661 - github-pull-request:
662 trigger-phrase: '^remerge$'
663 only-trigger-phrase: true
664 status-context: 'Maven Merge'
669 white-list: '{obj:github_pr_whitelist}'
670 admin-list: '{obj:github_pr_admin_list}'
671 white-list-target-branches:
673 included-regions: '{obj:github_included_regions}'
679 - lf_maven_stage: &lf_maven_stage
682 ######################
683 # Default parameters #
684 ######################
687 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
690 git-url: '$GIT_URL/$PROJECT'
691 github-url: 'https://github.com'
692 java-version: openjdk8
693 mvn-global-settings: global-settings
694 mvn-goals: clean deploy
699 submodule-recursive: true
701 gerrit_release_triggers:
702 - comment-added-contains-event:
703 comment-contains-value: stage-release$
705 #####################
706 # Job Configuration #
707 #####################
710 - lf-infra-parameters:
714 lftools-version: '{lftools-version}'
715 - lf-infra-maven-parameters:
716 mvn-opts: '{mvn-opts}'
717 mvn-params: '{mvn-params}'
718 mvn-version: '{mvn-version}'
719 staging-profile-id: '{staging-profile-id}'
721 name: ARCHIVE_ARTIFACTS
722 default: '{archive-artifacts}'
723 description: Artifacts to archive to the logs server.
725 name: STAGING_PROFILE_ID
726 default: '{staging-profile-id}'
727 description: Nexus staging profile ID.
730 - lf-jacoco-nojava-workaround
732 mvn-version: '{mvn-version}'
733 - lf-update-java-alternatives:
734 java-version: '{java-version}'
735 - lf-provide-maven-settings:
736 global-settings-file: '{mvn-global-settings}'
737 settings-file: '{mvn-settings}'
738 - lf-infra-create-netrc:
739 server-id: '{mvn-staging-id}'
740 - shell: !include-raw-escape:
741 - ../shell/lftools-install.sh
742 - ../shell/maven-patch-release.sh
744 mvn-goals: '{mvn-goals}'
746 - lf-provide-maven-settings-cleanup
749 name: '{project-name}-maven-stage-{stream}'
750 id: gerrit-maven-stage
752 # yamllint disable-line rule:key-duplicates
756 - lf-infra-gerrit-scm:
757 jenkins-ssh-credential: '{jenkins-ssh-credential}'
759 refspec: '$GERRIT_REFSPEC'
760 branch: '$GERRIT_BRANCH'
761 submodule-recursive: '{submodule-recursive}'
762 choosing-strategy: default
765 - timed: '{obj:cron}'
767 server-name: '{gerrit-server-name}'
768 trigger-on: '{obj:gerrit_release_triggers}'
770 - project-compare-type: ANT
771 project-pattern: '{project}'
773 - branch-compare-type: ANT
774 branch-pattern: '**/{branch}'
777 name: '{project-name}-maven-stage-{stream}'
778 id: github-maven-stage
780 # yamllint disable-line rule:key-duplicates
784 - lf-infra-properties:
785 build-days-to-keep: '{build-days-to-keep}'
787 url: '{github-url}/{github-org}/{project}'
790 - lf-infra-github-scm:
791 url: '{git-clone-url}{github-org}/{project}'
792 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
794 submodule-recursive: '{submodule-recursive}'
795 choosing-strategy: default
796 jenkins-ssh-credential: '{jenkins-ssh-credential}'
799 - timed: '{obj:cron}'
800 - github-pull-request:
801 trigger-phrase: '^build release$'
802 only-trigger-phrase: true
803 status-context: 'Maven Release'
806 white-list-target-branches:
813 - lf_maven_sonar: &lf_maven_sonar
816 ######################
817 # Default parameters #
818 ######################
820 branch: master # Sonar should always be run on master branch
821 build-days-to-keep: 7
823 cron: 'H H * * 6' # run weekly
824 git-url: '$GIT_URL/$PROJECT'
825 github-url: 'https://github.com'
826 java-version: openjdk8
827 mvn-global-settings: global-settings
831 sonar-mvn-goal: 'sonar:sonar'
833 submodule-recursive: true
835 gerrit_sonar_triggers:
836 - comment-added-contains-event:
837 comment-contains-value: run-sonar$
839 #####################
840 # Job Configuration #
841 #####################
844 - lf-infra-parameters:
848 lftools-version: '{lftools-version}'
849 - lf-infra-maven-parameters:
850 mvn-opts: '{mvn-opts}'
851 mvn-params: '{mvn-params}'
852 mvn-version: '{mvn-version}'
854 name: ARCHIVE_ARTIFACTS
855 default: '{archive-artifacts}'
856 description: Artifacts to archive to the logs server.
858 name: SONAR_MAVEN_GOAL
859 default: '{sonar-mvn-goal}'
861 Maven goals to pass to the Sonar call. Typically sonar:sonar
862 however to use a specific version of the sonar-maven-plugin we
863 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
866 - timed: '{obj:cron}'
868 server-name: '{gerrit-server-name}'
869 trigger-on: '{obj:gerrit_sonar_triggers}'
871 - project-compare-type: 'ANT'
872 project-pattern: '{project}'
874 - branch-compare-type: 'ANT'
875 branch-pattern: '**/master'
883 - lf-infra-maven-sonar:
884 java-version: '{java-version}'
885 mvn-settings: '{mvn-settings}'
886 mvn-version: '{mvn-version}'
894 name: lf-infra-maven-sonar
895 # Run a Sonar build with Maven
898 mvn-version: '{mvn-version}'
899 - lf-update-java-alternatives:
900 java-version: '{java-version}'
902 # Switch this to the sonar wrapper when JJB 2.0 is available
903 properties-content: SONAR_HOST_URL=$SONAR_URL
904 - lf-provide-maven-settings:
905 global-settings-file: global-settings
906 settings-file: '{mvn-settings}'
907 - shell: !include-raw-escape:
908 - ../shell/common-variables.sh
909 - ../shell/maven-sonar.sh
910 - lf-provide-maven-settings-cleanup
913 name: '{project-name}-sonar'
914 id: gerrit-maven-sonar
916 # yamllint disable-line rule:key-duplicates
920 - lf-infra-gerrit-scm:
921 jenkins-ssh-credential: '{jenkins-ssh-credential}'
923 refspec: $GERRIT_REFSPEC
924 branch: $GERRIT_BRANCH
925 submodule-recursive: '{submodule-recursive}'
926 choosing-strategy: default
929 name: '{project-name}-sonar'
930 id: github-maven-sonar
932 # yamllint disable-line rule:key-duplicates
936 - lf-infra-properties:
937 build-days-to-keep: '{build-days-to-keep}'
939 url: '{github-url}/{github-org}/{project}'
942 - lf-infra-github-scm:
943 url: '{git-clone-url}{github-org}/{project}'
944 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
946 submodule-recursive: '{submodule-recursive}'
947 choosing-strategy: default
948 jenkins-ssh-credential: '{jenkins-ssh-credential}'
951 - github-pull-request:
952 trigger-phrase: '^run-sonar$'
953 only-trigger-phrase: false
954 status-context: 'Maven Sonar'
957 white-list-target-branches:
964 - lf_maven_verify: &lf_maven_verify
965 name: lf-maven-verify
967 ######################
968 # Default parameters #
969 ######################
972 build-days-to-keep: 7
974 git-url: '$GIT_URL/$PROJECT'
975 github-url: 'https://github.com'
976 java-version: openjdk8
977 mvn-global-settings: global-settings
978 mvn-goals: clean deploy
980 mvn-params: '-Dstream=$STREAM'
983 submodule-recursive: true
985 gerrit_verify_triggers:
986 - patchset-created-event:
988 exclude-trivial-rebase: false
989 exclude-no-code-change: false
990 - draft-published-event
991 - comment-added-contains-event:
992 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
994 gerrit_trigger_file_paths:
995 - compare-type: REG_EXP
998 # github_included_regions MUST match gerrit_trigger_file_paths
999 github_included_regions:
1002 #####################
1003 # Job Configuration #
1004 #####################
1009 - lf-jacoco-nojava-workaround
1011 mvn-version: '{mvn-version}'
1012 - lf-update-java-alternatives:
1013 java-version: '{java-version}'
1014 - lf-provide-maven-settings:
1015 global-settings-file: '{mvn-global-settings}'
1016 settings-file: '{mvn-settings}'
1017 - shell: !include-raw-escape:
1018 - ../shell/lftools-install.sh
1020 mvn-goals: '{mvn-goals}'
1021 - lf-provide-maven-settings-cleanup
1029 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1030 id: gerrit-maven-verify
1031 <<: *lf_maven_common
1032 # yamllint disable-line rule:key-duplicates
1033 <<: *lf_maven_verify
1036 - lf-infra-gerrit-scm:
1037 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1038 git-url: '{git-url}'
1039 refspec: '$GERRIT_REFSPEC'
1040 branch: '$GERRIT_BRANCH'
1041 submodule-recursive: '{submodule-recursive}'
1042 choosing-strategy: gerrit
1046 server-name: '{gerrit-server-name}'
1047 trigger-on: '{obj:gerrit_verify_triggers}'
1049 - project-compare-type: ANT
1050 project-pattern: '{project}'
1052 - branch-compare-type: ANT
1053 branch-pattern: '**/{branch}'
1054 file-paths: '{obj:gerrit_trigger_file_paths}'
1057 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1058 id: github-maven-verify
1059 <<: *lf_maven_common
1060 # yamllint disable-line rule:key-duplicates
1061 <<: *lf_maven_verify
1064 - lf-infra-properties:
1065 build-days-to-keep: '{build-days-to-keep}'
1067 url: '{github-url}/{github-org}/{project}'
1070 - lf-infra-github-scm:
1071 url: '{git-clone-url}{github-org}/{project}'
1072 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1074 submodule-recursive: '{submodule-recursive}'
1075 choosing-strategy: default
1076 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1079 - github-pull-request:
1080 trigger-phrase: '^(recheck|reverify)$'
1081 only-trigger-phrase: false
1082 status-context: 'Maven Verify'
1085 white-list-target-branches:
1087 included-regions: '{obj:github_included_regions}'
1089 #############################
1090 # Maven Verify Dependencies #
1091 #############################
1093 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1094 name: lf-maven-verify-dependencies
1096 ######################
1097 # Default parameters #
1098 ######################
1101 build-days-to-keep: 7
1103 git-url: '$GIT_URL/$PROJECT'
1104 github-url: 'https://github.com'
1105 java-version: openjdk8
1106 mvn-global-settings: global-settings
1107 mvn-goals: clean deploy
1109 mvn-params: '-Dstream=$STREAM'
1112 submodule-recursive: true
1114 gerrit_verify_triggers:
1115 - comment-added-contains-event:
1116 comment-contains-value: 'recheck: [0-9 ]+'
1117 gerrit_trigger_file_paths:
1121 #####################
1122 # Job Configuration #
1123 #####################
1128 - lf-jacoco-nojava-workaround
1130 mvn-version: '{mvn-version}'
1131 - lf-update-java-alternatives:
1132 java-version: '{java-version}'
1133 - lf-provide-maven-settings:
1134 global-settings-file: '{mvn-global-settings}'
1135 settings-file: '{mvn-settings}'
1136 - lf-fetch-dependent-patches
1137 - shell: !include-raw-escape:
1138 - ../shell/common-variables.sh
1139 - ../shell/maven-build-deps.sh
1141 mvn-goals: '{mvn-goals}'
1142 - lf-provide-maven-settings-cleanup
1150 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1151 id: gerrit-maven-verify-dependencies
1152 <<: *lf_maven_common
1153 # yamllint disable-line rule:key-duplicates
1154 <<: *lf_maven_verify_dependencies
1157 - lf-infra-gerrit-scm:
1158 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1159 git-url: '{git-url}'
1160 refspec: '$GERRIT_REFSPEC'
1161 branch: '$GERRIT_BRANCH'
1162 submodule-recursive: '{submodule-recursive}'
1163 choosing-strategy: gerrit
1167 server-name: '{gerrit-server-name}'
1168 trigger-on: '{obj:gerrit_verify_triggers}'
1170 - project-compare-type: ANT
1171 project-pattern: '{project}'
1173 - branch-compare-type: ANT
1174 branch-pattern: '**/{branch}'
1175 file-paths: '{obj:gerrit_trigger_file_paths}'