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
218 - lf-infra-parameters:
222 - lf-autotools-parameters:
223 configure-opts: "{configure-opts}"
224 install-prefix: "{install-prefix}"
225 make-opts: "{make-opts}"
228 default: "{build-wrap-dir}"
229 description: SonarQube build wrapper output directory
232 - shell: "{pre-build}"
233 - shell: !include-raw-escape: ../shell/autotools-sonarqube.sh
235 sonar-task: "{sonar-task}"
236 sonar-project-file: "{sonar-project-file}"
237 sonar-properties: "{sonar-properties}"
238 sonar-java-opts: "{sonar-java-opts}"
239 sonar-additional-args: "{sonar-additional-args}"
242 name: "{project-name}-autotools-sonarqube"
243 id: gerrit-autotools-sonarqube
245 <<: *lf_autotools_common
246 <<: *lf_autotools_sonarqube
248 gerrit_sonar_triggers:
249 - comment-added-contains-event:
250 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
253 - lf-infra-gerrit-scm:
254 branch: "$GERRIT_BRANCH"
255 jenkins-ssh-credential: "{jenkins-ssh-credential}"
257 refspec: "$GERRIT_REFSPEC"
258 submodule-recursive: "{submodule-recursive}"
259 submodule-timeout: "{submodule-timeout}"
260 submodule-disable: "{submodule-disable}"
261 choosing-strategy: default
264 - timed: "{obj:cron}"
266 server-name: "{gerrit-server-name}"
267 trigger-on: "{obj:gerrit_sonar_triggers}"
269 - project-compare-type: "ANT"
270 project-pattern: "{project}"
272 - branch-compare-type: "ANT"
273 branch-pattern: "**/{branch}"
276 name: "{project-name}-autotools-sonarqube"
277 id: github-autotools-sonarqube
279 <<: *lf_autotools_common
280 <<: *lf_autotools_sonarqube
283 - lf-infra-github-scm:
285 jenkins-ssh-credential: "{jenkins-ssh-credential}"
286 url: "{git-clone-url}{github-org}/{project}"
287 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
288 submodule-recursive: "{submodule-recursive}"
289 submodule-timeout: "{submodule-timeout}"
290 submodule-disable: "{submodule-disable}"
291 choosing-strategy: default
294 - github-pull-request:
295 trigger-phrase: "^run-sonar$"
296 only-trigger-phrase: false
297 status-context: "Autotools Sonarqube"
300 white-list-target-branches:
307 - _lf_autotools_verify: &lf_autotools_verify
308 name: lf-autotools-verify
310 ######################
311 # Default parameters #
312 ######################
315 build-days-to-keep: 7
319 git-url: "$GIT_URL/$PROJECT"
320 github-url: "https://github.com"
322 install-prefix: $WORKSPACE/output
323 make-opts: "test" # target that compiles and tests
324 pre-build: | # default script to generate configure file
327 submodule-recursive: true
328 submodule-timeout: 10
329 submodule-disable: false
331 gerrit_verify_triggers:
332 - patchset-created-event:
334 exclude-trivial-rebase: false
335 exclude-no-code-change: false
336 - draft-published-event
337 - comment-added-contains-event:
338 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
340 gerrit_trigger_file_paths:
341 - compare-type: REG_EXP
344 # github_included_regions MUST match gerrit_trigger_file_paths
345 github_included_regions:
349 - lf-infra-parameters:
353 - lf-autotools-parameters:
354 configure-opts: "{configure-opts}"
355 install-prefix: "{install-prefix}"
356 make-opts: "{make-opts}"
360 description: "Install build products to /usr/local (true/false)."
363 - shell: "{pre-build}"
364 - shell: !include-raw-escape: ../shell/autotools-build.sh
367 name: "{project-name}-autotools-verify-{stream}"
368 id: gerrit-autotools-verify
370 <<: *lf_autotools_common
371 <<: *lf_autotools_verify
374 - lf-infra-gerrit-scm:
375 branch: "$GERRIT_BRANCH"
376 jenkins-ssh-credential: "{jenkins-ssh-credential}"
378 refspec: "$GERRIT_REFSPEC"
379 submodule-recursive: "{submodule-recursive}"
380 submodule-timeout: "{submodule-timeout}"
381 submodule-disable: "{submodule-disable}"
382 choosing-strategy: gerrit
386 server-name: "{gerrit-server-name}"
387 trigger-on: "{obj:gerrit_verify_triggers}"
389 - project-compare-type: "ANT"
390 project-pattern: "{project}"
392 - branch-compare-type: "ANT"
393 branch-pattern: "**/{branch}"
394 file-paths: "{obj:gerrit_trigger_file_paths}"
397 name: "{project-name}-autotools-verify-{stream}"
398 id: github-autotools-verify
400 <<: *lf_autotools_common
401 <<: *lf_autotools_verify
404 - lf-infra-properties:
405 build-days-to-keep: "{build-days-to-keep}"
407 url: "{github-url}/{github-org}/{project}"
410 - lf-infra-github-scm:
411 url: "{git-clone-url}{github-org}/{project}"
412 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
414 submodule-recursive: "{submodule-recursive}"
415 submodule-timeout: "{submodule-timeout}"
416 submodule-disable: "{submodule-disable}"
417 choosing-strategy: default
418 jenkins-ssh-credential: "{jenkins-ssh-credential}"
421 - github-pull-request:
422 trigger-phrase: "^(recheck|reverify)$"
423 only-trigger-phrase: false
424 status-context: "Autotools Verify"
427 included-regions: "{obj:github_included_regions}"
428 white-list-target-branches:
435 - _lf_cmake_common: &lf_cmake_common
436 name: lf-cmake-common
438 #####################
439 # Job Configuration #
440 #####################
442 project-type: freestyle
444 disabled: "{disable-job}"
447 - lf-infra-properties:
448 build-days-to-keep: "{build-days-to-keep}"
451 - lf-infra-parameters:
455 - lf-cmake-parameters:
456 build-dir: "{build-dir}"
457 cmake-opts: "{cmake-opts}"
458 install-prefix: "{install-prefix}"
459 make-opts: "{make-opts}"
463 build-timeout: "{build-timeout}"
464 jenkins-ssh-credential: "{jenkins-ssh-credential}"
473 - _lf_cmake_sonar: &lf_cmake_sonar
476 ######################
477 # Default parameters #
478 ######################
481 build-days-to-keep: 7
482 build-dir: "$WORKSPACE/target"
487 git-url: "$GIT_URL/$PROJECT"
488 github-url: "https://github.com"
489 install-prefix: "$BUILD_DIR/output"
492 sonar-scanner-version: 3.3.0.1492
493 sonarcloud-api-token-cred-id: sonarcloud-api-token
494 sonarcloud-organization: ""
495 sonarcloud-project-key: ""
497 submodule-recursive: true
498 submodule-timeout: 10
499 submodule-disable: false
503 - shell: "{pre-build}"
505 # Switch this to the sonar wrapper when JJB 2.0 is available
506 properties-content: |
507 SONAR_HOST_URL=https://sonarcloud.io
508 SONAR_SCANNER_VERSION={sonar-scanner-version}
509 PROJECT_KEY={sonarcloud-project-key}
510 PROJECT_ORGANIZATION={sonarcloud-organization}
511 - shell: !include-raw-escape: ../shell/cmake-sonar.sh
512 - lf-provide-maven-settings-cleanup
515 - credentials-binding:
517 credential-id: "{sonarcloud-api-token-cred-id}"
521 name: "{project-name}-cmake-sonar"
522 id: gerrit-cmake-sonar
528 - lf-infra-gerrit-scm:
529 branch: "$GERRIT_BRANCH"
530 jenkins-ssh-credential: "{jenkins-ssh-credential}"
532 refspec: "$GERRIT_REFSPEC"
533 submodule-recursive: "{submodule-recursive}"
534 submodule-timeout: "{submodule-timeout}"
535 submodule-disable: "{submodule-disable}"
536 choosing-strategy: gerrit
539 - timed: "{obj:cron}"
541 server-name: "{gerrit-server-name}"
543 - comment-added-contains-event:
544 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
546 - project-compare-type: "ANT"
547 project-pattern: "{project}"
549 - branch-compare-type: "ANT"
550 branch-pattern: "**/{branch}"
553 name: "{project-name}-cmake-sonar"
554 id: github-cmake-sonar
560 - lf-infra-properties:
561 build-days-to-keep: "{build-days-to-keep}"
563 url: "{github-url}/{github-org}/{project}"
566 - lf-infra-github-scm:
567 url: "{git-clone-url}{github-org}/{project}"
568 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
570 submodule-recursive: "{submodule-recursive}"
571 submodule-timeout: "{submodule-timeout}"
572 submodule-disable: "{submodule-disable}"
573 choosing-strategy: default
574 jenkins-ssh-credential: "{jenkins-ssh-credential}"
577 - timed: "{obj:cron}"
583 - _lf_cmake_sonarqube: &lf_cmake_sonarqube
584 name: lf-cmake-sonarqube
586 ######################
587 # Default parameters #
588 ######################
592 branch: master # Sonar should always be run on master branch
593 build-days-to-keep: 7
594 build-dir: "$WORKSPACE/build"
596 build-wrap-dir: "$WORKSPACE/bw-output"
600 git-url: "$GIT_URL/$PROJECT"
601 github-url: "https://github.com"
602 install-prefix: "$BUILD_DIR/output"
606 submodule-recursive: true
607 submodule-timeout: 10
608 submodule-disable: false
611 sonar-additional-args: ""
613 sonar-project-file: "sonar-project.properties"
618 - lf-infra-parameters:
622 - lf-cmake-parameters:
623 build-dir: "{build-dir}"
624 cmake-opts: "{cmake-opts}"
625 install-prefix: "{install-prefix}"
626 make-opts: "{make-opts}"
628 name: ARCHIVE_ARTIFACTS
629 default: "{archive-artifacts}"
630 description: Artifacts to archive to the logs server.
633 default: "{build-wrap-dir}"
634 description: SonarQube build wrapper output directory.
638 - shell: "{pre-build}"
639 - shell: !include-raw-escape: ../shell/cmake-sonarqube.sh
641 sonar-task: "{sonar-task}"
642 sonar-project-file: "{sonar-project-file}"
643 sonar-properties: "{sonar-properties}"
644 sonar-java-opts: "{sonar-java-opts}"
645 sonar-additional-args: "{sonar-additional-args}"
648 name: "{project-name}-cmake-sonarqube"
649 id: gerrit-cmake-sonarqube
652 <<: *lf_cmake_sonarqube
654 gerrit_sonar_triggers:
655 - comment-added-contains-event:
656 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
659 - lf-infra-gerrit-scm:
660 branch: "$GERRIT_BRANCH"
661 jenkins-ssh-credential: "{jenkins-ssh-credential}"
663 refspec: "$GERRIT_REFSPEC"
664 submodule-recursive: "{submodule-recursive}"
665 submodule-timeout: "{submodule-timeout}"
666 submodule-disable: "{submodule-disable}"
667 choosing-strategy: default
670 - timed: "{obj:cron}"
672 server-name: "{gerrit-server-name}"
673 trigger-on: "{obj:gerrit_sonar_triggers}"
675 - project-compare-type: "ANT"
676 project-pattern: "{project}"
678 - branch-compare-type: "ANT"
679 branch-pattern: "**/{branch}"
682 name: "{project-name}-cmake-sonarqube"
683 id: github-cmake-sonarqube
686 <<: *lf_cmake_sonarqube
689 - lf-infra-github-scm:
691 jenkins-ssh-credential: "{jenkins-ssh-credential}"
692 url: "{git-clone-url}{github-org}/{project}"
693 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
694 submodule-recursive: "{submodule-recursive}"
695 submodule-timeout: "{submodule-timeout}"
696 submodule-disable: "{submodule-disable}"
697 choosing-strategy: default
700 - github-pull-request:
701 trigger-phrase: "^run-sonar$"
702 only-trigger-phrase: false
703 status-context: "CMake Sonarqube"
706 white-list-target-branches:
713 - _lf_cmake_stage: &lf_cmake_stage
716 ######################
717 # Default parameters #
718 ######################
721 build-days-to-keep: 7
722 build-dir: "$WORKSPACE/target"
727 git-url: "$GIT_URL/$PROJECT"
728 github-url: "https://github.com"
730 install-prefix: "$BUILD_DIR/output"
732 mvn-global-settings: global-settings
735 submodule-recursive: true
736 submodule-timeout: 10
737 submodule-disable: false
741 - lf-infra-parameters:
745 - lf-cmake-parameters:
746 build-dir: "{build-dir}"
747 cmake-opts: "{cmake-opts}"
748 install-prefix: "{install-prefix}"
749 make-opts: "{make-opts}"
753 description: "Install build products to /usr/local (true/false)."
756 default: "{nexus-group-id}"
757 description: "Project Group ID in Nexus to upload to."
759 name: STAGING_PROFILE_ID
760 default: "{staging-profile-id}"
761 description: "Nexus staging profile ID."
768 Project version to stage release as. There are 2 methods for
771 1) Defined explicitly here.
772 2) Leave this value blank and set /tmp/artifact_version
774 Use method 2 in conjunction with 'pre-build' configuration to
775 generate the artifact_version automatically from files in the
776 project's repository. For example with pre-build script:
779 MAJOR_VERSION="$(grep 'set(OCIO_VERSION_MAJOR' CMakeLists.txt \
780 | awk '{{print $NF}}' | awk -F')' '{{print $1}}')"
781 MINOR_VERSION="$(grep 'set(OCIO_VERSION_MINOR' CMakeLists.txt \
782 | awk '{{print $NF}}' | awk -F')' '{{print $1}}')"
783 PATCH_VERSION="$(grep 'set(OCIO_VERSION_PATCH' CMakeLists.txt \
784 | awk '{{print $NF}}' | awk -F')' '{{print $1}}')"
785 echo "${{MAJOR_VERSION}}.${{MINOR_VERSION}}.${{PATCH_VERSION}}" > /tmp/artifact_version
789 - lf-provide-maven-settings:
790 global-settings-file: "{mvn-global-settings}"
791 settings-file: "{mvn-settings}"
792 - lf-infra-create-netrc:
794 - shell: "{pre-build}"
795 - shell: !include-raw-escape: ../shell/cmake-build.sh
796 - shell: !include-raw-escape: ../shell/cmake-stage.sh
797 - lf-provide-maven-settings-cleanup
800 name: "{project-name}-cmake-stage-{stream}"
801 id: gerrit-cmake-stage
807 - lf-infra-gerrit-scm:
808 branch: "$GERRIT_BRANCH"
809 jenkins-ssh-credential: "{jenkins-ssh-credential}"
811 refspec: "$GERRIT_REFSPEC"
812 submodule-recursive: "{submodule-recursive}"
813 submodule-timeout: "{submodule-timeout}"
814 submodule-disable: "{submodule-disable}"
815 choosing-strategy: gerrit
818 - timed: "{obj:cron}"
820 server-name: "{gerrit-server-name}"
822 - comment-added-contains-event:
823 comment-contains-value: '^Patch Set\s+\d+:\s+stage-release\s*$'
825 - project-compare-type: "ANT"
826 project-pattern: "{project}"
828 - branch-compare-type: "ANT"
829 branch-pattern: "**/{branch}"
832 name: "{project-name}-cmake-stage-{stream}"
833 id: github-cmake-stage
839 - lf-infra-properties:
840 build-days-to-keep: "{build-days-to-keep}"
842 url: "{github-url}/{github-org}/{project}"
845 - lf-infra-github-scm:
846 url: "{git-clone-url}{github-org}/{project}"
847 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
849 submodule-recursive: "{submodule-recursive}"
850 submodule-timeout: "{submodule-timeout}"
851 submodule-disable: "{submodule-disable}"
852 choosing-strategy: default
853 jenkins-ssh-credential: "{jenkins-ssh-credential}"
856 - timed: "{obj:cron}"
857 - github-pull-request:
858 trigger-phrase: "^(stage-release)$"
859 only-trigger-phrase: true
860 status-context: "CMake Stage"
863 white-list-target-branches:
866 ############################
867 # CMAKE PACKAGECLOUD STAGE #
868 ############################
870 - _lf_cmake_pc_stage: &lf_cmake_pc_stage
871 name: lf-cmake-packagecloud-stage
873 ######################
874 # Default parameters #
875 ######################
878 build-days-to-keep: 7
879 build-dir: "$WORKSPACE/build"
883 git-url: "$GIT_URL/$PROJECT"
884 github-url: "https://github.com"
886 install-prefix: "$BUILD_DIR/output"
890 submodule-recursive: true
891 submodule-timeout: 10
892 submodule-disable: false
894 gerrit_trigger_file_paths:
895 - compare-type: REG_EXP
898 # github_included_regions MUST match gerrit_trigger_file_paths
899 github_included_regions:
903 - lf-infra-parameters:
907 - lf-cmake-parameters:
908 build-dir: "{build-dir}"
909 cmake-opts: "{cmake-opts}"
910 install-prefix: "{install-prefix}"
911 make-opts: "{make-opts}"
915 description: "Install build products to /usr/local (true/false)."
918 - config-file-provider:
920 - file-id: ".packagecloud"
921 target: "$HOME/.packagecloud"
922 - shell: "{pre-build}"
923 - shell: !include-raw-escape: ../shell/cmake-build.sh
924 - lf-packagecloud-push:
925 build-dir: "{build-dir}"
926 packagecloud-account: "{packagecloud-account}"
927 packagecloud-repo: "{packagecloud-repo}"
928 debian-distribution-versions: "{debian-distribution-versions}"
929 rpm-distribution-versions: "{rpm-distribution-versions}"
932 # build with cmake and publish to PackageCloud on command
933 name: "{project-name}-cmake-packagecloud-stage-{stream}"
934 id: gerrit-cmake-packagecloud-stage
936 <<: *lf_cmake_pc_stage
938 ######################
939 # Default parameters #
940 ######################
942 gerrit_stage_triggers:
943 - comment-added-contains-event:
944 comment-contains-value: '^Patch Set\s+\d+:\s+stage-release\s*$'
946 #####################
947 # Job Configuration #
948 #####################
951 - lf-infra-gerrit-scm:
952 jenkins-ssh-credential: "{jenkins-ssh-credential}"
954 refspec: "$GERRIT_REFSPEC"
955 branch: "$GERRIT_BRANCH"
956 submodule-recursive: "{submodule-recursive}"
957 submodule-timeout: "{submodule-timeout}"
958 submodule-disable: "{submodule-disable}"
959 # stage jobs always build from tip
960 choosing-strategy: default
964 server-name: "{gerrit-server-name}"
965 trigger-on: "{obj:gerrit_stage_triggers}"
967 - project-compare-type: ANT
968 project-pattern: "{project}"
970 - branch-compare-type: ANT
971 branch-pattern: "**/{branch}"
972 file-paths: "{obj:gerrit_trigger_file_paths}"
975 name: "{project-name}-cmake-packagecloud-stage-{stream}"
976 id: github-cmake-packagecloud-stage
979 <<: *lf_cmake_pc_stage
982 - lf-infra-properties:
983 build-days-to-keep: "{build-days-to-keep}"
985 url: "{github-url}/{github-org}/{project}"
988 - lf-infra-github-scm:
989 url: "{git-clone-url}{github-org}/{project}"
990 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
992 submodule-recursive: "{submodule-recursive}"
993 submodule-timeout: "{submodule-timeout}"
994 submodule-disable: "{submodule-disable}"
995 choosing-strategy: default
996 jenkins-ssh-credential: "{jenkins-ssh-credential}"
999 - github-pull-request:
1000 trigger-phrase: "^(stage-release)$"
1001 only-trigger-phrase: true
1002 status-context: "CMake PackageCloud Stage"
1005 white-list-target-branches:
1012 - _lf_cmake_verify: &lf_cmake_verify
1013 name: lf-cmake-verify
1015 ######################
1016 # Default parameters #
1017 ######################
1020 build-days-to-keep: 7
1021 build-dir: "$WORKSPACE/target"
1025 git-url: "$GIT_URL/$PROJECT"
1026 github-url: "https://github.com"
1028 install-prefix: "$BUILD_DIR/output"
1032 submodule-recursive: true
1033 submodule-timeout: 10
1034 submodule-disable: false
1036 gerrit_verify_triggers:
1037 - patchset-created-event:
1038 exclude-drafts: true
1039 exclude-trivial-rebase: false
1040 exclude-no-code-change: false
1041 - draft-published-event
1042 - comment-added-contains-event:
1043 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1045 gerrit_trigger_file_paths:
1046 - compare-type: REG_EXP
1049 # github_included_regions MUST match gerrit_trigger_file_paths
1050 github_included_regions:
1054 - lf-infra-parameters:
1055 project: "{project}"
1058 - lf-cmake-parameters:
1059 build-dir: "{build-dir}"
1060 cmake-opts: "{cmake-opts}"
1061 install-prefix: "{install-prefix}"
1062 make-opts: "{make-opts}"
1065 default: "{install}"
1066 description: "Install build products to /usr/local (true/false)."
1069 - shell: "{pre-build}"
1070 - shell: !include-raw-escape: ../shell/cmake-build.sh
1073 name: "{project-name}-cmake-verify-{stream}"
1074 id: gerrit-cmake-verify
1076 <<: *lf_cmake_common
1077 <<: *lf_cmake_verify
1080 - lf-infra-gerrit-scm:
1081 branch: "$GERRIT_BRANCH"
1082 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1083 git-url: "{git-url}"
1084 refspec: "$GERRIT_REFSPEC"
1085 submodule-recursive: "{submodule-recursive}"
1086 submodule-timeout: "{submodule-timeout}"
1087 submodule-disable: "{submodule-disable}"
1088 choosing-strategy: gerrit
1092 server-name: "{gerrit-server-name}"
1093 trigger-on: "{obj:gerrit_verify_triggers}"
1095 - project-compare-type: "ANT"
1096 project-pattern: "{project}"
1098 - branch-compare-type: "ANT"
1099 branch-pattern: "**/{branch}"
1100 file-paths: "{obj:gerrit_trigger_file_paths}"
1103 name: "{project-name}-cmake-verify-{stream}"
1104 id: github-cmake-verify
1106 <<: *lf_cmake_common
1107 <<: *lf_cmake_verify
1110 - lf-infra-properties:
1111 build-days-to-keep: "{build-days-to-keep}"
1113 url: "{github-url}/{github-org}/{project}"
1116 - lf-infra-github-scm:
1117 url: "{git-clone-url}{github-org}/{project}"
1118 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1120 submodule-recursive: "{submodule-recursive}"
1121 submodule-timeout: "{submodule-timeout}"
1122 submodule-disable: "{submodule-disable}"
1123 choosing-strategy: default
1124 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1127 - github-pull-request:
1128 trigger-phrase: "^(recheck|reverify)$"
1129 only-trigger-phrase: false
1130 status-context: "CMake Verify"
1133 included-regions: "{obj:github_included_regions}"
1134 white-list-target-branches: