2 # This file contains job templates for Maven projects.
12 properties-content: 'MAVEN_GOALS={mvn-goals}'
13 - shell: !include-raw-escape:
14 - ../shell/common-variables.sh
15 - ../shell/maven-build.sh
20 - shell: !include-raw:
21 - ../shell/common-variables.sh
22 - ../shell/maven-deploy.sh
27 # include-raw-escape fails due to JJB bug
28 - shell: !include-raw:
29 - ../shell/common-variables.sh
30 - ../shell/maven-stage.sh
33 name: lf-update-java-alternatives
36 # Work around inject plugin overriding our GIT_URL variable incorrectly
37 # https://issues.jenkins-ci.org/browse/JENKINS-49775
39 SET_JDK_VERSION={java-version}
41 - shell: !include-raw-escape: ../shell/update-java-alternatives.sh
43 properties-file: '/tmp/java.env'
49 - lf_maven_common: &lf_maven_common
52 ######################
53 # Default parameters #
54 ######################
59 **/target/**/feature.xml
60 **/target/failsafe-reports/failsafe-summary.xml
61 **/target/surefire-reports/*-output.txt
67 project-type: freestyle
71 - lf-infra-properties:
72 build-days-to-keep: '{build-days-to-keep}'
75 - lf-infra-parameters:
79 - lf-infra-maven-parameters:
80 mvn-opts: '{mvn-opts}'
81 mvn-params: '{mvn-params}'
82 mvn-version: '{mvn-version}'
84 name: ARCHIVE_ARTIFACTS
85 default: '{archive-artifacts}'
86 description: Artifacts to archive to the logs server.
90 build-timeout: '{build-timeout}'
91 jenkins-ssh-credential: '{jenkins-ssh-credential}'
94 # TODO: Make email notification work.
95 # - lf-infra-email-notify:
96 # email-recipients: '{email-recipients}'
97 # email-prefix: '[releng]'
104 - lf_maven_clm: &lf_maven_clm
107 ######################
108 # Default parameters #
109 ######################
112 build-days-to-keep: 30 # 30 days for troubleshooting purposes
115 git-url: '$GIT_URL/$PROJECT'
116 github-url: 'https://github.com'
117 java-version: openjdk8
118 mvn-global-settings: global-settings
122 nexus-iq-namespace: '' # Recommend a trailing dash when set. Example: odl-
123 nexus-iq-stage: 'build'
125 submodule-recursive: true
126 submodule-timeout: 10
128 nexus_iq_scan_patterns:
136 - comment-added-contains-event:
137 comment-contains-value: run-clm$
140 - lf-infra-parameters:
144 - lf-infra-maven-parameters:
145 mvn-opts: '{mvn-opts}'
146 mvn-params: '{mvn-params}'
147 mvn-version: '{mvn-version}'
149 name: ARCHIVE_ARTIFACTS
150 default: '{archive-artifacts}'
151 description: Artifacts to archive to the logs server.
153 nexus-iq-stage: '{nexus-iq-stage}'
155 #####################
156 # Job Configuration #
157 #####################
159 disabled: '{disable-job}'
164 mvn-version: '{mvn-version}'
165 - lf-update-java-alternatives:
166 java-version: '{java-version}'
167 - lf-provide-maven-settings:
168 global-settings-file: '{mvn-global-settings}'
169 settings-file: '{mvn-settings}'
170 - shell: !include-raw-escape:
171 - ../shell/common-variables.sh
172 - ../shell/sonatype-clm.sh
173 - lf-provide-maven-settings-cleanup
174 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
175 - nexus-iq-policy-evaluator:
176 stage: '{nexus-iq-stage}'
177 application-type: 'manual'
178 application-id: '{nexus-iq-namespace}{project-name}'
179 scan-patterns: '{obj:nexus_iq_scan_patterns}'
180 fail-build-network-error: true
183 name: '{project-name}-maven-clm-{stream}'
186 # yamllint disable-line rule:key-duplicates
190 - lf-infra-gerrit-scm:
191 jenkins-ssh-credential: '{jenkins-ssh-credential}'
193 refspec: '$GERRIT_REFSPEC'
194 branch: '$GERRIT_BRANCH'
195 submodule-recursive: '{submodule-recursive}'
196 submodule-timeout: '{submodule-timeout}'
197 choosing-strategy: default
200 # Build weekly on Saturdays
203 server-name: '{gerrit-server-name}'
204 trigger-on: '{obj:gerrit_clm_triggers}'
206 - project-compare-type: ANT
207 project-pattern: '{project}'
209 - branch-compare-type: ANT
210 branch-pattern: '**/{branch}'
218 name: '{project-name}-maven-clm-{stream}'
221 # yamllint disable-line rule:key-duplicates
225 - lf-infra-properties:
226 build-days-to-keep: '{build-days-to-keep}'
228 url: '{github-url}/{github-org}/{project}'
231 - lf-infra-github-scm:
232 url: '{git-clone-url}{github-org}/{project}'
234 branch: 'refs/heads/{branch}'
235 submodule-recursive: '{submodule-recursive}'
236 submodule-timeout: '{submodule-timeout}'
237 choosing-strategy: default
238 jenkins-ssh-credential: '{jenkins-ssh-credential}'
241 # Build weekly on Saturdays
243 - github-pull-request:
244 trigger-phrase: '^run-clm$'
245 only-trigger-phrase: true
246 status-context: 'CLM'
251 white-list: '{obj:github_pr_whitelist}'
252 admin-list: '{obj:github_pr_admin_list}'
253 white-list-target-branches:
256 #########################
257 # Maven Javadoc Publish #
258 #########################
260 - lf_maven_javadoc_publish: &lf_maven_javadoc_publish
261 name: lf-maven-javadoc-publish
263 ######################
264 # Default parameters #
265 ######################
268 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
271 git-url: '$GIT_URL/$PROJECT'
272 github-url: 'https://github.com'
273 java-version: openjdk8
274 mvn-global-settings: global-settings
279 submodule-recursive: true
280 submodule-timeout: 10
282 gerrit_merge_triggers:
283 - change-merged-event
284 - comment-added-contains-event:
285 comment-contains-value: remerge$
287 #####################
288 # Job Configuration #
289 #####################
291 disabled: '{disable-job}'
296 mvn-version: '{mvn-version}'
297 - lf-update-java-alternatives:
298 java-version: '{java-version}'
299 - lf-provide-maven-settings:
300 global-settings-file: '{mvn-global-settings}'
301 settings-file: '{mvn-settings}'
302 - lf-infra-create-netrc:
303 server-id: '{mvn-site-id}'
305 properties-content: 'DEPLOY_PATH={javadoc-path}'
306 - shell: !include-raw-escape:
307 - ../shell/common-variables.sh
308 - ../shell/maven-javadoc-generate.sh
309 - ../shell/maven-javadoc-publish.sh
310 - lf-provide-maven-settings-cleanup
313 name: '{project-name}-maven-javadoc-publish-{stream}'
314 id: gerrit-maven-javadoc-publish
316 # yamllint disable-line rule:key-duplicates
317 <<: *lf_maven_javadoc_publish
319 git-url: '$GIT_URL/$GERRIT_PROJECT'
322 - lf-infra-gerrit-scm:
326 submodule-recursive: '{submodule-recursive}'
327 submodule-timeout: '{submodule-timeout}'
328 choosing-strategy: default
329 jenkins-ssh-credential: '{jenkins-ssh-credential}'
333 server-name: '{gerrit-server-name}'
334 trigger-on: '{obj:gerrit_merge_triggers}'
336 - project-compare-type: ANT
337 project-pattern: '{project}'
339 - branch-compare-type: ANT
340 branch-pattern: '**/{branch}'
343 name: '{project-name}-maven-javadoc-publish-{stream}'
344 id: github-maven-javadoc-publish
346 # yamllint disable-line rule:key-duplicates
347 <<: *lf_maven_javadoc_publish
350 - lf-infra-properties:
351 build-days-to-keep: '{build-days-to-keep}'
353 url: '{github-url}/{github-org}/{project}'
356 - lf-infra-github-scm:
357 url: '{git-clone-url}{github-org}/{project}'
360 submodule-recursive: '{submodule-recursive}'
361 submodule-timeout: '{submodule-timeout}'
362 choosing-strategy: default
363 jenkins-ssh-credential: '{jenkins-ssh-credential}'
369 - github-pull-request:
370 trigger-phrase: '^remerge$'
371 only-trigger-phrase: true
372 status-context: 'Maven Javadoc Publish'
377 white-list: '{obj:github_pr_whitelist}'
378 admin-list: '{obj:github_pr_admin_list}'
379 white-list-target-branches:
382 ########################
383 # Maven Javadoc Verify #
384 ########################
386 - lf_maven_javadoc_verify: &lf_maven_javadoc_verify
387 name: lf-maven-javadoc-verify
389 ######################
390 # Default parameters #
391 ######################
394 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
397 git-url: '$GIT_URL/$PROJECT'
398 github-url: 'https://github.com'
399 java-version: openjdk8
400 mvn-global-settings: global-settings
405 submodule-recursive: true
406 submodule-timeout: 10
408 gerrit_verify_triggers:
409 - patchset-created-event:
411 exclude-trivial-rebase: false
412 exclude-no-code-change: false
413 - draft-published-event
414 - comment-added-contains-event:
415 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
417 #####################
418 # Job Configuration #
419 #####################
422 disabled: '{disable-job}'
427 mvn-version: '{mvn-version}'
428 - lf-update-java-alternatives:
429 java-version: '{java-version}'
430 - lf-provide-maven-settings:
431 global-settings-file: '{mvn-global-settings}'
432 settings-file: '{mvn-settings}'
433 - shell: !include-raw-escape:
434 - ../shell/common-variables.sh
435 - ../shell/maven-javadoc-generate.sh
436 - lf-provide-maven-settings-cleanup
439 name: '{project-name}-maven-javadoc-verify-{stream}'
440 id: gerrit-maven-javadoc-verify
442 # yamllint disable-line rule:key-duplicates
443 <<: *lf_maven_javadoc_verify
446 - lf-infra-gerrit-scm:
447 jenkins-ssh-credential: '{jenkins-ssh-credential}'
449 refspec: '$GERRIT_REFSPEC'
450 branch: '$GERRIT_BRANCH'
451 submodule-recursive: '{submodule-recursive}'
452 submodule-timeout: '{submodule-timeout}'
453 choosing-strategy: gerrit
457 server-name: '{gerrit-server-name}'
458 trigger-on: '{obj:gerrit_verify_triggers}'
460 - project-compare-type: ANT
461 project-pattern: '{project}'
463 - branch-compare-type: ANT
464 branch-pattern: '**/{branch}'
467 name: '{project-name}-maven-javadoc-verify-{stream}'
468 id: github-maven-javadoc-verify
470 # yamllint disable-line rule:key-duplicates
471 <<: *lf_maven_javadoc_verify
474 - lf-infra-properties:
475 build-days-to-keep: '{build-days-to-keep}'
477 url: '{github-url}/{github-org}/{project}'
480 - lf-infra-github-scm:
481 url: '{git-clone-url}{github-org}/{project}'
482 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
484 submodule-recursive: '{submodule-recursive}'
485 submodule-timeout: '{submodule-timeout}'
486 choosing-strategy: default
487 jenkins-ssh-credential: '{jenkins-ssh-credential}'
490 - github-pull-request:
491 trigger-phrase: ^(recheck|reverify)$
492 only-trigger-phrase: false
493 status-context: 'Maven Javadoc Verify'
496 white-list-target-branches:
503 - lf_maven_merge: &lf_maven_merge
506 ######################
507 # Default parameters #
508 ######################
511 build-days-to-keep: 30 # 30 days in case we need to troubleshoot
515 git-url: '$GIT_URL/$PROJECT'
516 github-url: 'https://github.com'
517 java-version: openjdk8
518 mvn-global-settings: global-settings
519 mvn-goals: clean deploy
521 mvn-params: '-Dmerge'
523 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
525 submodule-recursive: true
526 submodule-timeout: 10
528 gerrit_merge_triggers:
529 - change-merged-event
530 - comment-added-contains-event:
531 comment-contains-value: remerge$
533 gerrit_trigger_file_paths:
534 - compare-type: REG_EXP
537 # github_included_regions MUST match gerrit_trigger_file_paths
538 github_included_regions:
541 post_build_trigger: ''
543 #####################
544 # Job Configuration #
545 #####################
547 disabled: '{disable-job}'
551 - lf-jacoco-nojava-workaround
553 mvn-version: '{mvn-version}'
554 - lf-update-java-alternatives:
555 java-version: '{java-version}'
556 - lf-provide-maven-settings:
557 global-settings-file: '{mvn-global-settings}'
558 settings-file: '{mvn-settings}'
559 - lf-infra-create-netrc:
560 server-id: '{mvn-snapshot-id}'
562 properties-content: |
563 NEXUS_CUT_DIRS={nexus-cut-dirs}
564 NEXUS_REPO={nexus-snapshot-repo}
565 - shell: !include-raw-escape: ../shell/maven-fetch-metadata.sh
567 mvn-goals: '{mvn-goals}'
569 - lf-provide-maven-settings-cleanup
575 - trigger-parameterized-builds: '{obj:post_build_trigger}'
578 name: '{project-name}-maven-merge-{stream}'
579 id: gerrit-maven-merge
581 # yamllint disable-line rule:key-duplicates
585 - lf-infra-gerrit-scm:
586 jenkins-ssh-credential: '{jenkins-ssh-credential}'
588 refspec: '$GERRIT_REFSPEC'
589 branch: '$GERRIT_BRANCH'
590 submodule-recursive: '{submodule-recursive}'
591 submodule-timeout: '{submodule-timeout}'
592 choosing-strategy: default
595 - timed: '{obj:cron}'
597 server-name: '{gerrit-server-name}'
598 trigger-on: '{obj:gerrit_merge_triggers}'
600 - project-compare-type: ANT
601 project-pattern: '{project}'
603 - branch-compare-type: ANT
604 branch-pattern: '**/{branch}'
605 file-paths: '{obj:gerrit_trigger_file_paths}'
608 name: '{project-name}-maven-merge-{stream}'
609 id: github-maven-merge
611 # yamllint disable-line rule:key-duplicates
615 - lf-infra-properties:
616 build-days-to-keep: '{build-days-to-keep}'
618 url: '{github-url}/{github-org}/{project}'
621 - lf-infra-github-scm:
622 url: '{git-clone-url}{github-org}/{project}'
624 branch: 'refs/heads/{branch}'
625 submodule-recursive: '{submodule-recursive}'
626 submodule-timeout: '{submodule-timeout}'
627 choosing-strategy: default
628 jenkins-ssh-credential: '{jenkins-ssh-credential}'
631 - timed: '{obj:cron}'
635 - github-pull-request:
636 trigger-phrase: '^remerge$'
637 only-trigger-phrase: true
638 status-context: 'Maven Merge'
643 white-list: '{obj:github_pr_whitelist}'
644 admin-list: '{obj:github_pr_admin_list}'
645 white-list-target-branches:
647 included-regions: '{obj:github_included_regions}'
653 - lf_maven_stage: &lf_maven_stage
656 ######################
657 # Default parameters #
658 ######################
661 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
665 git-url: '$GIT_URL/$PROJECT'
666 github-url: 'https://github.com'
667 java-version: openjdk8
669 mvn-global-settings: global-settings
670 mvn-goals: clean deploy
675 sign-artifacts: false
677 submodule-recursive: true
678 submodule-timeout: 10
680 gerrit_release_triggers:
681 - comment-added-contains-event:
682 comment-contains-value: stage-release$
684 #####################
685 # Job Configuration #
686 #####################
688 disabled: '{disable-job}'
691 - lf-infra-parameters:
695 - lf-infra-maven-parameters:
696 mvn-opts: '{mvn-opts}'
697 mvn-params: '{mvn-params}'
698 mvn-version: '{mvn-version}'
699 staging-profile-id: '{staging-profile-id}'
701 name: ARCHIVE_ARTIFACTS
702 default: '{archive-artifacts}'
703 description: Artifacts to archive to the logs server.
705 name: STAGING_PROFILE_ID
706 default: '{staging-profile-id}'
707 description: Nexus staging profile ID.
711 - lf-jacoco-nojava-workaround
713 mvn-version: '{mvn-version}'
714 - lf-update-java-alternatives:
715 java-version: '{java-version}'
716 - lf-provide-maven-settings:
717 global-settings-file: '{mvn-global-settings}'
718 settings-file: '{mvn-settings}'
719 - lf-infra-create-netrc:
720 server-id: '{mvn-staging-id}'
721 - shell: !include-raw-escape: ../shell/maven-patch-release.sh
723 mvn-goals: '{mvn-goals}'
725 sign-artifacts: '{sign-artifacts}'
726 sign-dir: '$WORKSPACE/m2repo'
729 mvn-central: '{mvn-central}'
730 ossrh-profile-id: '{ossrh-profile-id}'
731 - lf-provide-maven-settings-cleanup
734 name: '{project-name}-maven-stage-{stream}'
735 id: gerrit-maven-stage
737 # yamllint disable-line rule:key-duplicates
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 submodule-timeout: '{submodule-timeout}'
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 submodule-timeout: '{submodule-timeout}'
782 choosing-strategy: default
783 jenkins-ssh-credential: '{jenkins-ssh-credential}'
786 - timed: '{obj:cron}'
787 - github-pull-request:
788 trigger-phrase: '^build release$'
789 only-trigger-phrase: true
790 status-context: 'Maven Release'
793 white-list-target-branches:
800 - lf_maven_sonar: &lf_maven_sonar
803 ######################
804 # Default parameters #
805 ######################
807 branch: master # Sonar should always be run on master branch
808 build-days-to-keep: 7
810 cron: 'H H * * 6' # run weekly
812 git-url: '$GIT_URL/$PROJECT'
813 github-url: 'https://github.com'
814 java-version: openjdk8
815 mvn-global-settings: global-settings
819 sonar-mvn-goal: 'sonar:sonar'
821 submodule-recursive: true
822 submodule-timeout: 10
824 gerrit_sonar_triggers:
825 - comment-added-contains-event:
826 comment-contains-value: run-sonar$
828 #####################
829 # Job Configuration #
830 #####################
832 disabled: '{disable-job}'
835 - lf-infra-parameters:
839 - lf-infra-maven-parameters:
840 mvn-opts: '{mvn-opts}'
841 mvn-params: '{mvn-params}'
842 mvn-version: '{mvn-version}'
844 name: ARCHIVE_ARTIFACTS
845 default: '{archive-artifacts}'
846 description: Artifacts to archive to the logs server.
848 name: SONAR_MAVEN_GOAL
849 default: '{sonar-mvn-goal}'
851 Maven goals to pass to the Sonar call. Typically sonar:sonar
852 however to use a specific version of the sonar-maven-plugin we
853 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
856 - timed: '{obj:cron}'
858 server-name: '{gerrit-server-name}'
859 trigger-on: '{obj:gerrit_sonar_triggers}'
861 - project-compare-type: 'ANT'
862 project-pattern: '{project}'
864 - branch-compare-type: 'ANT'
865 branch-pattern: '**/master'
874 - lf-infra-maven-sonar:
875 java-version: '{java-version}'
876 mvn-settings: '{mvn-settings}'
877 mvn-version: '{mvn-version}'
885 name: lf-infra-maven-sonar
886 # Run a Sonar build with Maven
889 mvn-version: '{mvn-version}'
890 - lf-update-java-alternatives:
891 java-version: '{java-version}'
893 # Switch this to the sonar wrapper when JJB 2.0 is available
894 properties-content: SONAR_HOST_URL=$SONAR_URL
895 - lf-provide-maven-settings:
896 global-settings-file: global-settings
897 settings-file: '{mvn-settings}'
898 - shell: !include-raw-escape:
899 - ../shell/common-variables.sh
900 - ../shell/maven-sonar.sh
901 - lf-provide-maven-settings-cleanup
904 name: '{project-name}-sonar'
905 id: gerrit-maven-sonar
907 # yamllint disable-line rule:key-duplicates
911 - lf-infra-gerrit-scm:
912 jenkins-ssh-credential: '{jenkins-ssh-credential}'
914 refspec: $GERRIT_REFSPEC
915 branch: $GERRIT_BRANCH
916 submodule-recursive: '{submodule-recursive}'
917 submodule-timeout: '{submodule-timeout}'
918 choosing-strategy: default
921 name: '{project-name}-sonar'
922 id: github-maven-sonar
924 # yamllint disable-line rule:key-duplicates
928 - lf-infra-properties:
929 build-days-to-keep: '{build-days-to-keep}'
931 url: '{github-url}/{github-org}/{project}'
934 - lf-infra-github-scm:
935 url: '{git-clone-url}{github-org}/{project}'
936 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
938 submodule-recursive: '{submodule-recursive}'
939 submodule-timeout: '{submodule-timeout}'
940 choosing-strategy: default
941 jenkins-ssh-credential: '{jenkins-ssh-credential}'
944 # Build weekly on Saturdays
946 - github-pull-request:
947 trigger-phrase: '^run-sonar$'
948 only-trigger-phrase: true
949 status-context: 'Maven Sonar'
954 white-list: '{obj:github_pr_whitelist}'
955 admin-list: '{obj:github_pr_admin_list}'
956 white-list-target-branches:
963 - lf_maven_verify: &lf_maven_verify
964 name: lf-maven-verify
966 ######################
967 # Default parameters #
968 ######################
971 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
984 submodule-timeout: 10
986 gerrit_verify_triggers:
987 - patchset-created-event:
989 exclude-trivial-rebase: false
990 exclude-no-code-change: false
991 - draft-published-event
992 - comment-added-contains-event:
993 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
995 gerrit_trigger_file_paths:
996 - compare-type: REG_EXP
999 # github_included_regions MUST match gerrit_trigger_file_paths
1000 github_included_regions:
1003 #####################
1004 # Job Configuration #
1005 #####################
1008 disabled: '{disable-job}'
1011 - lf-infra-pre-build
1012 - lf-jacoco-nojava-workaround
1014 mvn-version: '{mvn-version}'
1015 - lf-update-java-alternatives:
1016 java-version: '{java-version}'
1017 - lf-provide-maven-settings:
1018 global-settings-file: '{mvn-global-settings}'
1019 settings-file: '{mvn-settings}'
1021 mvn-goals: '{mvn-goals}'
1022 - lf-provide-maven-settings-cleanup
1030 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1031 id: gerrit-maven-verify
1032 <<: *lf_maven_common
1033 # yamllint disable-line rule:key-duplicates
1034 <<: *lf_maven_verify
1037 - lf-infra-gerrit-scm:
1038 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1039 git-url: '{git-url}'
1040 refspec: '$GERRIT_REFSPEC'
1041 branch: '$GERRIT_BRANCH'
1042 submodule-recursive: '{submodule-recursive}'
1043 submodule-timeout: '{submodule-timeout}'
1044 choosing-strategy: gerrit
1048 server-name: '{gerrit-server-name}'
1049 trigger-on: '{obj:gerrit_verify_triggers}'
1051 - project-compare-type: ANT
1052 project-pattern: '{project}'
1054 - branch-compare-type: ANT
1055 branch-pattern: '**/{branch}'
1056 file-paths: '{obj:gerrit_trigger_file_paths}'
1059 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1060 id: github-maven-verify
1061 <<: *lf_maven_common
1062 # yamllint disable-line rule:key-duplicates
1063 <<: *lf_maven_verify
1066 - lf-infra-properties:
1067 build-days-to-keep: '{build-days-to-keep}'
1069 url: '{github-url}/{github-org}/{project}'
1072 - lf-infra-github-scm:
1073 url: '{git-clone-url}{github-org}/{project}'
1074 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1076 submodule-recursive: '{submodule-recursive}'
1077 submodule-timeout: '{submodule-timeout}'
1078 choosing-strategy: default
1079 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1082 - github-pull-request:
1083 trigger-phrase: '^(recheck|reverify)$'
1084 only-trigger-phrase: false
1085 status-context: 'Maven Verify'
1088 white-list-target-branches:
1090 included-regions: '{obj:github_included_regions}'
1092 #############################
1093 # Maven Verify Dependencies #
1094 #############################
1096 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1097 name: lf-maven-verify-dependencies
1099 ######################
1100 # Default parameters #
1101 ######################
1104 build-days-to-keep: 7
1107 git-url: '$GIT_URL/$PROJECT'
1108 github-url: 'https://github.com'
1109 java-version: openjdk8
1110 mvn-global-settings: global-settings
1111 mvn-goals: clean deploy
1113 mvn-params: '-Dstream=$STREAM'
1116 submodule-recursive: true
1117 submodule-timeout: 10
1119 gerrit_verify_triggers:
1120 - comment-added-contains-event:
1121 comment-contains-value: 'recheck: [0-9 ]+'
1122 gerrit_trigger_file_paths:
1126 #####################
1127 # Job Configuration #
1128 #####################
1131 disabled: '{disable-job}'
1134 - lf-infra-pre-build
1135 - lf-jacoco-nojava-workaround
1137 mvn-version: '{mvn-version}'
1138 - lf-update-java-alternatives:
1139 java-version: '{java-version}'
1140 - lf-provide-maven-settings:
1141 global-settings-file: '{mvn-global-settings}'
1142 settings-file: '{mvn-settings}'
1143 - lf-fetch-dependent-patches
1144 - shell: !include-raw-escape:
1145 - ../shell/common-variables.sh
1146 - ../shell/maven-build-deps.sh
1148 mvn-goals: '{mvn-goals}'
1149 - lf-provide-maven-settings-cleanup
1157 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1158 id: gerrit-maven-verify-dependencies
1159 <<: *lf_maven_common
1160 # yamllint disable-line rule:key-duplicates
1161 <<: *lf_maven_verify_dependencies
1164 - lf-infra-gerrit-scm:
1165 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1166 git-url: '{git-url}'
1167 refspec: '$GERRIT_REFSPEC'
1168 branch: '$GERRIT_BRANCH'
1169 submodule-recursive: '{submodule-recursive}'
1170 submodule-timeout: '{submodule-timeout}'
1171 choosing-strategy: gerrit
1175 server-name: '{gerrit-server-name}'
1176 trigger-on: '{obj:gerrit_verify_triggers}'
1178 - project-compare-type: ANT
1179 project-pattern: '{project}'
1181 - branch-compare-type: ANT
1182 branch-pattern: '**/{branch}'
1183 file-paths: '{obj:gerrit_trigger_file_paths}'