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}'
299 white-list-target-branches:
302 #########################
303 # Maven Javadoc Publish #
304 #########################
306 - lf_maven_javadoc_publish: &lf_maven_javadoc_publish
307 name: lf-maven-javadoc-publish
309 ######################
310 # Default parameters #
311 ######################
314 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
316 git-url: '$GIT_URL/$PROJECT'
317 github-url: 'https://github.com'
318 java-version: openjdk8
319 mvn-global-settings: global-settings
323 staging-profile-id: '' # Unused by the javadoc jobs
325 submodule-recursive: true
327 gerrit_merge_triggers:
328 - change-merged-event
329 - comment-added-contains-event:
330 comment-contains-value: remerge$
332 #####################
333 # Job Configuration #
334 #####################
338 mvn-version: '{mvn-version}'
339 - lf-update-java-alternatives:
340 java-version: '{java-version}'
341 - lf-provide-maven-settings:
342 global-settings-file: '{mvn-global-settings}'
343 settings-file: '{mvn-settings}'
344 - lf-infra-create-netrc:
345 server-id: '{mvn-site-id}'
347 properties-content: 'DEPLOY_PATH={javadoc-path}'
348 - shell: !include-raw-escape:
349 - ../shell/common-variables.sh
350 - ../shell/maven-javadoc-generate.sh
351 - ../shell/lftools-install.sh
352 - ../shell/maven-javadoc-publish.sh
353 - lf-provide-maven-settings-cleanup
356 name: '{project-name}-maven-javadoc-publish-{stream}'
357 id: gerrit-maven-javadoc-publish
359 # yamllint disable-line rule:key-duplicates
360 <<: *lf_maven_javadoc_publish
362 git-url: '$GIT_URL/$GERRIT_PROJECT'
365 - lf-infra-gerrit-scm:
369 submodule-recursive: '{submodule-recursive}'
370 choosing-strategy: default
371 jenkins-ssh-credential: '{jenkins-ssh-credential}'
375 server-name: '{gerrit-server-name}'
376 trigger-on: '{obj:gerrit_merge_triggers}'
378 - project-compare-type: ANT
379 project-pattern: '{project}'
381 - branch-compare-type: ANT
382 branch-pattern: '**/{branch}'
385 name: '{project-name}-maven-javadoc-publish-{stream}'
386 id: github-maven-javadoc-publish
388 # yamllint disable-line rule:key-duplicates
389 <<: *lf_maven_javadoc_publish
392 - lf-infra-properties:
393 build-days-to-keep: '{build-days-to-keep}'
395 url: '{github-url}/{github-org}/{project}'
398 - lf-infra-github-scm:
399 url: '{git-clone-url}{github-org}/{project}'
402 submodule-recursive: '{submodule-recursive}'
403 choosing-strategy: default
404 jenkins-ssh-credential: '{jenkins-ssh-credential}'
410 - github-pull-request:
411 trigger-phrase: '^remerge$'
412 only-trigger-phrase: true
413 status-context: 'Maven Javadoc Publish'
418 white-list: '{obj:github_pr_whitelist}'
419 admin-list: '{obj:github_pr_admin_list}'
420 white-list-target-branches:
423 ########################
424 # Maven Javadoc Verify #
425 ########################
427 - lf_maven_javadoc_verify: &lf_maven_javadoc_verify
428 name: lf-maven-javadoc-verify
430 ######################
431 # Default parameters #
432 ######################
435 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
437 git-url: '$GIT_URL/$PROJECT'
438 github-url: 'https://github.com'
439 java-version: openjdk8
440 mvn-global-settings: global-settings
444 staging-profile-id: '' # Unused by the javadoc jobs
446 submodule-recursive: true
448 gerrit_verify_triggers:
449 - patchset-created-event:
451 exclude-trivial-rebase: false
452 exclude-no-code-change: false
453 - draft-published-event
454 - comment-added-contains-event:
455 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
457 #####################
458 # Job Configuration #
459 #####################
465 mvn-version: '{mvn-version}'
466 - lf-update-java-alternatives:
467 java-version: '{java-version}'
468 - lf-provide-maven-settings:
469 global-settings-file: '{mvn-global-settings}'
470 settings-file: '{mvn-settings}'
471 - shell: !include-raw-escape:
472 - ../shell/common-variables.sh
473 - ../shell/maven-javadoc-generate.sh
474 - lf-provide-maven-settings-cleanup
477 name: '{project-name}-maven-javadoc-verify-{stream}'
478 id: gerrit-maven-javadoc-verify
480 # yamllint disable-line rule:key-duplicates
481 <<: *lf_maven_javadoc_verify
484 - lf-infra-gerrit-scm:
485 jenkins-ssh-credential: '{jenkins-ssh-credential}'
487 refspec: '$GERRIT_REFSPEC'
488 branch: '$GERRIT_BRANCH'
489 submodule-recursive: '{submodule-recursive}'
490 choosing-strategy: gerrit
494 server-name: '{gerrit-server-name}'
495 trigger-on: '{obj:gerrit_verify_triggers}'
497 - project-compare-type: ANT
498 project-pattern: '{project}'
500 - branch-compare-type: ANT
501 branch-pattern: '**/{branch}'
504 name: '{project-name}-maven-javadoc-verify-{stream}'
505 id: github-maven-javadoc-verify
507 # yamllint disable-line rule:key-duplicates
508 <<: *lf_maven_javadoc_verify
511 - lf-infra-properties:
512 build-days-to-keep: '{build-days-to-keep}'
514 url: '{github-url}/{github-org}/{project}'
517 - lf-infra-github-scm:
518 url: '{git-clone-url}{github-org}/{project}'
519 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
521 submodule-recursive: '{submodule-recursive}'
522 choosing-strategy: default
523 jenkins-ssh-credential: '{jenkins-ssh-credential}'
526 - github-pull-request:
527 trigger-phrase: ^(recheck|reverify)$
528 only-trigger-phrase: false
529 status-context: 'Maven Javadoc Verify'
532 white-list-target-branches:
539 - lf_maven_merge: &lf_maven_merge
542 ######################
543 # Default parameters #
544 ######################
547 build-days-to-keep: 30 # 30 days in case we need to troubleshoot
549 cron: 'H H * * 0' # push fresh snapshot weekly
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.
559 staging-profile-id: '' # Unused by this job.
561 submodule-recursive: true
563 gerrit_merge_triggers:
564 - change-merged-event
565 - comment-added-contains-event:
566 comment-contains-value: remerge$
568 gerrit_trigger_file_paths:
569 - compare-type: REG_EXP
572 # github_included_regions MUST match gerrit_trigger_file_paths
573 github_included_regions:
576 post_build_trigger: ''
578 #####################
579 # Job Configuration #
580 #####################
583 - lf-jacoco-nojava-workaround
585 mvn-version: '{mvn-version}'
586 - lf-update-java-alternatives:
587 java-version: '{java-version}'
588 - lf-provide-maven-settings:
589 global-settings-file: '{mvn-global-settings}'
590 settings-file: '{mvn-settings}'
591 - lf-infra-create-netrc:
592 server-id: '{mvn-snapshot-id}'
594 properties-content: |
595 NEXUS_CUT_DIRS={nexus-cut-dirs}
596 NEXUS_REPO={nexus-snapshot-repo}
597 - shell: !include-raw-escape:
598 - ../shell/lftools-install.sh
599 - ../shell/maven-fetch-metadata.sh
601 mvn-goals: '{mvn-goals}'
603 - lf-provide-maven-settings-cleanup
609 - trigger-parameterized-builds: '{obj:post_build_trigger}'
612 name: '{project-name}-maven-merge-{stream}'
613 id: gerrit-maven-merge
615 # yamllint disable-line rule:key-duplicates
619 - lf-infra-gerrit-scm:
620 jenkins-ssh-credential: '{jenkins-ssh-credential}'
622 refspec: '$GERRIT_REFSPEC'
623 branch: '$GERRIT_BRANCH'
624 submodule-recursive: '{submodule-recursive}'
625 choosing-strategy: default
628 - timed: '{obj:cron}'
630 server-name: '{gerrit-server-name}'
631 trigger-on: '{obj:gerrit_merge_triggers}'
633 - project-compare-type: ANT
634 project-pattern: '{project}'
636 - branch-compare-type: ANT
637 branch-pattern: '**/{branch}'
638 file-paths: '{obj:gerrit_trigger_file_paths}'
641 name: '{project-name}-maven-merge-{stream}'
642 id: github-maven-merge
644 # yamllint disable-line rule:key-duplicates
648 - lf-infra-properties:
649 build-days-to-keep: '{build-days-to-keep}'
651 url: '{github-url}/{github-org}/{project}'
654 - lf-infra-github-scm:
655 url: '{git-clone-url}{github-org}/{project}'
656 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
658 submodule-recursive: '{submodule-recursive}'
659 choosing-strategy: default
660 jenkins-ssh-credential: '{jenkins-ssh-credential}'
666 - github-pull-request:
667 trigger-phrase: '^remerge$'
668 only-trigger-phrase: true
669 status-context: 'Maven Merge'
674 white-list: '{obj:github_pr_whitelist}'
675 admin-list: '{obj:github_pr_admin_list}'
676 white-list-target-branches:
678 included-regions: '{obj:github_included_regions}'
684 - lf_maven_release: &lf_maven_release
685 name: lf-maven-release
687 ######################
688 # Default parameters #
689 ######################
692 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
695 git-url: '$GIT_URL/$PROJECT'
696 github-url: 'https://github.com'
697 java-version: openjdk8
698 mvn-global-settings: global-settings
699 mvn-goals: clean deploy
704 submodule-recursive: true
706 gerrit_release_triggers:
707 - comment-added-contains-event:
708 comment-contains-value: build release$
710 #####################
711 # Job Configuration #
712 #####################
715 - lf-jacoco-nojava-workaround
717 mvn-version: '{mvn-version}'
718 - lf-update-java-alternatives:
719 java-version: '{java-version}'
720 - lf-provide-maven-settings:
721 global-settings-file: '{mvn-global-settings}'
722 settings-file: '{mvn-settings}'
723 - lf-infra-create-netrc:
724 server-id: '{mvn-staging-id}'
725 - shell: !include-raw-escape:
726 - ../shell/lftools-install.sh
727 - ../shell/maven-patch-release.sh
729 mvn-goals: '{mvn-goals}'
731 - lf-provide-maven-settings-cleanup
734 name: '{project-name}-maven-release-{stream}'
735 id: gerrit-maven-release
737 # yamllint disable-line rule:key-duplicates
738 <<: *lf_maven_release
741 - lf-infra-gerrit-scm:
742 jenkins-ssh-credential: '{jenkins-ssh-credential}'
744 refspec: '$GERRIT_REFSPEC'
745 branch: '$GERRIT_BRANCH'
746 submodule-recursive: '{submodule-recursive}'
747 choosing-strategy: default
750 - timed: '{obj:cron}'
752 server-name: '{gerrit-server-name}'
753 trigger-on: '{obj:gerrit_release_triggers}'
755 - project-compare-type: ANT
756 project-pattern: '{project}'
758 - branch-compare-type: ANT
759 branch-pattern: '**/{branch}'
762 name: '{project-name}-maven-release-{stream}'
763 id: github-maven-release
765 # yamllint disable-line rule:key-duplicates
766 <<: *lf_maven_release
769 - lf-infra-properties:
770 build-days-to-keep: '{build-days-to-keep}'
772 url: '{github-url}/{github-org}/{project}'
775 - lf-infra-github-scm:
776 url: '{git-clone-url}{github-org}/{project}'
777 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
779 submodule-recursive: '{submodule-recursive}'
780 choosing-strategy: default
781 jenkins-ssh-credential: '{jenkins-ssh-credential}'
784 - timed: '{obj:cron}'
785 - github-pull-request:
786 trigger-phrase: '^build release$'
787 only-trigger-phrase: true
788 status-context: 'Maven Release'
791 white-list-target-branches:
798 - lf_maven_sonar: &lf_maven_sonar
801 ######################
802 # Default parameters #
803 ######################
805 branch: master # Sonar should always be run on master branch
806 build-days-to-keep: 7
808 cron: 'H H * * 6' # run weekly
809 git-url: '$GIT_URL/$PROJECT'
810 github-url: 'https://github.com'
811 java-version: openjdk8
812 mvn-global-settings: global-settings
816 sonar-mvn-goal: 'sonar:sonar'
817 staging-profile-id: '' # Unused in this job
819 submodule-recursive: true
821 gerrit_sonar_triggers:
822 - comment-added-contains-event:
823 comment-contains-value: run-sonar$
825 #####################
826 # Job Configuration #
827 #####################
830 - lf-infra-parameters:
834 lftools-version: '{lftools-version}'
835 - lf-infra-maven-parameters:
836 mvn-opts: '{mvn-opts}'
837 mvn-params: '{mvn-params}'
838 mvn-version: '{mvn-version}'
839 # Staging repos do not make sense for Sonar jobs so set it blank.
840 staging-profile-id: ''
842 name: ARCHIVE_ARTIFACTS
843 default: '{archive-artifacts}'
844 description: Artifacts to archive to the logs server.
846 name: SONAR_MAVEN_GOAL
847 default: '{sonar-mvn-goal}'
849 Maven goals to pass to the Sonar call. Typically sonar:sonar
850 however to use a specific version of the sonar-maven-plugin we
851 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
854 - timed: '{obj:cron}'
856 server-name: '{gerrit-server-name}'
857 trigger-on: '{obj:gerrit_sonar_triggers}'
859 - project-compare-type: 'ANT'
860 project-pattern: '{project}'
862 - branch-compare-type: 'ANT'
863 branch-pattern: '**/master'
871 - lf-infra-maven-sonar:
872 java-version: '{java-version}'
873 mvn-settings: '{mvn-settings}'
874 mvn-version: '{mvn-version}'
882 name: lf-infra-maven-sonar
883 # Run a Sonar build with Maven
886 mvn-version: '{mvn-version}'
887 - lf-update-java-alternatives:
888 java-version: '{java-version}'
890 # Switch this to the sonar wrapper when JJB 2.0 is available
891 properties-content: SONAR_HOST_URL=$SONAR_URL
892 - lf-provide-maven-settings:
893 global-settings-file: global-settings
894 settings-file: '{mvn-settings}'
895 - shell: !include-raw-escape:
896 - ../shell/common-variables.sh
897 - ../shell/maven-sonar.sh
898 - lf-provide-maven-settings-cleanup
901 name: '{project-name}-sonar'
902 id: gerrit-maven-sonar
904 # yamllint disable-line rule:key-duplicates
908 - lf-infra-gerrit-scm:
909 jenkins-ssh-credential: '{jenkins-ssh-credential}'
911 refspec: $GERRIT_REFSPEC
912 branch: $GERRIT_BRANCH
913 submodule-recursive: '{submodule-recursive}'
914 choosing-strategy: default
917 name: '{project-name}-sonar'
918 id: github-maven-sonar
920 # yamllint disable-line rule:key-duplicates
924 - lf-infra-properties:
925 build-days-to-keep: '{build-days-to-keep}'
927 url: '{github-url}/{github-org}/{project}'
930 - lf-infra-github-scm:
931 url: '{git-clone-url}{github-org}/{project}'
932 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
934 submodule-recursive: '{submodule-recursive}'
935 choosing-strategy: default
936 jenkins-ssh-credential: '{jenkins-ssh-credential}'
939 - github-pull-request:
940 trigger-phrase: '^run-sonar$'
941 only-trigger-phrase: false
942 status-context: 'Maven Sonar'
945 white-list-target-branches:
952 - lf_maven_verify: &lf_maven_verify
953 name: lf-maven-verify
955 ######################
956 # Default parameters #
957 ######################
960 build-days-to-keep: 7
962 git-url: '$GIT_URL/$PROJECT'
963 github-url: 'https://github.com'
964 java-version: openjdk8
965 mvn-global-settings: global-settings
966 mvn-goals: clean deploy
968 mvn-params: '-Dstream=$STREAM'
970 staging-profile-id: '' # Unused in this job
972 submodule-recursive: true
974 gerrit_verify_triggers:
975 - patchset-created-event:
977 exclude-trivial-rebase: false
978 exclude-no-code-change: false
979 - draft-published-event
980 - comment-added-contains-event:
981 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
983 gerrit_trigger_file_paths:
984 - compare-type: REG_EXP
987 # github_included_regions MUST match gerrit_trigger_file_paths
988 github_included_regions:
991 #####################
992 # Job Configuration #
993 #####################
998 - lf-jacoco-nojava-workaround
1000 mvn-version: '{mvn-version}'
1001 - lf-update-java-alternatives:
1002 java-version: '{java-version}'
1003 - lf-provide-maven-settings:
1004 global-settings-file: '{mvn-global-settings}'
1005 settings-file: '{mvn-settings}'
1006 - shell: !include-raw-escape:
1007 - ../shell/lftools-install.sh
1009 mvn-goals: '{mvn-goals}'
1010 - lf-provide-maven-settings-cleanup
1018 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1019 id: gerrit-maven-verify
1020 <<: *lf_maven_common
1021 # yamllint disable-line rule:key-duplicates
1022 <<: *lf_maven_verify
1025 - lf-infra-gerrit-scm:
1026 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1027 git-url: '{git-url}'
1028 refspec: '$GERRIT_REFSPEC'
1029 branch: '$GERRIT_BRANCH'
1030 submodule-recursive: '{submodule-recursive}'
1031 choosing-strategy: gerrit
1035 server-name: '{gerrit-server-name}'
1036 trigger-on: '{obj:gerrit_verify_triggers}'
1038 - project-compare-type: ANT
1039 project-pattern: '{project}'
1041 - branch-compare-type: ANT
1042 branch-pattern: '**/{branch}'
1043 file-paths: '{obj:gerrit_trigger_file_paths}'
1046 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1047 id: github-maven-verify
1048 <<: *lf_maven_common
1049 # yamllint disable-line rule:key-duplicates
1050 <<: *lf_maven_verify
1053 - lf-infra-properties:
1054 build-days-to-keep: '{build-days-to-keep}'
1056 url: '{github-url}/{github-org}/{project}'
1059 - lf-infra-github-scm:
1060 url: '{git-clone-url}{github-org}/{project}'
1061 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1063 submodule-recursive: '{submodule-recursive}'
1064 choosing-strategy: default
1065 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1068 - github-pull-request:
1069 trigger-phrase: '^(recheck|reverify)$'
1070 only-trigger-phrase: false
1071 status-context: 'Maven Verify'
1074 white-list-target-branches:
1076 included-regions: '{obj:github_included_regions}'
1078 #############################
1079 # Maven Verify Dependencies #
1080 #############################
1082 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1083 name: lf-maven-verify-dependencies
1085 ######################
1086 # Default parameters #
1087 ######################
1090 build-days-to-keep: 7
1092 git-url: '$GIT_URL/$PROJECT'
1093 github-url: 'https://github.com'
1094 java-version: openjdk8
1095 mvn-global-settings: global-settings
1096 mvn-goals: clean deploy
1098 mvn-params: '-Dstream=$STREAM'
1100 staging-profile-id: '' # Unused by this job
1102 submodule-recursive: true
1104 gerrit_verify_triggers:
1105 - comment-added-contains-event:
1106 comment-contains-value: 'recheck: [0-9 ]+'
1107 gerrit_trigger_file_paths:
1111 #####################
1112 # Job Configuration #
1113 #####################
1118 - lf-jacoco-nojava-workaround
1120 mvn-version: '{mvn-version}'
1121 - lf-update-java-alternatives:
1122 java-version: '{java-version}'
1123 - lf-provide-maven-settings:
1124 global-settings-file: '{mvn-global-settings}'
1125 settings-file: '{mvn-settings}'
1126 - lf-fetch-dependent-patches
1127 - shell: !include-raw-escape:
1128 - ../shell/common-variables.sh
1129 - ../shell/maven-build-deps.sh
1131 mvn-goals: '{mvn-goals}'
1132 - lf-provide-maven-settings-cleanup
1140 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1141 id: gerrit-maven-verify-dependencies
1142 <<: *lf_maven_common
1143 # yamllint disable-line rule:key-duplicates
1144 <<: *lf_maven_verify_dependencies
1147 - lf-infra-gerrit-scm:
1148 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1149 git-url: '{git-url}'
1150 refspec: '$GERRIT_REFSPEC'
1151 branch: '$GERRIT_BRANCH'
1152 submodule-recursive: '{submodule-recursive}'
1153 choosing-strategy: gerrit
1157 server-name: '{gerrit-server-name}'
1158 trigger-on: '{obj:gerrit_verify_triggers}'
1160 - project-compare-type: ANT
1161 project-pattern: '{project}'
1163 - branch-compare-type: ANT
1164 branch-pattern: '**/{branch}'
1165 file-paths: '{obj:gerrit_trigger_file_paths}'