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: '{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
239 - lf-infra-gerrit-scm:
240 jenkins-ssh-credential: '{jenkins-ssh-credential}'
242 refspec: '$GERRIT_REFSPEC'
243 branch: '$GERRIT_BRANCH'
244 submodule-recursive: '{submodule-recursive}'
245 choosing-strategy: default
248 # Build weekly on Saturdays
251 server-name: '{gerrit-server-name}'
252 trigger-on: '{obj:gerrit_clm_triggers}'
254 - project-compare-type: ANT
255 project-pattern: '{project}'
257 - branch-compare-type: ANT
258 branch-pattern: '**/{branch}'
266 name: '{project-name}-maven-clm-{stream}'
269 # yamllint disable-line rule:key-duplicates
274 - lf-infra-properties:
275 build-days-to-keep: '{build-days-to-keep}'
277 url: '{github-url}/{github-org}/{project}'
280 - lf-infra-github-scm:
281 url: '{git-clone-url}{github-org}/{project}'
283 branch: 'refs/heads/{branch}'
284 submodule-recursive: '{submodule-recursive}'
285 choosing-strategy: default
286 jenkins-ssh-credential: '{jenkins-ssh-credential}'
289 # Build weekly on Saturdays
291 - github-pull-request:
292 trigger-phrase: '^run-clm$'
293 only-trigger-phrase: true
294 status-context: 'CLM'
299 white-list: '{obj:github_pr_whitelist}'
300 admin-list: '{obj:github_pr_admin_list}'
301 white-list-target-branches:
304 #########################
305 # Maven Javadoc Publish #
306 #########################
308 - lf_maven_javadoc_publish: &lf_maven_javadoc_publish
309 name: lf-maven-javadoc-publish
311 ######################
312 # Default parameters #
313 ######################
316 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
318 git-url: '$GIT_URL/$PROJECT'
319 github-url: 'https://github.com'
320 java-version: openjdk8
321 mvn-global-settings: global-settings
325 staging-profile-id: '' # Unused by the javadoc jobs
327 submodule-recursive: true
329 gerrit_merge_triggers:
330 - change-merged-event
331 - comment-added-contains-event:
332 comment-contains-value: remerge$
334 #####################
335 # Job Configuration #
336 #####################
340 mvn-version: '{mvn-version}'
341 - lf-update-java-alternatives:
342 java-version: '{java-version}'
343 - lf-provide-maven-settings:
344 global-settings-file: '{mvn-global-settings}'
345 settings-file: '{mvn-settings}'
346 - lf-infra-create-netrc:
347 server-id: '{mvn-site-id}'
349 properties-content: 'DEPLOY_PATH={javadoc-path}'
350 - shell: !include-raw-escape:
351 - ../shell/common-variables.sh
352 - ../shell/maven-javadoc-generate.sh
353 - ../shell/lftools-install.sh
354 - ../shell/maven-javadoc-publish.sh
355 - lf-provide-maven-settings-cleanup
358 name: '{project-name}-maven-javadoc-publish-{stream}'
359 id: gerrit-maven-javadoc-publish
361 # yamllint disable-line rule:key-duplicates
362 <<: *lf_maven_javadoc_publish
364 git-url: '$GIT_URL/$GERRIT_PROJECT'
367 - lf-infra-gerrit-scm:
371 submodule-recursive: '{submodule-recursive}'
372 choosing-strategy: default
373 jenkins-ssh-credential: '{jenkins-ssh-credential}'
377 server-name: '{gerrit-server-name}'
378 trigger-on: '{obj:gerrit_merge_triggers}'
380 - project-compare-type: ANT
381 project-pattern: '{project}'
383 - branch-compare-type: ANT
384 branch-pattern: '**/{branch}'
387 name: '{project-name}-maven-javadoc-publish-{stream}'
388 id: github-maven-javadoc-publish
390 # yamllint disable-line rule:key-duplicates
391 <<: *lf_maven_javadoc_publish
394 - lf-infra-properties:
395 build-days-to-keep: '{build-days-to-keep}'
397 url: '{github-url}/{github-org}/{project}'
400 - lf-infra-github-scm:
401 url: '{git-clone-url}{github-org}/{project}'
404 submodule-recursive: '{submodule-recursive}'
405 choosing-strategy: default
406 jenkins-ssh-credential: '{jenkins-ssh-credential}'
412 - github-pull-request:
413 trigger-phrase: '^remerge$'
414 only-trigger-phrase: true
415 status-context: 'Maven Javadoc Publish'
420 white-list: '{obj:github_pr_whitelist}'
421 admin-list: '{obj:github_pr_admin_list}'
422 white-list-target-branches:
425 ########################
426 # Maven Javadoc Verify #
427 ########################
429 - lf_maven_javadoc_verify: &lf_maven_javadoc_verify
430 name: lf-maven-javadoc-verify
432 ######################
433 # Default parameters #
434 ######################
437 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
439 git-url: '$GIT_URL/$PROJECT'
440 github-url: 'https://github.com'
441 java-version: openjdk8
442 mvn-global-settings: global-settings
446 staging-profile-id: '' # Unused by the javadoc jobs
448 submodule-recursive: true
450 gerrit_verify_triggers:
451 - patchset-created-event:
453 exclude-trivial-rebase: false
454 exclude-no-code-change: false
455 - draft-published-event
456 - comment-added-contains-event:
457 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
459 #####################
460 # Job Configuration #
461 #####################
467 mvn-version: '{mvn-version}'
468 - lf-update-java-alternatives:
469 java-version: '{java-version}'
470 - lf-provide-maven-settings:
471 global-settings-file: '{mvn-global-settings}'
472 settings-file: '{mvn-settings}'
473 - shell: !include-raw-escape:
474 - ../shell/common-variables.sh
475 - ../shell/maven-javadoc-generate.sh
476 - lf-provide-maven-settings-cleanup
479 name: '{project-name}-maven-javadoc-verify-{stream}'
480 id: gerrit-maven-javadoc-verify
482 # yamllint disable-line rule:key-duplicates
483 <<: *lf_maven_javadoc_verify
486 - lf-infra-gerrit-scm:
487 jenkins-ssh-credential: '{jenkins-ssh-credential}'
489 refspec: '$GERRIT_REFSPEC'
490 branch: '$GERRIT_BRANCH'
491 submodule-recursive: '{submodule-recursive}'
492 choosing-strategy: gerrit
496 server-name: '{gerrit-server-name}'
497 trigger-on: '{obj:gerrit_verify_triggers}'
499 - project-compare-type: ANT
500 project-pattern: '{project}'
502 - branch-compare-type: ANT
503 branch-pattern: '**/{branch}'
506 name: '{project-name}-maven-javadoc-verify-{stream}'
507 id: github-maven-javadoc-verify
509 # yamllint disable-line rule:key-duplicates
510 <<: *lf_maven_javadoc_verify
513 - lf-infra-properties:
514 build-days-to-keep: '{build-days-to-keep}'
516 url: '{github-url}/{github-org}/{project}'
519 - lf-infra-github-scm:
520 url: '{git-clone-url}{github-org}/{project}'
521 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
523 submodule-recursive: '{submodule-recursive}'
524 choosing-strategy: default
525 jenkins-ssh-credential: '{jenkins-ssh-credential}'
528 - github-pull-request:
529 trigger-phrase: ^(recheck|reverify)$
530 only-trigger-phrase: false
531 status-context: 'Maven Javadoc Verify'
534 white-list-target-branches:
541 - lf_maven_merge: &lf_maven_merge
544 ######################
545 # Default parameters #
546 ######################
549 build-days-to-keep: 30 # 30 days in case we need to troubleshoot
551 cron: 'H H * * 0' # push fresh snapshot weekly
552 git-url: '$GIT_URL/$PROJECT'
553 github-url: 'https://github.com'
554 java-version: openjdk8
555 mvn-global-settings: global-settings
556 mvn-goals: clean deploy
558 mvn-params: '-Dmerge'
560 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
561 staging-profile-id: '' # Unused by this job.
563 submodule-recursive: true
565 gerrit_merge_triggers:
566 - change-merged-event
567 - comment-added-contains-event:
568 comment-contains-value: remerge$
570 gerrit_trigger_file_paths:
571 - compare-type: REG_EXP
574 # github_included_regions MUST match gerrit_trigger_file_paths
575 github_included_regions:
578 post_build_trigger: ''
580 #####################
581 # Job Configuration #
582 #####################
585 - lf-jacoco-nojava-workaround
587 mvn-version: '{mvn-version}'
588 - lf-update-java-alternatives:
589 java-version: '{java-version}'
590 - lf-provide-maven-settings:
591 global-settings-file: '{mvn-global-settings}'
592 settings-file: '{mvn-settings}'
593 - lf-infra-create-netrc:
594 server-id: '{mvn-snapshot-id}'
596 properties-content: |
597 NEXUS_CUT_DIRS={nexus-cut-dirs}
598 NEXUS_REPO={nexus-snapshot-repo}
599 - shell: !include-raw-escape:
600 - ../shell/lftools-install.sh
601 - ../shell/maven-fetch-metadata.sh
603 mvn-goals: '{mvn-goals}'
605 - lf-provide-maven-settings-cleanup
611 - trigger-parameterized-builds: '{obj:post_build_trigger}'
614 name: '{project-name}-maven-merge-{stream}'
615 id: gerrit-maven-merge
617 # yamllint disable-line rule:key-duplicates
621 - lf-infra-gerrit-scm:
622 jenkins-ssh-credential: '{jenkins-ssh-credential}'
624 refspec: '$GERRIT_REFSPEC'
625 branch: '$GERRIT_BRANCH'
626 submodule-recursive: '{submodule-recursive}'
627 choosing-strategy: default
630 - timed: '{obj:cron}'
632 server-name: '{gerrit-server-name}'
633 trigger-on: '{obj:gerrit_merge_triggers}'
635 - project-compare-type: ANT
636 project-pattern: '{project}'
638 - branch-compare-type: ANT
639 branch-pattern: '**/{branch}'
640 file-paths: '{obj:gerrit_trigger_file_paths}'
643 name: '{project-name}-maven-merge-{stream}'
644 id: github-maven-merge
646 # yamllint disable-line rule:key-duplicates
650 - lf-infra-properties:
651 build-days-to-keep: '{build-days-to-keep}'
653 url: '{github-url}/{github-org}/{project}'
656 - lf-infra-github-scm:
657 url: '{git-clone-url}{github-org}/{project}'
658 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
660 submodule-recursive: '{submodule-recursive}'
661 choosing-strategy: default
662 jenkins-ssh-credential: '{jenkins-ssh-credential}'
668 - github-pull-request:
669 trigger-phrase: '^remerge$'
670 only-trigger-phrase: true
671 status-context: 'Maven Merge'
676 white-list: '{obj:github_pr_whitelist}'
677 admin-list: '{obj:github_pr_admin_list}'
678 white-list-target-branches:
680 included-regions: '{obj:github_included_regions}'
686 - lf_maven_release: &lf_maven_release
687 name: lf-maven-release
689 ######################
690 # Default parameters #
691 ######################
694 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
697 git-url: '$GIT_URL/$PROJECT'
698 github-url: 'https://github.com'
699 java-version: openjdk8
700 mvn-global-settings: global-settings
701 mvn-goals: clean deploy
706 submodule-recursive: true
708 gerrit_release_triggers:
709 - comment-added-contains-event:
710 comment-contains-value: build release$
712 #####################
713 # Job Configuration #
714 #####################
717 - lf-jacoco-nojava-workaround
719 mvn-version: '{mvn-version}'
720 - lf-update-java-alternatives:
721 java-version: '{java-version}'
722 - lf-provide-maven-settings:
723 global-settings-file: '{mvn-global-settings}'
724 settings-file: '{mvn-settings}'
725 - lf-infra-create-netrc:
726 server-id: '{mvn-staging-id}'
727 - shell: !include-raw-escape:
728 - ../shell/lftools-install.sh
729 - ../shell/maven-patch-release.sh
731 mvn-goals: '{mvn-goals}'
733 - lf-provide-maven-settings-cleanup
736 name: '{project-name}-maven-release-{stream}'
737 id: gerrit-maven-release
739 # yamllint disable-line rule:key-duplicates
740 <<: *lf_maven_release
743 - lf-infra-gerrit-scm:
744 jenkins-ssh-credential: '{jenkins-ssh-credential}'
746 refspec: '$GERRIT_REFSPEC'
747 branch: '$GERRIT_BRANCH'
748 submodule-recursive: '{submodule-recursive}'
749 choosing-strategy: default
752 - timed: '{obj:cron}'
754 server-name: '{gerrit-server-name}'
755 trigger-on: '{obj:gerrit_release_triggers}'
757 - project-compare-type: ANT
758 project-pattern: '{project}'
760 - branch-compare-type: ANT
761 branch-pattern: '**/{branch}'
764 name: '{project-name}-maven-release-{stream}'
765 id: github-maven-release
767 # yamllint disable-line rule:key-duplicates
768 <<: *lf_maven_release
771 - lf-infra-properties:
772 build-days-to-keep: '{build-days-to-keep}'
774 url: '{github-url}/{github-org}/{project}'
777 - lf-infra-github-scm:
778 url: '{git-clone-url}{github-org}/{project}'
779 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
781 submodule-recursive: '{submodule-recursive}'
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
811 git-url: '$GIT_URL/$PROJECT'
812 github-url: 'https://github.com'
813 java-version: openjdk8
814 mvn-global-settings: global-settings
818 sonar-mvn-goal: 'sonar:sonar'
819 staging-profile-id: '' # Unused in this job
821 submodule-recursive: true
823 gerrit_sonar_triggers:
824 - comment-added-contains-event:
825 comment-contains-value: run-sonar$
827 #####################
828 # Job Configuration #
829 #####################
832 - lf-infra-parameters:
836 lftools-version: '{lftools-version}'
837 - lf-infra-maven-parameters:
838 mvn-opts: '{mvn-opts}'
839 mvn-params: '{mvn-params}'
840 mvn-version: '{mvn-version}'
841 # Staging repos do not make sense for Sonar jobs so set it blank.
842 staging-profile-id: ''
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'
873 - lf-infra-maven-sonar:
874 java-version: '{java-version}'
875 mvn-settings: '{mvn-settings}'
876 mvn-version: '{mvn-version}'
884 name: lf-infra-maven-sonar
885 # Run a Sonar build with Maven
888 mvn-version: '{mvn-version}'
889 - lf-update-java-alternatives:
890 java-version: '{java-version}'
892 # Switch this to the sonar wrapper when JJB 2.0 is available
893 properties-content: SONAR_HOST_URL=$SONAR_URL
894 - lf-provide-maven-settings:
895 global-settings-file: global-settings
896 settings-file: '{mvn-settings}'
897 - shell: !include-raw-escape:
898 - ../shell/common-variables.sh
899 - ../shell/maven-sonar.sh
900 - lf-provide-maven-settings-cleanup
903 name: '{project-name}-sonar'
904 id: gerrit-maven-sonar
906 # yamllint disable-line rule:key-duplicates
910 - lf-infra-gerrit-scm:
911 jenkins-ssh-credential: '{jenkins-ssh-credential}'
913 refspec: $GERRIT_REFSPEC
914 branch: $GERRIT_BRANCH
915 submodule-recursive: '{submodule-recursive}'
916 choosing-strategy: default
919 name: '{project-name}-sonar'
920 id: github-maven-sonar
922 # yamllint disable-line rule:key-duplicates
926 - lf-infra-properties:
927 build-days-to-keep: '{build-days-to-keep}'
929 url: '{github-url}/{github-org}/{project}'
932 - lf-infra-github-scm:
933 url: '{git-clone-url}{github-org}/{project}'
934 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
936 submodule-recursive: '{submodule-recursive}'
937 choosing-strategy: default
938 jenkins-ssh-credential: '{jenkins-ssh-credential}'
941 - github-pull-request:
942 trigger-phrase: '^run-sonar$'
943 only-trigger-phrase: false
944 status-context: 'Maven Sonar'
947 white-list-target-branches:
954 - lf_maven_verify: &lf_maven_verify
955 name: lf-maven-verify
957 ######################
958 # Default parameters #
959 ######################
962 build-days-to-keep: 7
964 git-url: '$GIT_URL/$PROJECT'
965 github-url: 'https://github.com'
966 java-version: openjdk8
967 mvn-global-settings: global-settings
968 mvn-goals: clean deploy
970 mvn-params: '-Dstream=$STREAM'
972 staging-profile-id: '' # Unused in this job
974 submodule-recursive: true
976 gerrit_verify_triggers:
977 - patchset-created-event:
979 exclude-trivial-rebase: false
980 exclude-no-code-change: false
981 - draft-published-event
982 - comment-added-contains-event:
983 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
985 gerrit_trigger_file_paths:
986 - compare-type: REG_EXP
989 # github_included_regions MUST match gerrit_trigger_file_paths
990 github_included_regions:
993 #####################
994 # Job Configuration #
995 #####################
1000 - lf-jacoco-nojava-workaround
1002 mvn-version: '{mvn-version}'
1003 - lf-update-java-alternatives:
1004 java-version: '{java-version}'
1005 - lf-provide-maven-settings:
1006 global-settings-file: '{mvn-global-settings}'
1007 settings-file: '{mvn-settings}'
1008 - shell: !include-raw-escape:
1009 - ../shell/lftools-install.sh
1011 mvn-goals: '{mvn-goals}'
1012 - lf-provide-maven-settings-cleanup
1020 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1021 id: gerrit-maven-verify
1022 <<: *lf_maven_common
1023 # yamllint disable-line rule:key-duplicates
1024 <<: *lf_maven_verify
1027 - lf-infra-gerrit-scm:
1028 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1029 git-url: '{git-url}'
1030 refspec: '$GERRIT_REFSPEC'
1031 branch: '$GERRIT_BRANCH'
1032 submodule-recursive: '{submodule-recursive}'
1033 choosing-strategy: gerrit
1037 server-name: '{gerrit-server-name}'
1038 trigger-on: '{obj:gerrit_verify_triggers}'
1040 - project-compare-type: ANT
1041 project-pattern: '{project}'
1043 - branch-compare-type: ANT
1044 branch-pattern: '**/{branch}'
1045 file-paths: '{obj:gerrit_trigger_file_paths}'
1048 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1049 id: github-maven-verify
1050 <<: *lf_maven_common
1051 # yamllint disable-line rule:key-duplicates
1052 <<: *lf_maven_verify
1055 - lf-infra-properties:
1056 build-days-to-keep: '{build-days-to-keep}'
1058 url: '{github-url}/{github-org}/{project}'
1061 - lf-infra-github-scm:
1062 url: '{git-clone-url}{github-org}/{project}'
1063 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1065 submodule-recursive: '{submodule-recursive}'
1066 choosing-strategy: default
1067 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1070 - github-pull-request:
1071 trigger-phrase: '^(recheck|reverify)$'
1072 only-trigger-phrase: false
1073 status-context: 'Maven Verify'
1076 white-list-target-branches:
1078 included-regions: '{obj:github_included_regions}'
1080 #############################
1081 # Maven Verify Dependencies #
1082 #############################
1084 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1085 name: lf-maven-verify-dependencies
1087 ######################
1088 # Default parameters #
1089 ######################
1092 build-days-to-keep: 7
1094 git-url: '$GIT_URL/$PROJECT'
1095 github-url: 'https://github.com'
1096 java-version: openjdk8
1097 mvn-global-settings: global-settings
1098 mvn-goals: clean deploy
1100 mvn-params: '-Dstream=$STREAM'
1102 staging-profile-id: '' # Unused by this job
1104 submodule-recursive: true
1106 gerrit_verify_triggers:
1107 - comment-added-contains-event:
1108 comment-contains-value: 'recheck: [0-9 ]+'
1109 gerrit_trigger_file_paths:
1113 #####################
1114 # Job Configuration #
1115 #####################
1120 - lf-jacoco-nojava-workaround
1122 mvn-version: '{mvn-version}'
1123 - lf-update-java-alternatives:
1124 java-version: '{java-version}'
1125 - lf-provide-maven-settings:
1126 global-settings-file: '{mvn-global-settings}'
1127 settings-file: '{mvn-settings}'
1128 - lf-fetch-dependent-patches
1129 - shell: !include-raw-escape:
1130 - ../shell/common-variables.sh
1131 - ../shell/maven-build-deps.sh
1133 mvn-goals: '{mvn-goals}'
1134 - lf-provide-maven-settings-cleanup
1142 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1143 id: gerrit-maven-verify-dependencies
1144 <<: *lf_maven_common
1145 # yamllint disable-line rule:key-duplicates
1146 <<: *lf_maven_verify_dependencies
1149 - lf-infra-gerrit-scm:
1150 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1151 git-url: '{git-url}'
1152 refspec: '$GERRIT_REFSPEC'
1153 branch: '$GERRIT_BRANCH'
1154 submodule-recursive: '{submodule-recursive}'
1155 choosing-strategy: gerrit
1159 server-name: '{gerrit-server-name}'
1160 trigger-on: '{obj:gerrit_verify_triggers}'
1162 - project-compare-type: ANT
1163 project-pattern: '{project}'
1165 - branch-compare-type: ANT
1166 branch-pattern: '**/{branch}'
1167 file-paths: '{obj:gerrit_trigger_file_paths}'