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}'
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: '{obj: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: true
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
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}'
663 - timed: '{obj:cron}'
667 - github-pull-request:
668 trigger-phrase: '^remerge$'
669 only-trigger-phrase: true
670 status-context: 'Maven Merge'
675 white-list: '{obj:github_pr_whitelist}'
676 admin-list: '{obj:github_pr_admin_list}'
677 white-list-target-branches:
679 included-regions: '{obj:github_included_regions}'
685 - lf_maven_stage: &lf_maven_stage
688 ######################
689 # Default parameters #
690 ######################
693 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
696 git-url: '$GIT_URL/$PROJECT'
697 github-url: 'https://github.com'
698 java-version: openjdk8
699 mvn-global-settings: global-settings
700 mvn-goals: clean deploy
705 submodule-recursive: true
707 gerrit_release_triggers:
708 - comment-added-contains-event:
709 comment-contains-value: stage-release$
711 #####################
712 # Job Configuration #
713 #####################
716 - lf-jacoco-nojava-workaround
718 mvn-version: '{mvn-version}'
719 - lf-update-java-alternatives:
720 java-version: '{java-version}'
721 - lf-provide-maven-settings:
722 global-settings-file: '{mvn-global-settings}'
723 settings-file: '{mvn-settings}'
724 - lf-infra-create-netrc:
725 server-id: '{mvn-staging-id}'
726 - shell: !include-raw-escape:
727 - ../shell/lftools-install.sh
728 - ../shell/maven-patch-release.sh
730 mvn-goals: '{mvn-goals}'
732 - lf-provide-maven-settings-cleanup
735 name: '{project-name}-maven-stage-{stream}'
736 id: gerrit-maven-stage
738 # yamllint disable-line rule:key-duplicates
742 - lf-infra-gerrit-scm:
743 jenkins-ssh-credential: '{jenkins-ssh-credential}'
745 refspec: '$GERRIT_REFSPEC'
746 branch: '$GERRIT_BRANCH'
747 submodule-recursive: '{submodule-recursive}'
748 choosing-strategy: default
751 - timed: '{obj:cron}'
753 server-name: '{gerrit-server-name}'
754 trigger-on: '{obj:gerrit_release_triggers}'
756 - project-compare-type: ANT
757 project-pattern: '{project}'
759 - branch-compare-type: ANT
760 branch-pattern: '**/{branch}'
763 name: '{project-name}-maven-stage-{stream}'
764 id: github-maven-stage
766 # yamllint disable-line rule:key-duplicates
770 - lf-infra-properties:
771 build-days-to-keep: '{build-days-to-keep}'
773 url: '{github-url}/{github-org}/{project}'
776 - lf-infra-github-scm:
777 url: '{git-clone-url}{github-org}/{project}'
778 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
780 submodule-recursive: '{submodule-recursive}'
781 choosing-strategy: default
782 jenkins-ssh-credential: '{jenkins-ssh-credential}'
785 - timed: '{obj:cron}'
786 - github-pull-request:
787 trigger-phrase: '^build release$'
788 only-trigger-phrase: true
789 status-context: 'Maven Release'
792 white-list-target-branches:
799 - lf_maven_sonar: &lf_maven_sonar
802 ######################
803 # Default parameters #
804 ######################
806 branch: master # Sonar should always be run on master branch
807 build-days-to-keep: 7
809 cron: 'H H * * 6' # run weekly
810 git-url: '$GIT_URL/$PROJECT'
811 github-url: 'https://github.com'
812 java-version: openjdk8
813 mvn-global-settings: global-settings
817 sonar-mvn-goal: 'sonar:sonar'
818 staging-profile-id: '' # Unused in this job
820 submodule-recursive: true
822 gerrit_sonar_triggers:
823 - comment-added-contains-event:
824 comment-contains-value: run-sonar$
826 #####################
827 # Job Configuration #
828 #####################
831 - lf-infra-parameters:
835 lftools-version: '{lftools-version}'
836 - lf-infra-maven-parameters:
837 mvn-opts: '{mvn-opts}'
838 mvn-params: '{mvn-params}'
839 mvn-version: '{mvn-version}'
840 # Staging repos do not make sense for Sonar jobs so set it blank.
841 staging-profile-id: ''
843 name: ARCHIVE_ARTIFACTS
844 default: '{archive-artifacts}'
845 description: Artifacts to archive to the logs server.
847 name: SONAR_MAVEN_GOAL
848 default: '{sonar-mvn-goal}'
850 Maven goals to pass to the Sonar call. Typically sonar:sonar
851 however to use a specific version of the sonar-maven-plugin we
852 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
855 - timed: '{obj:cron}'
857 server-name: '{gerrit-server-name}'
858 trigger-on: '{obj:gerrit_sonar_triggers}'
860 - project-compare-type: 'ANT'
861 project-pattern: '{project}'
863 - branch-compare-type: 'ANT'
864 branch-pattern: '**/master'
872 - lf-infra-maven-sonar:
873 java-version: '{java-version}'
874 mvn-settings: '{mvn-settings}'
875 mvn-version: '{mvn-version}'
883 name: lf-infra-maven-sonar
884 # Run a Sonar build with Maven
887 mvn-version: '{mvn-version}'
888 - lf-update-java-alternatives:
889 java-version: '{java-version}'
891 # Switch this to the sonar wrapper when JJB 2.0 is available
892 properties-content: SONAR_HOST_URL=$SONAR_URL
893 - lf-provide-maven-settings:
894 global-settings-file: global-settings
895 settings-file: '{mvn-settings}'
896 - shell: !include-raw-escape:
897 - ../shell/common-variables.sh
898 - ../shell/maven-sonar.sh
899 - lf-provide-maven-settings-cleanup
902 name: '{project-name}-sonar'
903 id: gerrit-maven-sonar
905 # yamllint disable-line rule:key-duplicates
909 - lf-infra-gerrit-scm:
910 jenkins-ssh-credential: '{jenkins-ssh-credential}'
912 refspec: $GERRIT_REFSPEC
913 branch: $GERRIT_BRANCH
914 submodule-recursive: '{submodule-recursive}'
915 choosing-strategy: default
918 name: '{project-name}-sonar'
919 id: github-maven-sonar
921 # yamllint disable-line rule:key-duplicates
925 - lf-infra-properties:
926 build-days-to-keep: '{build-days-to-keep}'
928 url: '{github-url}/{github-org}/{project}'
931 - lf-infra-github-scm:
932 url: '{git-clone-url}{github-org}/{project}'
933 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
935 submodule-recursive: '{submodule-recursive}'
936 choosing-strategy: default
937 jenkins-ssh-credential: '{jenkins-ssh-credential}'
940 - github-pull-request:
941 trigger-phrase: '^run-sonar$'
942 only-trigger-phrase: false
943 status-context: 'Maven Sonar'
946 white-list-target-branches:
953 - lf_maven_verify: &lf_maven_verify
954 name: lf-maven-verify
956 ######################
957 # Default parameters #
958 ######################
961 build-days-to-keep: 7
963 git-url: '$GIT_URL/$PROJECT'
964 github-url: 'https://github.com'
965 java-version: openjdk8
966 mvn-global-settings: global-settings
967 mvn-goals: clean deploy
969 mvn-params: '-Dstream=$STREAM'
971 staging-profile-id: '' # Unused in this job
973 submodule-recursive: true
975 gerrit_verify_triggers:
976 - patchset-created-event:
978 exclude-trivial-rebase: false
979 exclude-no-code-change: false
980 - draft-published-event
981 - comment-added-contains-event:
982 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
984 gerrit_trigger_file_paths:
985 - compare-type: REG_EXP
988 # github_included_regions MUST match gerrit_trigger_file_paths
989 github_included_regions:
992 #####################
993 # Job Configuration #
994 #####################
999 - lf-jacoco-nojava-workaround
1001 mvn-version: '{mvn-version}'
1002 - lf-update-java-alternatives:
1003 java-version: '{java-version}'
1004 - lf-provide-maven-settings:
1005 global-settings-file: '{mvn-global-settings}'
1006 settings-file: '{mvn-settings}'
1007 - shell: !include-raw-escape:
1008 - ../shell/lftools-install.sh
1010 mvn-goals: '{mvn-goals}'
1011 - lf-provide-maven-settings-cleanup
1019 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1020 id: gerrit-maven-verify
1021 <<: *lf_maven_common
1022 # yamllint disable-line rule:key-duplicates
1023 <<: *lf_maven_verify
1026 - lf-infra-gerrit-scm:
1027 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1028 git-url: '{git-url}'
1029 refspec: '$GERRIT_REFSPEC'
1030 branch: '$GERRIT_BRANCH'
1031 submodule-recursive: '{submodule-recursive}'
1032 choosing-strategy: gerrit
1036 server-name: '{gerrit-server-name}'
1037 trigger-on: '{obj:gerrit_verify_triggers}'
1039 - project-compare-type: ANT
1040 project-pattern: '{project}'
1042 - branch-compare-type: ANT
1043 branch-pattern: '**/{branch}'
1044 file-paths: '{obj:gerrit_trigger_file_paths}'
1047 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1048 id: github-maven-verify
1049 <<: *lf_maven_common
1050 # yamllint disable-line rule:key-duplicates
1051 <<: *lf_maven_verify
1054 - lf-infra-properties:
1055 build-days-to-keep: '{build-days-to-keep}'
1057 url: '{github-url}/{github-org}/{project}'
1060 - lf-infra-github-scm:
1061 url: '{git-clone-url}{github-org}/{project}'
1062 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1064 submodule-recursive: '{submodule-recursive}'
1065 choosing-strategy: default
1066 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1069 - github-pull-request:
1070 trigger-phrase: '^(recheck|reverify)$'
1071 only-trigger-phrase: false
1072 status-context: 'Maven Verify'
1075 white-list-target-branches:
1077 included-regions: '{obj:github_included_regions}'
1079 #############################
1080 # Maven Verify Dependencies #
1081 #############################
1083 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1084 name: lf-maven-verify-dependencies
1086 ######################
1087 # Default parameters #
1088 ######################
1091 build-days-to-keep: 7
1093 git-url: '$GIT_URL/$PROJECT'
1094 github-url: 'https://github.com'
1095 java-version: openjdk8
1096 mvn-global-settings: global-settings
1097 mvn-goals: clean deploy
1099 mvn-params: '-Dstream=$STREAM'
1101 staging-profile-id: '' # Unused by this job
1103 submodule-recursive: true
1105 gerrit_verify_triggers:
1106 - comment-added-contains-event:
1107 comment-contains-value: 'recheck: [0-9 ]+'
1108 gerrit_trigger_file_paths:
1112 #####################
1113 # Job Configuration #
1114 #####################
1119 - lf-jacoco-nojava-workaround
1121 mvn-version: '{mvn-version}'
1122 - lf-update-java-alternatives:
1123 java-version: '{java-version}'
1124 - lf-provide-maven-settings:
1125 global-settings-file: '{mvn-global-settings}'
1126 settings-file: '{mvn-settings}'
1127 - lf-fetch-dependent-patches
1128 - shell: !include-raw-escape:
1129 - ../shell/common-variables.sh
1130 - ../shell/maven-build-deps.sh
1132 mvn-goals: '{mvn-goals}'
1133 - lf-provide-maven-settings-cleanup
1141 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1142 id: gerrit-maven-verify-dependencies
1143 <<: *lf_maven_common
1144 # yamllint disable-line rule:key-duplicates
1145 <<: *lf_maven_verify_dependencies
1148 - lf-infra-gerrit-scm:
1149 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1150 git-url: '{git-url}'
1151 refspec: '$GERRIT_REFSPEC'
1152 branch: '$GERRIT_BRANCH'
1153 submodule-recursive: '{submodule-recursive}'
1154 choosing-strategy: gerrit
1158 server-name: '{gerrit-server-name}'
1159 trigger-on: '{obj:gerrit_verify_triggers}'
1161 - project-compare-type: ANT
1162 project-pattern: '{project}'
1164 - branch-compare-type: ANT
1165 branch-pattern: '**/{branch}'
1166 file-paths: '{obj:gerrit_trigger_file_paths}'