6 - _lf_autotools_common: &lf_autotools_common
7 name: lf-autotools-common
13 project-type: freestyle
15 disabled: "{disable-job}"
18 - lf-infra-properties:
19 build-days-to-keep: "{build-days-to-keep}"
22 - lf-infra-parameters:
26 - lf-autotools-parameters:
27 configure-opts: "{configure-opts}"
28 install-prefix: "{install-prefix}"
29 make-opts: "{make-opts}"
33 build-timeout: "{build-timeout}"
34 jenkins-ssh-credential: "{jenkins-ssh-credential}"
39 ################################
40 # AUTOTOOLS PACKAGECLOUD STAGE #
41 ################################
43 - _lf_autotools_packagecloud_stage: &lf_autotools_packagecloud_stage
44 name: lf-autotools-packagecloud-stage
46 ######################
47 # Default parameters #
48 ######################
52 build-dir: "$WORKSPACE" # directory with deb/rpm files
56 git-url: "$GIT_URL/$PROJECT"
57 github-url: "https://github.com"
59 install-prefix: $WORKSPACE/output
60 make-opts: "" # target that creates deb/rpm files
61 pre-build: | # default script to generate configure file
64 submodule-recursive: true
66 submodule-disable: false
68 gerrit_trigger_file_paths:
69 - compare-type: REG_EXP
72 # github_included_regions MUST match gerrit_trigger_file_paths
73 github_included_regions:
77 - lf-infra-parameters:
81 - lf-autotools-parameters:
82 configure-opts: "{configure-opts}"
83 install-prefix: "{install-prefix}"
84 make-opts: "{make-opts}"
88 description: "Install build products to /usr/local (true/false)."
91 - config-file-provider:
93 - file-id: ".packagecloud"
94 target: "$HOME/.packagecloud"
95 - shell: "{pre-build}"
96 - shell: !include-raw-escape: ../shell/autotools-build.sh
97 - lf-packagecloud-push:
98 build-dir: "{build-dir}"
99 packagecloud-account: "{packagecloud-account}"
100 packagecloud-repo: "{packagecloud-repo}"
101 debian-distribution-versions: "{debian-distribution-versions}"
102 rpm-distribution-versions: "{rpm-distribution-versions}"
105 # build with configure/make and publish to PackageCloud on command
106 name: "{project-name}-autotools-packagecloud-stage-{stream}"
107 id: gerrit-autotools-packagecloud-stage
108 <<: *lf_autotools_common
109 <<: *lf_autotools_packagecloud_stage
111 ######################
112 # Default parameters #
113 ######################
115 gerrit_stage_triggers:
116 - comment-added-contains-event:
117 comment-contains-value: '^Patch Set\s+\d+:\s+stage-release\s*$'
119 #####################
120 # Job Configuration #
121 #####################
124 - lf-infra-gerrit-scm:
125 jenkins-ssh-credential: "{jenkins-ssh-credential}"
127 refspec: "$GERRIT_REFSPEC"
128 branch: "$GERRIT_BRANCH"
129 submodule-recursive: "{submodule-recursive}"
130 submodule-timeout: "{submodule-timeout}"
131 submodule-disable: "{submodule-disable}"
132 # stage jobs always build from tip
133 choosing-strategy: default
137 server-name: "{gerrit-server-name}"
138 trigger-on: "{obj:gerrit_stage_triggers}"
140 - project-compare-type: ANT
141 project-pattern: "{project}"
143 - branch-compare-type: ANT
144 branch-pattern: "**/{branch}"
145 file-paths: "{obj:gerrit_trigger_file_paths}"
148 name: "{project-name}-autotools-packagecloud-stage-{stream}"
149 id: github-autotools-packagecloud-stage
151 <<: *lf_autotools_common
152 <<: *lf_autotools_packagecloud_stage
155 - lf-infra-properties:
156 build-days-to-keep: "{build-days-to-keep}"
158 url: "{github-url}/{github-org}/{project}"
161 - lf-infra-github-scm:
162 url: "{git-clone-url}{github-org}/{project}"
163 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
165 submodule-recursive: "{submodule-recursive}"
166 submodule-timeout: "{submodule-timeout}"
167 submodule-disable: "{submodule-disable}"
168 choosing-strategy: default
169 jenkins-ssh-credential: "{jenkins-ssh-credential}"
172 - github-pull-request:
173 trigger-phrase: "^(stage-release)$"
174 only-trigger-phrase: true
175 status-context: "Autotools PackageCloud Stage"
178 white-list-target-branches:
181 #######################
182 # AUTOTOOLS SONARQUBE #
183 #######################
185 - _lf_autotools_sonarqube: &lf_autotools_sonarqube
186 name: lf-autotools-sonarqube
188 ######################
189 # Default parameters #
190 ######################
192 branch: master # Sonar should always be run on master branch
193 build-days-to-keep: 7
195 build-wrap-dir: $WORKSPACE/bw-output
196 configure-opts: CXXFLAGS="-O0 --coverage" LDFLAGS=--coverage # gcc coverage options
199 git-url: "$GIT_URL/$PROJECT"
200 github-url: "https://github.com"
201 install-prefix: $WORKSPACE/output
202 make-opts: "" # target that tests and generates gcov files
203 pre-build: | # default script to generate configure file
206 submodule-recursive: true
207 submodule-timeout: 10
208 submodule-disable: false
211 sonar-additional-args: ""
213 sonar-project-file: sonar-project.properties
219 - lf-infra-parameters:
223 - lf-autotools-parameters:
224 configure-opts: "{configure-opts}"
225 install-prefix: "{install-prefix}"
226 make-opts: "{make-opts}"
229 default: "{build-wrap-dir}"
230 description: SonarQube build wrapper output directory
233 - shell: "{pre-build}"
234 - shell: !include-raw-escape: ../shell/autotools-sonarqube.sh
236 sonar-task: "{sonar-task}"
237 sonar-project-file: "{sonar-project-file}"
238 sonar-properties: "{sonar-properties}"
239 sonar-java-opts: "{sonar-java-opts}"
240 sonar-additional-args: "{sonar-additional-args}"
241 sonar-jdk: "{sonar-jdk}"
244 name: "{project-name}-autotools-sonarqube"
245 id: gerrit-autotools-sonarqube
247 <<: *lf_autotools_common
248 <<: *lf_autotools_sonarqube
250 gerrit_sonar_triggers:
251 - comment-added-contains-event:
252 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
255 - lf-infra-gerrit-scm:
256 branch: "$GERRIT_BRANCH"
257 jenkins-ssh-credential: "{jenkins-ssh-credential}"
259 refspec: "$GERRIT_REFSPEC"
260 submodule-recursive: "{submodule-recursive}"
261 submodule-timeout: "{submodule-timeout}"
262 submodule-disable: "{submodule-disable}"
263 choosing-strategy: default
266 - timed: "{obj:cron}"
268 server-name: "{gerrit-server-name}"
269 trigger-on: "{obj:gerrit_sonar_triggers}"
271 - project-compare-type: "ANT"
272 project-pattern: "{project}"
274 - branch-compare-type: "ANT"
275 branch-pattern: "**/{branch}"
278 name: "{project-name}-autotools-sonarqube"
279 id: github-autotools-sonarqube
281 <<: *lf_autotools_common
282 <<: *lf_autotools_sonarqube
285 - lf-infra-github-scm:
287 jenkins-ssh-credential: "{jenkins-ssh-credential}"
288 url: "{git-clone-url}{github-org}/{project}"
289 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
290 submodule-recursive: "{submodule-recursive}"
291 submodule-timeout: "{submodule-timeout}"
292 submodule-disable: "{submodule-disable}"
293 choosing-strategy: default
296 - github-pull-request:
297 trigger-phrase: "^run-sonar$"
298 only-trigger-phrase: false
299 status-context: "Autotools Sonarqube"
302 white-list-target-branches:
309 - _lf_autotools_verify: &lf_autotools_verify
310 name: lf-autotools-verify
312 ######################
313 # Default parameters #
314 ######################
317 build-days-to-keep: 7
321 git-url: "$GIT_URL/$PROJECT"
322 github-url: "https://github.com"
324 install-prefix: $WORKSPACE/output
325 make-opts: "test" # target that compiles and tests
326 pre-build: | # default script to generate configure file
329 submodule-recursive: true
330 submodule-timeout: 10
331 submodule-disable: false
333 gerrit_verify_triggers:
334 - patchset-created-event:
336 exclude-trivial-rebase: false
337 exclude-no-code-change: false
338 - draft-published-event
339 - comment-added-contains-event:
340 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
342 gerrit_trigger_file_paths:
343 - compare-type: REG_EXP
346 # github_included_regions MUST match gerrit_trigger_file_paths
347 github_included_regions:
351 - lf-infra-parameters:
355 - lf-autotools-parameters:
356 configure-opts: "{configure-opts}"
357 install-prefix: "{install-prefix}"
358 make-opts: "{make-opts}"
362 description: "Install build products to /usr/local (true/false)."
365 - shell: "{pre-build}"
366 - shell: !include-raw-escape: ../shell/autotools-build.sh
369 name: "{project-name}-autotools-verify-{stream}"
370 id: gerrit-autotools-verify
372 <<: *lf_autotools_common
373 <<: *lf_autotools_verify
376 - lf-infra-gerrit-scm:
377 branch: "$GERRIT_BRANCH"
378 jenkins-ssh-credential: "{jenkins-ssh-credential}"
380 refspec: "$GERRIT_REFSPEC"
381 submodule-recursive: "{submodule-recursive}"
382 submodule-timeout: "{submodule-timeout}"
383 submodule-disable: "{submodule-disable}"
384 choosing-strategy: gerrit
388 server-name: "{gerrit-server-name}"
389 trigger-on: "{obj:gerrit_verify_triggers}"
391 - project-compare-type: "ANT"
392 project-pattern: "{project}"
394 - branch-compare-type: "ANT"
395 branch-pattern: "**/{branch}"
396 file-paths: "{obj:gerrit_trigger_file_paths}"
399 name: "{project-name}-autotools-verify-{stream}"
400 id: github-autotools-verify
402 <<: *lf_autotools_common
403 <<: *lf_autotools_verify
406 - lf-infra-properties:
407 build-days-to-keep: "{build-days-to-keep}"
409 url: "{github-url}/{github-org}/{project}"
412 - lf-infra-github-scm:
413 url: "{git-clone-url}{github-org}/{project}"
414 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
416 submodule-recursive: "{submodule-recursive}"
417 submodule-timeout: "{submodule-timeout}"
418 submodule-disable: "{submodule-disable}"
419 choosing-strategy: default
420 jenkins-ssh-credential: "{jenkins-ssh-credential}"
423 - github-pull-request:
424 trigger-phrase: "^(recheck|reverify)$"
425 only-trigger-phrase: false
426 status-context: "Autotools Verify"
429 included-regions: "{obj:github_included_regions}"
430 white-list-target-branches:
437 - _lf_cmake_common: &lf_cmake_common
438 name: lf-cmake-common
440 #####################
441 # Job Configuration #
442 #####################
444 project-type: freestyle
446 disabled: "{disable-job}"
449 - lf-infra-properties:
450 build-days-to-keep: "{build-days-to-keep}"
453 - lf-infra-parameters:
457 - lf-cmake-parameters:
458 build-dir: "{build-dir}"
459 cmake-opts: "{cmake-opts}"
460 install-prefix: "{install-prefix}"
461 make-opts: "{make-opts}"
465 build-timeout: "{build-timeout}"
466 jenkins-ssh-credential: "{jenkins-ssh-credential}"
475 - _lf_cmake_sonar: &lf_cmake_sonar
478 ######################
479 # Default parameters #
480 ######################
483 build-days-to-keep: 7
484 build-dir: "$WORKSPACE/target"
489 git-url: "$GIT_URL/$PROJECT"
490 github-url: "https://github.com"
491 install-prefix: "$BUILD_DIR/output"
494 sonar-scanner-version: 3.3.0.1492
495 sonarcloud-api-token-cred-id: sonarcloud-api-token
496 sonarcloud-organization: ""
497 sonarcloud-project-key: ""
499 submodule-recursive: true
500 submodule-timeout: 10
501 submodule-disable: false
505 - shell: "{pre-build}"
507 # Switch this to the sonar wrapper when JJB 2.0 is available
508 properties-content: |
509 SONAR_HOST_URL=https://sonarcloud.io
510 SONAR_SCANNER_VERSION={sonar-scanner-version}
511 PROJECT_KEY={sonarcloud-project-key}
512 PROJECT_ORGANIZATION={sonarcloud-organization}
513 - shell: !include-raw-escape: ../shell/cmake-sonar.sh
514 - lf-provide-maven-settings-cleanup
517 - credentials-binding:
519 credential-id: "{sonarcloud-api-token-cred-id}"
523 name: "{project-name}-cmake-sonar"
524 id: gerrit-cmake-sonar
530 - lf-infra-gerrit-scm:
531 branch: "$GERRIT_BRANCH"
532 jenkins-ssh-credential: "{jenkins-ssh-credential}"
534 refspec: "$GERRIT_REFSPEC"
535 submodule-recursive: "{submodule-recursive}"
536 submodule-timeout: "{submodule-timeout}"
537 submodule-disable: "{submodule-disable}"
538 choosing-strategy: gerrit
541 - timed: "{obj:cron}"
543 server-name: "{gerrit-server-name}"
545 - comment-added-contains-event:
546 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
548 - project-compare-type: "ANT"
549 project-pattern: "{project}"
551 - branch-compare-type: "ANT"
552 branch-pattern: "**/{branch}"
555 name: "{project-name}-cmake-sonar"
556 id: github-cmake-sonar
562 - lf-infra-properties:
563 build-days-to-keep: "{build-days-to-keep}"
565 url: "{github-url}/{github-org}/{project}"
568 - lf-infra-github-scm:
569 url: "{git-clone-url}{github-org}/{project}"
570 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
572 submodule-recursive: "{submodule-recursive}"
573 submodule-timeout: "{submodule-timeout}"
574 submodule-disable: "{submodule-disable}"
575 choosing-strategy: default
576 jenkins-ssh-credential: "{jenkins-ssh-credential}"
579 - timed: "{obj:cron}"
585 - _lf_cmake_sonarqube: &lf_cmake_sonarqube
586 name: lf-cmake-sonarqube
588 ######################
589 # Default parameters #
590 ######################
594 branch: master # Sonar should always be run on master branch
595 build-days-to-keep: 7
596 build-dir: "$WORKSPACE/build"
598 build-wrap-dir: "$WORKSPACE/bw-output"
602 git-url: "$GIT_URL/$PROJECT"
603 github-url: "https://github.com"
604 install-prefix: "$BUILD_DIR/output"
608 submodule-recursive: true
609 submodule-timeout: 10
610 submodule-disable: false
613 sonar-additional-args: ""
615 sonar-project-file: "sonar-project.properties"
621 - lf-infra-parameters:
625 - lf-cmake-parameters:
626 build-dir: "{build-dir}"
627 cmake-opts: "{cmake-opts}"
628 install-prefix: "{install-prefix}"
629 make-opts: "{make-opts}"
631 name: ARCHIVE_ARTIFACTS
632 default: "{archive-artifacts}"
633 description: Artifacts to archive to the logs server.
636 default: "{build-wrap-dir}"
637 description: SonarQube build wrapper output directory.
641 - shell: "{pre-build}"
642 - shell: !include-raw-escape: ../shell/cmake-sonarqube.sh
644 sonar-task: "{sonar-task}"
645 sonar-project-file: "{sonar-project-file}"
646 sonar-properties: "{sonar-properties}"
647 sonar-java-opts: "{sonar-java-opts}"
648 sonar-additional-args: "{sonar-additional-args}"
649 sonar-jdk: "{sonar-jdk}"
652 name: "{project-name}-cmake-sonarqube"
653 id: gerrit-cmake-sonarqube
656 <<: *lf_cmake_sonarqube
658 gerrit_sonar_triggers:
659 - comment-added-contains-event:
660 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
663 - lf-infra-gerrit-scm:
664 branch: "$GERRIT_BRANCH"
665 jenkins-ssh-credential: "{jenkins-ssh-credential}"
667 refspec: "$GERRIT_REFSPEC"
668 submodule-recursive: "{submodule-recursive}"
669 submodule-timeout: "{submodule-timeout}"
670 submodule-disable: "{submodule-disable}"
671 choosing-strategy: default
674 - timed: "{obj:cron}"
676 server-name: "{gerrit-server-name}"
677 trigger-on: "{obj:gerrit_sonar_triggers}"
679 - project-compare-type: "ANT"
680 project-pattern: "{project}"
682 - branch-compare-type: "ANT"
683 branch-pattern: "**/{branch}"
686 name: "{project-name}-cmake-sonarqube"
687 id: github-cmake-sonarqube
690 <<: *lf_cmake_sonarqube
693 - lf-infra-github-scm:
695 jenkins-ssh-credential: "{jenkins-ssh-credential}"
696 url: "{git-clone-url}{github-org}/{project}"
697 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
698 submodule-recursive: "{submodule-recursive}"
699 submodule-timeout: "{submodule-timeout}"
700 submodule-disable: "{submodule-disable}"
701 choosing-strategy: default
704 - github-pull-request:
705 trigger-phrase: "^run-sonar$"
706 only-trigger-phrase: false
707 status-context: "CMake Sonarqube"
710 white-list-target-branches:
717 - _lf_cmake_stage: &lf_cmake_stage
720 ######################
721 # Default parameters #
722 ######################
725 build-days-to-keep: 7
726 build-dir: "$WORKSPACE/target"
731 git-url: "$GIT_URL/$PROJECT"
732 github-url: "https://github.com"
734 install-prefix: "$BUILD_DIR/output"
736 mvn-global-settings: global-settings
739 submodule-recursive: true
740 submodule-timeout: 10
741 submodule-disable: false
745 - lf-infra-parameters:
749 - lf-cmake-parameters:
750 build-dir: "{build-dir}"
751 cmake-opts: "{cmake-opts}"
752 install-prefix: "{install-prefix}"
753 make-opts: "{make-opts}"
757 description: "Install build products to /usr/local (true/false)."
760 default: "{nexus-group-id}"
761 description: "Project Group ID in Nexus to upload to."
763 name: STAGING_PROFILE_ID
764 default: "{staging-profile-id}"
765 description: "Nexus staging profile ID."
772 Project version to stage release as. There are 2 methods for
775 1) Defined explicitly here.
776 2) Leave this value blank and set /tmp/artifact_version
778 Use method 2 in conjunction with 'pre-build' configuration to
779 generate the artifact_version automatically from files in the
780 project's repository. For example with pre-build script:
783 MAJOR_VERSION="$(grep 'set(OCIO_VERSION_MAJOR' CMakeLists.txt \
784 | awk '{{print $NF}}' | awk -F')' '{{print $1}}')"
785 MINOR_VERSION="$(grep 'set(OCIO_VERSION_MINOR' CMakeLists.txt \
786 | awk '{{print $NF}}' | awk -F')' '{{print $1}}')"
787 PATCH_VERSION="$(grep 'set(OCIO_VERSION_PATCH' CMakeLists.txt \
788 | awk '{{print $NF}}' | awk -F')' '{{print $1}}')"
789 echo "${{MAJOR_VERSION}}.${{MINOR_VERSION}}.${{PATCH_VERSION}}" > /tmp/artifact_version
793 - lf-provide-maven-settings:
794 global-settings-file: "{mvn-global-settings}"
795 settings-file: "{mvn-settings}"
796 - lf-infra-create-netrc:
798 - shell: "{pre-build}"
799 - shell: !include-raw-escape: ../shell/cmake-build.sh
800 - shell: !include-raw-escape: ../shell/cmake-stage.sh
801 - lf-provide-maven-settings-cleanup
804 name: "{project-name}-cmake-stage-{stream}"
805 id: gerrit-cmake-stage
811 - lf-infra-gerrit-scm:
812 branch: "$GERRIT_BRANCH"
813 jenkins-ssh-credential: "{jenkins-ssh-credential}"
815 refspec: "$GERRIT_REFSPEC"
816 submodule-recursive: "{submodule-recursive}"
817 submodule-timeout: "{submodule-timeout}"
818 submodule-disable: "{submodule-disable}"
819 choosing-strategy: gerrit
822 - timed: "{obj:cron}"
824 server-name: "{gerrit-server-name}"
826 - comment-added-contains-event:
827 comment-contains-value: '^Patch Set\s+\d+:\s+stage-release\s*$'
829 - project-compare-type: "ANT"
830 project-pattern: "{project}"
832 - branch-compare-type: "ANT"
833 branch-pattern: "**/{branch}"
836 name: "{project-name}-cmake-stage-{stream}"
837 id: github-cmake-stage
843 - lf-infra-properties:
844 build-days-to-keep: "{build-days-to-keep}"
846 url: "{github-url}/{github-org}/{project}"
849 - lf-infra-github-scm:
850 url: "{git-clone-url}{github-org}/{project}"
851 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
853 submodule-recursive: "{submodule-recursive}"
854 submodule-timeout: "{submodule-timeout}"
855 submodule-disable: "{submodule-disable}"
856 choosing-strategy: default
857 jenkins-ssh-credential: "{jenkins-ssh-credential}"
860 - timed: "{obj:cron}"
861 - github-pull-request:
862 trigger-phrase: "^(stage-release)$"
863 only-trigger-phrase: true
864 status-context: "CMake Stage"
867 white-list-target-branches:
870 ############################
871 # CMAKE PACKAGECLOUD STAGE #
872 ############################
874 - _lf_cmake_pc_stage: &lf_cmake_pc_stage
875 name: lf-cmake-packagecloud-stage
877 ######################
878 # Default parameters #
879 ######################
882 build-days-to-keep: 7
883 build-dir: "$WORKSPACE/build"
887 git-url: "$GIT_URL/$PROJECT"
888 github-url: "https://github.com"
890 install-prefix: "$BUILD_DIR/output"
894 submodule-recursive: true
895 submodule-timeout: 10
896 submodule-disable: false
898 gerrit_trigger_file_paths:
899 - compare-type: REG_EXP
902 # github_included_regions MUST match gerrit_trigger_file_paths
903 github_included_regions:
907 - lf-infra-parameters:
911 - lf-cmake-parameters:
912 build-dir: "{build-dir}"
913 cmake-opts: "{cmake-opts}"
914 install-prefix: "{install-prefix}"
915 make-opts: "{make-opts}"
919 description: "Install build products to /usr/local (true/false)."
922 - config-file-provider:
924 - file-id: ".packagecloud"
925 target: "$HOME/.packagecloud"
926 - shell: "{pre-build}"
927 - shell: !include-raw-escape: ../shell/cmake-build.sh
928 - lf-packagecloud-push:
929 build-dir: "{build-dir}"
930 packagecloud-account: "{packagecloud-account}"
931 packagecloud-repo: "{packagecloud-repo}"
932 debian-distribution-versions: "{debian-distribution-versions}"
933 rpm-distribution-versions: "{rpm-distribution-versions}"
936 # build with cmake and publish to PackageCloud on command
937 name: "{project-name}-cmake-packagecloud-stage-{stream}"
938 id: gerrit-cmake-packagecloud-stage
940 <<: *lf_cmake_pc_stage
942 ######################
943 # Default parameters #
944 ######################
946 gerrit_stage_triggers:
947 - comment-added-contains-event:
948 comment-contains-value: '^Patch Set\s+\d+:\s+stage-release\s*$'
950 #####################
951 # Job Configuration #
952 #####################
955 - lf-infra-gerrit-scm:
956 jenkins-ssh-credential: "{jenkins-ssh-credential}"
958 refspec: "$GERRIT_REFSPEC"
959 branch: "$GERRIT_BRANCH"
960 submodule-recursive: "{submodule-recursive}"
961 submodule-timeout: "{submodule-timeout}"
962 submodule-disable: "{submodule-disable}"
963 # stage jobs always build from tip
964 choosing-strategy: default
968 server-name: "{gerrit-server-name}"
969 trigger-on: "{obj:gerrit_stage_triggers}"
971 - project-compare-type: ANT
972 project-pattern: "{project}"
974 - branch-compare-type: ANT
975 branch-pattern: "**/{branch}"
976 file-paths: "{obj:gerrit_trigger_file_paths}"
979 name: "{project-name}-cmake-packagecloud-stage-{stream}"
980 id: github-cmake-packagecloud-stage
983 <<: *lf_cmake_pc_stage
986 - lf-infra-properties:
987 build-days-to-keep: "{build-days-to-keep}"
989 url: "{github-url}/{github-org}/{project}"
992 - lf-infra-github-scm:
993 url: "{git-clone-url}{github-org}/{project}"
994 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
996 submodule-recursive: "{submodule-recursive}"
997 submodule-timeout: "{submodule-timeout}"
998 submodule-disable: "{submodule-disable}"
999 choosing-strategy: default
1000 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1003 - github-pull-request:
1004 trigger-phrase: "^(stage-release)$"
1005 only-trigger-phrase: true
1006 status-context: "CMake PackageCloud Stage"
1009 white-list-target-branches:
1016 - _lf_cmake_verify: &lf_cmake_verify
1017 name: lf-cmake-verify
1019 ######################
1020 # Default parameters #
1021 ######################
1024 build-days-to-keep: 7
1025 build-dir: "$WORKSPACE/target"
1029 git-url: "$GIT_URL/$PROJECT"
1030 github-url: "https://github.com"
1032 install-prefix: "$BUILD_DIR/output"
1036 submodule-recursive: true
1037 submodule-timeout: 10
1038 submodule-disable: false
1040 gerrit_verify_triggers:
1041 - patchset-created-event:
1042 exclude-drafts: true
1043 exclude-trivial-rebase: false
1044 exclude-no-code-change: false
1045 - draft-published-event
1046 - comment-added-contains-event:
1047 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1049 gerrit_trigger_file_paths:
1050 - compare-type: REG_EXP
1053 # github_included_regions MUST match gerrit_trigger_file_paths
1054 github_included_regions:
1058 - lf-infra-parameters:
1059 project: "{project}"
1062 - lf-cmake-parameters:
1063 build-dir: "{build-dir}"
1064 cmake-opts: "{cmake-opts}"
1065 install-prefix: "{install-prefix}"
1066 make-opts: "{make-opts}"
1069 default: "{install}"
1070 description: "Install build products to /usr/local (true/false)."
1073 - shell: "{pre-build}"
1074 - shell: !include-raw-escape: ../shell/cmake-build.sh
1077 name: "{project-name}-cmake-verify-{stream}"
1078 id: gerrit-cmake-verify
1080 <<: *lf_cmake_common
1081 <<: *lf_cmake_verify
1084 - lf-infra-gerrit-scm:
1085 branch: "$GERRIT_BRANCH"
1086 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1087 git-url: "{git-url}"
1088 refspec: "$GERRIT_REFSPEC"
1089 submodule-recursive: "{submodule-recursive}"
1090 submodule-timeout: "{submodule-timeout}"
1091 submodule-disable: "{submodule-disable}"
1092 choosing-strategy: gerrit
1096 server-name: "{gerrit-server-name}"
1097 trigger-on: "{obj:gerrit_verify_triggers}"
1099 - project-compare-type: "ANT"
1100 project-pattern: "{project}"
1102 - branch-compare-type: "ANT"
1103 branch-pattern: "**/{branch}"
1104 file-paths: "{obj:gerrit_trigger_file_paths}"
1107 name: "{project-name}-cmake-verify-{stream}"
1108 id: github-cmake-verify
1110 <<: *lf_cmake_common
1111 <<: *lf_cmake_verify
1114 - lf-infra-properties:
1115 build-days-to-keep: "{build-days-to-keep}"
1117 url: "{github-url}/{github-org}/{project}"
1120 - lf-infra-github-scm:
1121 url: "{git-clone-url}{github-org}/{project}"
1122 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1124 submodule-recursive: "{submodule-recursive}"
1125 submodule-timeout: "{submodule-timeout}"
1126 submodule-disable: "{submodule-disable}"
1127 choosing-strategy: default
1128 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1131 - github-pull-request:
1132 trigger-phrase: "^(recheck|reverify)$"
1133 only-trigger-phrase: false
1134 status-context: "CMake Verify"
1137 included-regions: "{obj:github_included_regions}"
1138 white-list-target-branches: