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 github-url: 'https://github.com'
166 java-version: openjdk8
167 mvn-global-settings: global-settings
171 nexus-iq-stage: 'build'
172 staging-profile-id: '' # Unused in this job
174 submodule-recursive: true
176 nexus-iq-scan-patterns:
184 - comment-added-contains-event:
185 comment-contains-value: run-clm$
188 - lf-infra-parameters:
192 lftools-version: '{lftools-version}'
193 - lf-infra-maven-parameters:
194 mvn-opts: '{mvn-opts}'
195 mvn-params: '{mvn-params}'
196 mvn-version: '{mvn-version}'
197 # Staging repos do not make sense for CLM jobs so set it blank.
198 staging-profile-id: '{staging-profile-id}'
200 name: ARCHIVE_ARTIFACTS
201 default: '{archive-artifacts}'
202 description: Artifacts to archive to the logs server.
204 nexus-iq-stage: '{nexus-iq-stage}'
206 #####################
207 # Job Configuration #
208 #####################
212 mvn-version: '{mvn-version}'
213 - lf-update-java-alternatives:
214 java-version: '{java-version}'
215 - lf-provide-maven-settings:
216 global-settings-file: '{mvn-global-settings}'
217 settings-file: '{mvn-settings}'
218 - shell: !include-raw-escape:
219 - ../shell/common-variables.sh
220 - ../shell/sonatype-clm.sh
221 - lf-provide-maven-settings-cleanup
222 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
223 - nexus-iq-policy-evaluator:
224 stage: '{nexus-iq-stage}'
225 application-type: 'manual'
226 application-id: '{project-name}'
227 scan-patterns: '{nexus-iq-scan-patterns}'
228 fail-build-network-error: true
231 name: '{project-name}-maven-clm-{stream}'
234 # yamllint disable-line rule:key-duplicates
238 - lf-infra-gerrit-scm:
239 jenkins-ssh-credential: '{jenkins-ssh-credential}'
241 refspec: '$GERRIT_REFSPEC'
242 branch: '$GERRIT_BRANCH'
243 submodule-recursive: '{submodule-recursive}'
244 choosing-strategy: default
247 # Build weekly on Saturdays
250 server-name: '{gerrit-server-name}'
251 trigger-on: '{obj:gerrit_clm_triggers}'
253 - project-compare-type: ANT
254 project-pattern: '{project}'
256 - branch-compare-type: ANT
257 branch-pattern: '**/{branch}'
265 name: '{project-name}-maven-clm-{stream}'
268 # yamllint disable-line rule:key-duplicates
272 - lf-infra-properties:
273 build-days-to-keep: '{build-days-to-keep}'
275 url: '{github-url}/{github-org}/{project}'
278 - lf-infra-github-scm:
279 url: '{git-clone-url}{github-org}/{project}'
281 branch: 'refs/heads/{branch}'
282 submodule-recursive: '{submodule-recursive}'
283 choosing-strategy: default
284 jenkins-ssh-credential: '{jenkins-ssh-credential}'
287 # Build weekly on Saturdays
289 - github-pull-request:
290 trigger-phrase: '^run-clm$'
291 only-trigger-phrase: false
292 status-context: 'CLM'
297 white-list: '{obj:github_pr_whitelist}'
298 admin-list: '{obj:github_pr_admin_list}'
300 #########################
301 # Maven Javadoc Publish #
302 #########################
304 - lf_maven_javadoc_publish: &lf_maven_javadoc_publish
305 name: lf-maven-javadoc-publish
307 ######################
308 # Default parameters #
309 ######################
312 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
314 git-url: '$GIT_URL/$PROJECT'
315 github-url: 'https://github.com'
316 java-version: openjdk8
317 mvn-global-settings: global-settings
321 staging-profile-id: '' # Unused by the javadoc jobs
323 submodule-recursive: true
325 gerrit_merge_triggers:
326 - change-merged-event
327 - comment-added-contains-event:
328 comment-contains-value: remerge$
330 #####################
331 # Job Configuration #
332 #####################
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}'
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
440 staging-profile-id: '' # Unused by the javadoc jobs
442 submodule-recursive: true
444 gerrit_verify_triggers:
445 - patchset-created-event:
447 exclude-trivial-rebase: false
448 exclude-no-code-change: false
449 - draft-published-event
450 - comment-added-contains-event:
451 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
453 #####################
454 # Job Configuration #
455 #####################
461 mvn-version: '{mvn-version}'
462 - lf-update-java-alternatives:
463 java-version: '{java-version}'
464 - lf-provide-maven-settings:
465 global-settings-file: '{mvn-global-settings}'
466 settings-file: '{mvn-settings}'
467 - shell: !include-raw-escape:
468 - ../shell/common-variables.sh
469 - ../shell/maven-javadoc-generate.sh
470 - lf-provide-maven-settings-cleanup
473 name: '{project-name}-maven-javadoc-verify-{stream}'
474 id: gerrit-maven-javadoc-verify
476 # yamllint disable-line rule:key-duplicates
477 <<: *lf_maven_javadoc_verify
480 - lf-infra-gerrit-scm:
481 jenkins-ssh-credential: '{jenkins-ssh-credential}'
483 refspec: '$GERRIT_REFSPEC'
484 branch: '$GERRIT_BRANCH'
485 submodule-recursive: '{submodule-recursive}'
486 choosing-strategy: gerrit
490 server-name: '{gerrit-server-name}'
491 trigger-on: '{obj:gerrit_verify_triggers}'
493 - project-compare-type: ANT
494 project-pattern: '{project}'
496 - branch-compare-type: ANT
497 branch-pattern: '**/{branch}'
500 name: '{project-name}-maven-javadoc-verify-{stream}'
501 id: github-maven-javadoc-verify
503 # yamllint disable-line rule:key-duplicates
504 <<: *lf_maven_javadoc_verify
507 - lf-infra-properties:
508 build-days-to-keep: '{build-days-to-keep}'
510 url: '{github-url}/{github-org}/{project}'
513 - lf-infra-github-scm:
514 url: '{git-clone-url}{github-org}/{project}'
515 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
517 submodule-recursive: '{submodule-recursive}'
518 choosing-strategy: default
519 jenkins-ssh-credential: '{jenkins-ssh-credential}'
522 - github-pull-request:
523 trigger-phrase: ^(recheck|reverify)$
524 only-trigger-phrase: false
525 status-context: 'Maven Javadoc Verify'
533 - lf_maven_merge: &lf_maven_merge
536 ######################
537 # Default parameters #
538 ######################
541 build-days-to-keep: 30 # 30 days in case we need to troubleshoot
543 cron: 'H H * * 0' # push fresh snapshot weekly
544 git-url: '$GIT_URL/$PROJECT'
545 github-url: 'https://github.com'
546 java-version: openjdk8
547 mvn-global-settings: global-settings
548 mvn-goals: clean deploy
550 mvn-params: '-Dmerge'
552 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
553 staging-profile-id: '' # Unused by this job.
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}'
660 - github-pull-request:
661 trigger-phrase: '^remerge$'
662 only-trigger-phrase: true
663 status-context: 'Maven Merge'
668 white-list: '{obj:github_pr_whitelist}'
669 admin-list: '{obj:github_pr_admin_list}'
670 included-regions: '{obj:github_included_regions}'
676 - lf_maven_release: &lf_maven_release
677 name: lf-maven-release
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: build release$
702 #####################
703 # Job Configuration #
704 #####################
707 - lf-jacoco-nojava-workaround
709 mvn-version: '{mvn-version}'
710 - lf-update-java-alternatives:
711 java-version: '{java-version}'
712 - lf-provide-maven-settings:
713 global-settings-file: '{mvn-global-settings}'
714 settings-file: '{mvn-settings}'
715 - lf-infra-create-netrc:
716 server-id: '{mvn-staging-id}'
717 - shell: !include-raw-escape:
718 - ../shell/lftools-install.sh
719 - ../shell/maven-patch-release.sh
721 mvn-goals: '{mvn-goals}'
723 - lf-provide-maven-settings-cleanup
726 name: '{project-name}-maven-release-{stream}'
727 id: gerrit-maven-release
729 # yamllint disable-line rule:key-duplicates
730 <<: *lf_maven_release
733 - lf-infra-gerrit-scm:
734 jenkins-ssh-credential: '{jenkins-ssh-credential}'
736 refspec: '$GERRIT_REFSPEC'
737 branch: '$GERRIT_BRANCH'
738 submodule-recursive: '{submodule-recursive}'
739 choosing-strategy: default
742 - timed: '{obj:cron}'
744 server-name: '{gerrit-server-name}'
745 trigger-on: '{obj:gerrit_release_triggers}'
747 - project-compare-type: ANT
748 project-pattern: '{project}'
750 - branch-compare-type: ANT
751 branch-pattern: '**/{branch}'
754 name: '{project-name}-maven-release-{stream}'
755 id: github-maven-release
757 # yamllint disable-line rule:key-duplicates
758 <<: *lf_maven_release
761 - lf-infra-properties:
762 build-days-to-keep: '{build-days-to-keep}'
764 url: '{github-url}/{github-org}/{project}'
767 - lf-infra-github-scm:
768 url: '{git-clone-url}{github-org}/{project}'
769 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
771 submodule-recursive: '{submodule-recursive}'
772 choosing-strategy: default
773 jenkins-ssh-credential: '{jenkins-ssh-credential}'
776 - timed: '{obj:cron}'
777 - github-pull-request:
778 trigger-phrase: '^build release$'
779 only-trigger-phrase: true
780 status-context: 'Maven Release'
788 - lf_maven_sonar: &lf_maven_sonar
791 ######################
792 # Default parameters #
793 ######################
795 branch: master # Sonar should always be run on master branch
796 build-days-to-keep: 7
798 cron: 'H H * * 6' # run weekly
799 git-url: '$GIT_URL/$PROJECT'
800 github-url: 'https://github.com'
801 java-version: openjdk8
802 mvn-global-settings: global-settings
806 sonar-mvn-goal: 'sonar:sonar'
807 staging-profile-id: '' # Unused in this job
809 submodule-recursive: true
811 gerrit_sonar_triggers:
812 - comment-added-contains-event:
813 comment-contains-value: run-sonar$
815 #####################
816 # Job Configuration #
817 #####################
820 - lf-infra-parameters:
824 lftools-version: '{lftools-version}'
825 - lf-infra-maven-parameters:
826 mvn-opts: '{mvn-opts}'
827 mvn-params: '{mvn-params}'
828 mvn-version: '{mvn-version}'
829 # Staging repos do not make sense for Sonar jobs so set it blank.
830 staging-profile-id: ''
832 name: ARCHIVE_ARTIFACTS
833 default: '{archive-artifacts}'
834 description: Artifacts to archive to the logs server.
836 name: SONAR_MAVEN_GOAL
837 default: '{sonar-mvn-goal}'
839 Maven goals to pass to the Sonar call. Typically sonar:sonar
840 however to use a specific version of the sonar-maven-plugin we
841 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
844 - timed: '{obj:cron}'
846 server-name: '{gerrit-server-name}'
847 trigger-on: '{obj:gerrit_sonar_triggers}'
849 - project-compare-type: 'ANT'
850 project-pattern: '{project}'
852 - branch-compare-type: 'ANT'
853 branch-pattern: '**/master'
861 - lf-infra-maven-sonar:
862 java-version: '{java-version}'
863 mvn-settings: '{mvn-settings}'
864 mvn-version: '{mvn-version}'
872 name: lf-infra-maven-sonar
873 # Run a Sonar build with Maven
876 mvn-version: '{mvn-version}'
877 - lf-update-java-alternatives:
878 java-version: '{java-version}'
880 # Switch this to the sonar wrapper when JJB 2.0 is available
881 properties-content: SONAR_HOST_URL=$SONAR_URL
882 - lf-provide-maven-settings:
883 global-settings-file: global-settings
884 settings-file: '{mvn-settings}'
885 - shell: !include-raw-escape:
886 - ../shell/common-variables.sh
887 - ../shell/maven-sonar.sh
888 - lf-provide-maven-settings-cleanup
891 name: '{project-name}-sonar'
892 id: gerrit-maven-sonar
894 # yamllint disable-line rule:key-duplicates
898 - lf-infra-gerrit-scm:
899 jenkins-ssh-credential: '{jenkins-ssh-credential}'
901 refspec: $GERRIT_REFSPEC
902 branch: $GERRIT_BRANCH
903 submodule-recursive: '{submodule-recursive}'
904 choosing-strategy: default
907 name: '{project-name}-sonar'
908 id: github-maven-sonar
910 # yamllint disable-line rule:key-duplicates
914 - lf-infra-properties:
915 build-days-to-keep: '{build-days-to-keep}'
917 url: '{github-url}/{github-org}/{project}'
920 - lf-infra-github-scm:
921 url: '{git-clone-url}{github-org}/{project}'
922 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
924 submodule-recursive: '{submodule-recursive}'
925 choosing-strategy: default
926 jenkins-ssh-credential: '{jenkins-ssh-credential}'
929 - github-pull-request:
930 trigger-phrase: '^run-sonar$'
931 only-trigger-phrase: false
932 status-context: 'Maven Sonar'
940 - lf_maven_verify: &lf_maven_verify
941 name: lf-maven-verify
943 ######################
944 # Default parameters #
945 ######################
948 build-days-to-keep: 7
950 git-url: '$GIT_URL/$PROJECT'
951 github-url: 'https://github.com'
952 java-version: openjdk8
953 mvn-global-settings: global-settings
954 mvn-goals: clean deploy
956 mvn-params: '-Dstream=$STREAM'
958 staging-profile-id: '' # Unused in this job
960 submodule-recursive: true
962 gerrit_verify_triggers:
963 - patchset-created-event:
965 exclude-trivial-rebase: false
966 exclude-no-code-change: false
967 - draft-published-event
968 - comment-added-contains-event:
969 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
971 gerrit_trigger_file_paths:
972 - compare-type: REG_EXP
975 # github_included_regions MUST match gerrit_trigger_file_paths
976 github_included_regions:
979 #####################
980 # Job Configuration #
981 #####################
986 - lf-jacoco-nojava-workaround
988 mvn-version: '{mvn-version}'
989 - lf-update-java-alternatives:
990 java-version: '{java-version}'
991 - lf-provide-maven-settings:
992 global-settings-file: '{mvn-global-settings}'
993 settings-file: '{mvn-settings}'
994 - shell: !include-raw-escape:
995 - ../shell/lftools-install.sh
997 mvn-goals: '{mvn-goals}'
998 - lf-provide-maven-settings-cleanup
1006 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1007 id: gerrit-maven-verify
1008 <<: *lf_maven_common
1009 # yamllint disable-line rule:key-duplicates
1010 <<: *lf_maven_verify
1013 - lf-infra-gerrit-scm:
1014 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1015 git-url: '{git-url}'
1016 refspec: '$GERRIT_REFSPEC'
1017 branch: '$GERRIT_BRANCH'
1018 submodule-recursive: '{submodule-recursive}'
1019 choosing-strategy: gerrit
1023 server-name: '{gerrit-server-name}'
1024 trigger-on: '{obj:gerrit_verify_triggers}'
1026 - project-compare-type: ANT
1027 project-pattern: '{project}'
1029 - branch-compare-type: ANT
1030 branch-pattern: '**/{branch}'
1031 file-paths: '{obj:gerrit_trigger_file_paths}'
1034 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1035 id: github-maven-verify
1036 <<: *lf_maven_common
1037 # yamllint disable-line rule:key-duplicates
1038 <<: *lf_maven_verify
1041 - lf-infra-properties:
1042 build-days-to-keep: '{build-days-to-keep}'
1044 url: '{github-url}/{github-org}/{project}'
1047 - lf-infra-github-scm:
1048 url: '{git-clone-url}{github-org}/{project}'
1049 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1051 submodule-recursive: '{submodule-recursive}'
1052 choosing-strategy: default
1053 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1056 - github-pull-request:
1057 trigger-phrase: '^(recheck|reverify)$'
1058 only-trigger-phrase: false
1059 status-context: 'Maven Verify'
1062 included-regions: '{obj:github_included_regions}'
1064 #############################
1065 # Maven Verify Dependencies #
1066 #############################
1068 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1069 name: lf-maven-verify-dependencies
1071 ######################
1072 # Default parameters #
1073 ######################
1076 build-days-to-keep: 7
1078 git-url: '$GIT_URL/$PROJECT'
1079 github-url: 'https://github.com'
1080 java-version: openjdk8
1081 mvn-global-settings: global-settings
1082 mvn-goals: clean deploy
1084 mvn-params: '-Dstream=$STREAM'
1086 staging-profile-id: '' # Unused by this job
1088 submodule-recursive: true
1090 gerrit_verify_triggers:
1091 - comment-added-contains-event:
1092 comment-contains-value: 'recheck: [0-9 ]+'
1093 gerrit_trigger_file_paths:
1097 #####################
1098 # Job Configuration #
1099 #####################
1104 - lf-jacoco-nojava-workaround
1106 mvn-version: '{mvn-version}'
1107 - lf-update-java-alternatives:
1108 java-version: '{java-version}'
1109 - lf-provide-maven-settings:
1110 global-settings-file: '{mvn-global-settings}'
1111 settings-file: '{mvn-settings}'
1112 - lf-fetch-dependent-patches
1113 - shell: !include-raw-escape:
1114 - ../shell/common-variables.sh
1115 - ../shell/maven-build-deps.sh
1117 mvn-goals: '{mvn-goals}'
1118 - lf-provide-maven-settings-cleanup
1126 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1127 id: gerrit-maven-verify-dependencies
1128 <<: *lf_maven_common
1129 # yamllint disable-line rule:key-duplicates
1130 <<: *lf_maven_verify_dependencies
1133 - lf-infra-gerrit-scm:
1134 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1135 git-url: '{git-url}'
1136 refspec: '$GERRIT_REFSPEC'
1137 branch: '$GERRIT_BRANCH'
1138 submodule-recursive: '{submodule-recursive}'
1139 choosing-strategy: gerrit
1143 server-name: '{gerrit-server-name}'
1144 trigger-on: '{obj:gerrit_verify_triggers}'
1146 - project-compare-type: ANT
1147 project-pattern: '{project}'
1149 - branch-compare-type: ANT
1150 branch-pattern: '**/{branch}'
1151 file-paths: '{obj:gerrit_trigger_file_paths}'