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 - lf-provide-maven-settings:
28 global-settings-file: '{mvn-global-settings}'
29 settings-file: '{mvn-settings}'
30 - lf-infra-create-netrc:
31 server-id: '{mvn-staging-id}'
32 # include-raw-escape fails due to JJB bug
33 - shell: !include-raw-escape:
34 - ../shell/common-variables.sh
35 - ../shell/maven-stage.sh
36 - lf-provide-maven-settings-cleanup
39 name: lf-update-java-alternatives
42 # Work around inject plugin overriding our GIT_URL variable incorrectly
43 # https://issues.jenkins-ci.org/browse/JENKINS-49775
45 SET_JDK_VERSION={java-version}
47 - shell: !include-raw-escape: ../shell/update-java-alternatives.sh
49 properties-file: '/tmp/java.env'
55 - lf_maven_common: &lf_maven_common
58 ######################
59 # Default parameters #
60 ######################
65 **/target/**/feature.xml
66 **/target/failsafe-reports/failsafe-summary.xml
67 **/target/surefire-reports/*-output.txt
73 project-type: freestyle
77 - lf-infra-properties:
78 build-days-to-keep: '{build-days-to-keep}'
81 - lf-infra-parameters:
85 - lf-infra-maven-parameters:
86 mvn-opts: '{mvn-opts}'
87 mvn-params: '{mvn-params}'
88 mvn-version: '{mvn-version}'
90 name: ARCHIVE_ARTIFACTS
91 default: '{archive-artifacts}'
92 description: Artifacts to archive to the logs server.
96 build-timeout: '{build-timeout}'
97 jenkins-ssh-credential: '{jenkins-ssh-credential}'
100 # TODO: Make email notification work.
101 # - lf-infra-email-notify:
102 # email-recipients: '{email-recipients}'
103 # email-prefix: '[releng]'
110 - lf_maven_clm: &lf_maven_clm
113 ######################
114 # Default parameters #
115 ######################
118 build-days-to-keep: 30 # 30 days for troubleshooting purposes
121 git-url: '$GIT_URL/$PROJECT'
122 github-url: 'https://github.com'
123 java-version: openjdk8
124 mvn-global-settings: global-settings
128 nexus-iq-namespace: '' # Recommend a trailing dash when set. Example: odl-
129 nexus-iq-stage: 'build'
131 submodule-recursive: true
132 submodule-timeout: 10
134 nexus_iq_scan_patterns:
142 - comment-added-contains-event:
143 comment-contains-value: run-clm$
146 - lf-infra-parameters:
150 - lf-infra-maven-parameters:
151 mvn-opts: '{mvn-opts}'
152 mvn-params: '{mvn-params}'
153 mvn-version: '{mvn-version}'
155 name: ARCHIVE_ARTIFACTS
156 default: '{archive-artifacts}'
157 description: Artifacts to archive to the logs server.
159 nexus-iq-stage: '{nexus-iq-stage}'
161 #####################
162 # Job Configuration #
163 #####################
165 disabled: '{disable-job}'
170 mvn-version: '{mvn-version}'
171 - lf-update-java-alternatives:
172 java-version: '{java-version}'
173 - lf-provide-maven-settings:
174 global-settings-file: '{mvn-global-settings}'
175 settings-file: '{mvn-settings}'
176 - shell: !include-raw-escape:
177 - ../shell/common-variables.sh
178 - ../shell/sonatype-clm.sh
179 - lf-provide-maven-settings-cleanup
180 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
181 - nexus-iq-policy-evaluator:
182 stage: '{nexus-iq-stage}'
183 application-type: 'manual'
184 application-id: '{nexus-iq-namespace}{project-name}'
185 scan-patterns: '{obj:nexus_iq_scan_patterns}'
186 fail-build-network-error: true
189 name: '{project-name}-maven-clm-{stream}'
192 # yamllint disable-line rule:key-duplicates
196 - lf-infra-gerrit-scm:
197 jenkins-ssh-credential: '{jenkins-ssh-credential}'
199 refspec: '$GERRIT_REFSPEC'
200 branch: '$GERRIT_BRANCH'
201 submodule-recursive: '{submodule-recursive}'
202 submodule-timeout: '{submodule-timeout}'
203 choosing-strategy: default
206 # Build weekly on Saturdays
209 server-name: '{gerrit-server-name}'
210 trigger-on: '{obj:gerrit_clm_triggers}'
212 - project-compare-type: ANT
213 project-pattern: '{project}'
215 - branch-compare-type: ANT
216 branch-pattern: '**/{branch}'
224 name: '{project-name}-maven-clm-{stream}'
227 # yamllint disable-line rule:key-duplicates
231 - lf-infra-properties:
232 build-days-to-keep: '{build-days-to-keep}'
234 url: '{github-url}/{github-org}/{project}'
237 - lf-infra-github-scm:
238 url: '{git-clone-url}{github-org}/{project}'
240 branch: 'refs/heads/{branch}'
241 submodule-recursive: '{submodule-recursive}'
242 submodule-timeout: '{submodule-timeout}'
243 choosing-strategy: default
244 jenkins-ssh-credential: '{jenkins-ssh-credential}'
247 # Build weekly on Saturdays
249 - github-pull-request:
250 trigger-phrase: '^run-clm$'
251 only-trigger-phrase: true
252 status-context: 'CLM'
257 white-list: '{obj:github_pr_whitelist}'
258 admin-list: '{obj:github_pr_admin_list}'
259 white-list-target-branches:
262 #########################
263 # Maven Javadoc Publish #
264 #########################
266 - lf_maven_javadoc_publish: &lf_maven_javadoc_publish
267 name: lf-maven-javadoc-publish
269 ######################
270 # Default parameters #
271 ######################
274 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
277 git-url: '$GIT_URL/$PROJECT'
278 github-url: 'https://github.com'
279 java-version: openjdk8
280 mvn-global-settings: global-settings
285 submodule-recursive: true
286 submodule-timeout: 10
288 gerrit_merge_triggers:
289 - change-merged-event
290 - comment-added-contains-event:
291 comment-contains-value: remerge$
293 #####################
294 # Job Configuration #
295 #####################
297 disabled: '{disable-job}'
302 mvn-version: '{mvn-version}'
303 - lf-update-java-alternatives:
304 java-version: '{java-version}'
305 - lf-provide-maven-settings:
306 global-settings-file: '{mvn-global-settings}'
307 settings-file: '{mvn-settings}'
308 - lf-infra-create-netrc:
309 server-id: '{mvn-site-id}'
311 properties-content: 'DEPLOY_PATH={javadoc-path}'
312 - shell: !include-raw-escape:
313 - ../shell/common-variables.sh
314 - ../shell/maven-javadoc-generate.sh
315 - ../shell/maven-javadoc-publish.sh
316 - lf-provide-maven-settings-cleanup
319 name: '{project-name}-maven-javadoc-publish-{stream}-{java-version}'
320 id: gerrit-maven-javadoc-publish
322 # yamllint disable-line rule:key-duplicates
323 <<: *lf_maven_javadoc_publish
325 git-url: '$GIT_URL/$GERRIT_PROJECT'
328 - lf-infra-gerrit-scm:
332 submodule-recursive: '{submodule-recursive}'
333 submodule-timeout: '{submodule-timeout}'
334 choosing-strategy: default
335 jenkins-ssh-credential: '{jenkins-ssh-credential}'
339 server-name: '{gerrit-server-name}'
340 trigger-on: '{obj:gerrit_merge_triggers}'
342 - project-compare-type: ANT
343 project-pattern: '{project}'
345 - branch-compare-type: ANT
346 branch-pattern: '**/{branch}'
349 name: '{project-name}-maven-javadoc-publish-{stream}-{java-version}'
350 id: github-maven-javadoc-publish
352 # yamllint disable-line rule:key-duplicates
353 <<: *lf_maven_javadoc_publish
356 - lf-infra-properties:
357 build-days-to-keep: '{build-days-to-keep}'
359 url: '{github-url}/{github-org}/{project}'
362 - lf-infra-github-scm:
363 url: '{git-clone-url}{github-org}/{project}'
366 submodule-recursive: '{submodule-recursive}'
367 submodule-timeout: '{submodule-timeout}'
368 choosing-strategy: default
369 jenkins-ssh-credential: '{jenkins-ssh-credential}'
375 - github-pull-request:
376 trigger-phrase: '^remerge$'
377 only-trigger-phrase: true
378 status-context: 'Maven Javadoc Publish'
383 white-list: '{obj:github_pr_whitelist}'
384 admin-list: '{obj:github_pr_admin_list}'
385 white-list-target-branches:
388 ########################
389 # Maven Javadoc Verify #
390 ########################
392 - lf_maven_javadoc_verify: &lf_maven_javadoc_verify
393 name: lf-maven-javadoc-verify
395 ######################
396 # Default parameters #
397 ######################
400 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
403 git-url: '$GIT_URL/$PROJECT'
404 github-url: 'https://github.com'
405 java-version: openjdk8
406 mvn-global-settings: global-settings
411 submodule-recursive: true
412 submodule-timeout: 10
414 gerrit_verify_triggers:
415 - patchset-created-event:
417 exclude-trivial-rebase: false
418 exclude-no-code-change: false
419 - draft-published-event
420 - comment-added-contains-event:
421 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
423 #####################
424 # Job Configuration #
425 #####################
428 disabled: '{disable-job}'
433 mvn-version: '{mvn-version}'
434 - lf-update-java-alternatives:
435 java-version: '{java-version}'
436 - lf-provide-maven-settings:
437 global-settings-file: '{mvn-global-settings}'
438 settings-file: '{mvn-settings}'
439 - shell: !include-raw-escape:
440 - ../shell/common-variables.sh
441 - ../shell/maven-javadoc-generate.sh
442 - lf-provide-maven-settings-cleanup
445 name: '{project-name}-maven-javadoc-verify-{stream}-{java-version}'
446 id: gerrit-maven-javadoc-verify
448 # yamllint disable-line rule:key-duplicates
449 <<: *lf_maven_javadoc_verify
452 - lf-infra-gerrit-scm:
453 jenkins-ssh-credential: '{jenkins-ssh-credential}'
455 refspec: '$GERRIT_REFSPEC'
456 branch: '$GERRIT_BRANCH'
457 submodule-recursive: '{submodule-recursive}'
458 submodule-timeout: '{submodule-timeout}'
459 choosing-strategy: gerrit
463 server-name: '{gerrit-server-name}'
464 trigger-on: '{obj:gerrit_verify_triggers}'
466 - project-compare-type: ANT
467 project-pattern: '{project}'
469 - branch-compare-type: ANT
470 branch-pattern: '**/{branch}'
473 name: '{project-name}-maven-javadoc-verify-{stream}-{java-version}'
474 id: github-maven-javadoc-verify
476 # yamllint disable-line rule:key-duplicates
477 <<: *lf_maven_javadoc_verify
480 - lf-infra-properties:
481 build-days-to-keep: '{build-days-to-keep}'
483 url: '{github-url}/{github-org}/{project}'
486 - lf-infra-github-scm:
487 url: '{git-clone-url}{github-org}/{project}'
488 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
490 submodule-recursive: '{submodule-recursive}'
491 submodule-timeout: '{submodule-timeout}'
492 choosing-strategy: default
493 jenkins-ssh-credential: '{jenkins-ssh-credential}'
496 - github-pull-request:
497 trigger-phrase: ^(recheck|reverify)$
498 only-trigger-phrase: false
499 status-context: 'Maven Javadoc Verify'
502 white-list-target-branches:
509 - lf_maven_merge: &lf_maven_merge
512 ######################
513 # Default parameters #
514 ######################
517 build-days-to-keep: 30 # 30 days in case we need to troubleshoot
521 git-url: '$GIT_URL/$PROJECT'
522 github-url: 'https://github.com'
523 java-version: openjdk8
524 mvn-global-settings: global-settings
525 mvn-goals: clean deploy
527 mvn-params: '-Dmerge'
529 nexus-cut-dirs: 6 # Number of dirs in the Nexus path to remove for wget -r.
531 submodule-recursive: true
532 submodule-timeout: 10
534 gerrit_merge_triggers:
535 - change-merged-event
536 - comment-added-contains-event:
537 comment-contains-value: remerge$
539 gerrit_trigger_file_paths:
540 - compare-type: REG_EXP
543 # github_included_regions MUST match gerrit_trigger_file_paths
544 github_included_regions:
547 post_build_trigger: ''
549 #####################
550 # Job Configuration #
551 #####################
553 disabled: '{disable-job}'
557 - lf-jacoco-nojava-workaround
559 mvn-version: '{mvn-version}'
560 - lf-update-java-alternatives:
561 java-version: '{java-version}'
562 - lf-provide-maven-settings:
563 global-settings-file: '{mvn-global-settings}'
564 settings-file: '{mvn-settings}'
565 - lf-infra-create-netrc:
566 server-id: '{mvn-snapshot-id}'
568 properties-content: |
569 NEXUS_CUT_DIRS={nexus-cut-dirs}
570 NEXUS_REPO={nexus-snapshot-repo}
571 - shell: !include-raw-escape: ../shell/maven-fetch-metadata.sh
573 mvn-goals: '{mvn-goals}'
575 - lf-provide-maven-settings-cleanup
581 - trigger-parameterized-builds: '{obj:post_build_trigger}'
584 name: '{project-name}-maven-merge-{stream}'
585 id: gerrit-maven-merge
587 # yamllint disable-line rule:key-duplicates
591 - lf-infra-gerrit-scm:
592 jenkins-ssh-credential: '{jenkins-ssh-credential}'
594 refspec: '$GERRIT_REFSPEC'
595 branch: '$GERRIT_BRANCH'
596 submodule-recursive: '{submodule-recursive}'
597 submodule-timeout: '{submodule-timeout}'
598 choosing-strategy: default
601 - timed: '{obj:cron}'
603 server-name: '{gerrit-server-name}'
604 trigger-on: '{obj:gerrit_merge_triggers}'
606 - project-compare-type: ANT
607 project-pattern: '{project}'
609 - branch-compare-type: ANT
610 branch-pattern: '**/{branch}'
611 file-paths: '{obj:gerrit_trigger_file_paths}'
614 name: '{project-name}-maven-merge-{stream}'
615 id: github-maven-merge
617 # yamllint disable-line rule:key-duplicates
621 - lf-infra-properties:
622 build-days-to-keep: '{build-days-to-keep}'
624 url: '{github-url}/{github-org}/{project}'
627 - lf-infra-github-scm:
628 url: '{git-clone-url}{github-org}/{project}'
630 branch: 'refs/heads/{branch}'
631 submodule-recursive: '{submodule-recursive}'
632 submodule-timeout: '{submodule-timeout}'
633 choosing-strategy: default
634 jenkins-ssh-credential: '{jenkins-ssh-credential}'
637 - timed: '{obj:cron}'
641 - github-pull-request:
642 trigger-phrase: '^remerge$'
643 only-trigger-phrase: true
644 status-context: 'Maven Merge'
649 white-list: '{obj:github_pr_whitelist}'
650 admin-list: '{obj:github_pr_admin_list}'
651 white-list-target-branches:
653 included-regions: '{obj:github_included_regions}'
659 - lf_maven_stage: &lf_maven_stage
662 ######################
663 # Default parameters #
664 ######################
667 build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
671 git-url: '$GIT_URL/$PROJECT'
672 github-url: 'https://github.com'
673 java-version: openjdk8
675 mvn-global-settings: global-settings
676 mvn-goals: clean deploy
681 sign-artifacts: false
684 submodule-recursive: true
685 submodule-timeout: 10
687 gerrit_release_triggers:
688 - comment-added-contains-event:
689 comment-contains-value: stage-release$
691 #####################
692 # Job Configuration #
693 #####################
695 disabled: '{disable-job}'
698 - lf-infra-parameters:
702 - lf-infra-maven-parameters:
703 mvn-opts: '{mvn-opts}'
704 mvn-params: '{mvn-params}'
705 mvn-version: '{mvn-version}'
706 staging-profile-id: '{staging-profile-id}'
708 name: ARCHIVE_ARTIFACTS
709 default: '{archive-artifacts}'
710 description: Artifacts to archive to the logs server.
712 name: STAGING_PROFILE_ID
713 default: '{staging-profile-id}'
714 description: Nexus staging profile ID.
718 - lf-jacoco-nojava-workaround
720 mvn-version: '{mvn-version}'
721 - lf-update-java-alternatives:
722 java-version: '{java-version}'
723 - lf-provide-maven-settings:
724 global-settings-file: '{mvn-global-settings}'
725 settings-file: '{mvn-settings}'
726 - shell: !include-raw-escape: ../shell/maven-patch-release.sh
728 mvn-goals: '{mvn-goals}'
730 sign-artifacts: '{sign-artifacts}'
731 sign-dir: '$WORKSPACE/m2repo'
732 sign-mode: '{sign-mode}'
734 mvn-global-settings: '{mvn-global-settings}'
735 mvn-settings: '{mvn-settings}'
736 mvn-staging-id: '{mvn-staging-id}'
738 mvn-central: '{mvn-central}'
739 mvn-global-settings: '{mvn-global-settings}'
740 mvn-settings: '{mvn-settings}'
741 ossrh-profile-id: '{ossrh-profile-id}'
742 - lf-provide-maven-settings-cleanup
745 name: '{project-name}-maven-stage-{stream}'
746 id: gerrit-maven-stage
748 # yamllint disable-line rule:key-duplicates
752 - lf-infra-gerrit-scm:
753 jenkins-ssh-credential: '{jenkins-ssh-credential}'
755 refspec: '$GERRIT_REFSPEC'
756 branch: '$GERRIT_BRANCH'
757 submodule-recursive: '{submodule-recursive}'
758 submodule-timeout: '{submodule-timeout}'
759 choosing-strategy: default
762 - timed: '{obj:cron}'
764 server-name: '{gerrit-server-name}'
765 trigger-on: '{obj:gerrit_release_triggers}'
767 - project-compare-type: ANT
768 project-pattern: '{project}'
770 - branch-compare-type: ANT
771 branch-pattern: '**/{branch}'
774 name: '{project-name}-maven-stage-{stream}'
775 id: github-maven-stage
777 # yamllint disable-line rule:key-duplicates
781 - lf-infra-properties:
782 build-days-to-keep: '{build-days-to-keep}'
784 url: '{github-url}/{github-org}/{project}'
787 - lf-infra-github-scm:
788 url: '{git-clone-url}{github-org}/{project}'
789 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
791 submodule-recursive: '{submodule-recursive}'
792 submodule-timeout: '{submodule-timeout}'
793 choosing-strategy: default
794 jenkins-ssh-credential: '{jenkins-ssh-credential}'
797 - timed: '{obj:cron}'
798 - github-pull-request:
799 trigger-phrase: '^build release$'
800 only-trigger-phrase: true
801 status-context: 'Maven Release'
804 white-list-target-branches:
811 - lf_maven_sonar: &lf_maven_sonar
814 ######################
815 # Default parameters #
816 ######################
818 branch: master # Sonar should always be run on master branch
819 build-days-to-keep: 7
821 cron: 'H H * * 6' # run weekly
823 git-url: '$GIT_URL/$PROJECT'
824 github-url: 'https://github.com'
825 java-version: openjdk8
826 mvn-global-settings: global-settings
830 sonar-mvn-goal: 'sonar:sonar'
832 sonarcloud-project-key: ''
833 sonarcloud-project-organization: ''
834 sonarcloud-api-token: ''
836 submodule-recursive: true
837 submodule-timeout: 10
839 gerrit_sonar_triggers:
840 - comment-added-contains-event:
841 comment-contains-value: run-sonar$
843 #####################
844 # Job Configuration #
845 #####################
847 disabled: '{disable-job}'
850 - lf-infra-parameters:
854 - lf-infra-maven-parameters:
855 mvn-opts: '{mvn-opts}'
856 mvn-params: '{mvn-params}'
857 mvn-version: '{mvn-version}'
859 name: ARCHIVE_ARTIFACTS
860 default: '{archive-artifacts}'
861 description: Artifacts to archive to the logs server.
863 name: SONAR_MAVEN_GOAL
864 default: '{sonar-mvn-goal}'
866 Maven goals to pass to the Sonar call. Typically sonar:sonar
867 however to use a specific version of the sonar-maven-plugin we
868 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
871 - timed: '{obj:cron}'
873 server-name: '{gerrit-server-name}'
874 trigger-on: '{obj:gerrit_sonar_triggers}'
876 - project-compare-type: 'ANT'
877 project-pattern: '{project}'
879 - branch-compare-type: 'ANT'
880 branch-pattern: '**/master'
891 condition-kind: boolean-expression
892 condition-expression: '{sonarcloud}'
894 - shell: echo 'Using SonarCloud'
895 - lf-infra-maven-sonarcloud:
896 java-version: '{java-version}'
897 mvn-settings: '{mvn-settings}'
898 mvn-version: '{mvn-version}'
899 sonarcloud-project-key: '{sonarcloud-project-key}'
900 sonarcloud-project-organization: '{sonarcloud-project-organization}'
901 sonarcloud-api-token: '{sonarcloud-api-token}'
906 condition-kind: boolean-expression
907 condition-expression: '{sonarcloud}'
909 - shell: echo 'Using SonarQube'
910 - lf-infra-maven-sonar:
911 java-version: '{java-version}'
912 mvn-settings: '{mvn-settings}'
913 mvn-version: '{mvn-version}'
921 name: lf-infra-maven-sonar
922 # Run a Sonar build with Maven
925 mvn-version: '{mvn-version}'
926 - lf-update-java-alternatives:
927 java-version: '{java-version}'
929 # Switch this to the sonar wrapper when JJB 2.0 is available
930 properties-content: SONAR_HOST_URL=$SONAR_URL
931 - lf-provide-maven-settings:
932 global-settings-file: global-settings
933 settings-file: '{mvn-settings}'
934 - shell: !include-raw-escape:
935 - ../shell/common-variables.sh
936 - ../shell/maven-sonar.sh
937 - lf-provide-maven-settings-cleanup
940 name: lf-infra-maven-sonarcloud
941 # Run a Sonar build with Maven
944 mvn-version: '{mvn-version}'
945 - lf-update-java-alternatives:
946 java-version: '{java-version}'
948 # Switch this to the sonar wrapper when JJB 2.0 is available
949 properties-content: |
950 SONAR_HOST_URL=https://sonarcloud.io
951 PROJECT_KEY={sonarcloud-project-key}
952 PROJECT_ORGANIZATION={sonarcloud-project-organization}
953 API_TOKEN={sonarcloud-api-token}
954 - lf-provide-maven-settings:
955 global-settings-file: global-settings
956 settings-file: '{mvn-settings}'
957 - shell: !include-raw-escape:
958 - ../shell/common-variables.sh
959 - ../shell/maven-sonar.sh
960 - lf-provide-maven-settings-cleanup
963 name: '{project-name}-sonar'
964 id: gerrit-maven-sonar
966 # yamllint disable-line rule:key-duplicates
970 - lf-infra-gerrit-scm:
971 jenkins-ssh-credential: '{jenkins-ssh-credential}'
973 refspec: $GERRIT_REFSPEC
974 branch: $GERRIT_BRANCH
975 submodule-recursive: '{submodule-recursive}'
976 submodule-timeout: '{submodule-timeout}'
977 choosing-strategy: default
980 name: '{project-name}-sonar'
981 id: github-maven-sonar
983 # yamllint disable-line rule:key-duplicates
987 - lf-infra-properties:
988 build-days-to-keep: '{build-days-to-keep}'
990 url: '{github-url}/{github-org}/{project}'
993 - lf-infra-github-scm:
994 url: '{git-clone-url}{github-org}/{project}'
995 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
997 submodule-recursive: '{submodule-recursive}'
998 submodule-timeout: '{submodule-timeout}'
999 choosing-strategy: default
1000 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1003 - timed: '{obj:cron}'
1004 - github-pull-request:
1005 trigger-phrase: '^run-sonar$'
1006 only-trigger-phrase: true
1007 status-context: 'Maven Sonar'
1012 white-list: '{obj:github_pr_whitelist}'
1013 admin-list: '{obj:github_pr_admin_list}'
1014 white-list-target-branches:
1021 - lf_maven_verify: &lf_maven_verify
1022 name: lf-maven-verify
1024 ######################
1025 # Default parameters #
1026 ######################
1029 build-days-to-keep: 7
1032 git-url: '$GIT_URL/$PROJECT'
1033 github-url: 'https://github.com'
1034 java-version: openjdk8
1035 mvn-global-settings: global-settings
1036 mvn-goals: clean deploy
1038 mvn-params: '-Dstream=$STREAM'
1041 submodule-recursive: true
1042 submodule-timeout: 10
1044 gerrit_verify_triggers:
1045 - patchset-created-event:
1046 exclude-drafts: true
1047 exclude-trivial-rebase: false
1048 exclude-no-code-change: false
1049 - draft-published-event
1050 - comment-added-contains-event:
1051 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1053 gerrit_trigger_file_paths:
1054 - compare-type: REG_EXP
1057 # github_included_regions MUST match gerrit_trigger_file_paths
1058 github_included_regions:
1061 #####################
1062 # Job Configuration #
1063 #####################
1066 disabled: '{disable-job}'
1069 - lf-infra-pre-build
1070 - lf-jacoco-nojava-workaround
1072 mvn-version: '{mvn-version}'
1073 - lf-update-java-alternatives:
1074 java-version: '{java-version}'
1075 - lf-provide-maven-settings:
1076 global-settings-file: '{mvn-global-settings}'
1077 settings-file: '{mvn-settings}'
1079 mvn-goals: '{mvn-goals}'
1080 - lf-provide-maven-settings-cleanup
1088 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1089 id: gerrit-maven-verify
1090 <<: *lf_maven_common
1091 # yamllint disable-line rule:key-duplicates
1092 <<: *lf_maven_verify
1095 - lf-infra-gerrit-scm:
1096 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1097 git-url: '{git-url}'
1098 refspec: '$GERRIT_REFSPEC'
1099 branch: '$GERRIT_BRANCH'
1100 submodule-recursive: '{submodule-recursive}'
1101 submodule-timeout: '{submodule-timeout}'
1102 choosing-strategy: gerrit
1106 server-name: '{gerrit-server-name}'
1107 trigger-on: '{obj:gerrit_verify_triggers}'
1109 - project-compare-type: ANT
1110 project-pattern: '{project}'
1112 - branch-compare-type: ANT
1113 branch-pattern: '**/{branch}'
1114 file-paths: '{obj:gerrit_trigger_file_paths}'
1117 name: '{project-name}-maven-verify-{stream}-{mvn-version}-{java-version}'
1118 id: github-maven-verify
1119 <<: *lf_maven_common
1120 # yamllint disable-line rule:key-duplicates
1121 <<: *lf_maven_verify
1124 - lf-infra-properties:
1125 build-days-to-keep: '{build-days-to-keep}'
1127 url: '{github-url}/{github-org}/{project}'
1130 - lf-infra-github-scm:
1131 url: '{git-clone-url}{github-org}/{project}'
1132 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1134 submodule-recursive: '{submodule-recursive}'
1135 submodule-timeout: '{submodule-timeout}'
1136 choosing-strategy: default
1137 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1140 - github-pull-request:
1141 trigger-phrase: '^(recheck|reverify)$'
1142 only-trigger-phrase: false
1143 status-context: 'Maven Verify'
1146 white-list-target-branches:
1148 included-regions: '{obj:github_included_regions}'
1150 #############################
1151 # Maven Verify Dependencies #
1152 #############################
1154 - lf_maven_verify_dependencies: &lf_maven_verify_dependencies
1155 name: lf-maven-verify-dependencies
1157 ######################
1158 # Default parameters #
1159 ######################
1162 build-days-to-keep: 7
1165 git-url: '$GIT_URL/$PROJECT'
1166 github-url: 'https://github.com'
1167 java-version: openjdk8
1168 mvn-global-settings: global-settings
1169 mvn-goals: clean deploy
1171 mvn-params: '-Dstream=$STREAM'
1174 submodule-recursive: true
1175 submodule-timeout: 10
1177 gerrit_verify_triggers:
1178 - comment-added-contains-event:
1179 comment-contains-value: 'recheck: [0-9 ]+'
1180 gerrit_trigger_file_paths:
1184 #####################
1185 # Job Configuration #
1186 #####################
1189 disabled: '{disable-job}'
1192 - lf-infra-pre-build
1193 - lf-jacoco-nojava-workaround
1195 mvn-version: '{mvn-version}'
1196 - lf-update-java-alternatives:
1197 java-version: '{java-version}'
1198 - lf-provide-maven-settings:
1199 global-settings-file: '{mvn-global-settings}'
1200 settings-file: '{mvn-settings}'
1201 - lf-fetch-dependent-patches
1202 - shell: !include-raw-escape:
1203 - ../shell/common-variables.sh
1204 - ../shell/maven-build-deps.sh
1206 mvn-goals: '{mvn-goals}'
1207 - lf-provide-maven-settings-cleanup
1215 name: '{project-name}-maven-verify-deps-{stream}-{mvn-version}-{java-version}'
1216 id: gerrit-maven-verify-dependencies
1217 <<: *lf_maven_common
1218 # yamllint disable-line rule:key-duplicates
1219 <<: *lf_maven_verify_dependencies
1222 - lf-infra-gerrit-scm:
1223 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1224 git-url: '{git-url}'
1225 refspec: '$GERRIT_REFSPEC'
1226 branch: '$GERRIT_BRANCH'
1227 submodule-recursive: '{submodule-recursive}'
1228 submodule-timeout: '{submodule-timeout}'
1229 choosing-strategy: gerrit
1233 server-name: '{gerrit-server-name}'
1234 trigger-on: '{obj:gerrit_verify_triggers}'
1236 - project-compare-type: ANT
1237 project-pattern: '{project}'
1239 - branch-compare-type: ANT
1240 branch-pattern: '**/{branch}'
1241 file-paths: '{obj:gerrit_trigger_file_paths}'