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: ""
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 API_TOKEN={sonarcloud-api-token}
512 - shell: !include-raw-escape: ../shell/cmake-sonar.sh
513 - lf-provide-maven-settings-cleanup
516 name: "{project-name}-cmake-sonar"
517 id: gerrit-cmake-sonar
523 - lf-infra-gerrit-scm:
524 branch: "$GERRIT_BRANCH"
525 jenkins-ssh-credential: "{jenkins-ssh-credential}"
527 refspec: "$GERRIT_REFSPEC"
528 submodule-recursive: "{submodule-recursive}"
529 submodule-timeout: "{submodule-timeout}"
530 submodule-disable: "{submodule-disable}"
531 choosing-strategy: gerrit
534 - timed: "{obj:cron}"
536 server-name: "{gerrit-server-name}"
538 - comment-added-contains-event:
539 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
541 - project-compare-type: "ANT"
542 project-pattern: "{project}"
544 - branch-compare-type: "ANT"
545 branch-pattern: "**/{branch}"
548 name: "{project-name}-cmake-sonar"
549 id: github-cmake-sonar
555 - lf-infra-properties:
556 build-days-to-keep: "{build-days-to-keep}"
558 url: "{github-url}/{github-org}/{project}"
561 - lf-infra-github-scm:
562 url: "{git-clone-url}{github-org}/{project}"
563 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
565 submodule-recursive: "{submodule-recursive}"
566 submodule-timeout: "{submodule-timeout}"
567 submodule-disable: "{submodule-disable}"
568 choosing-strategy: default
569 jenkins-ssh-credential: "{jenkins-ssh-credential}"
572 - timed: "{obj:cron}"
578 - lf_cmake_sonarqube: &lf_cmake_sonarqube
579 name: lf-cmake-sonarqube
581 ######################
582 # Default parameters #
583 ######################
587 branch: master # Sonar should always be run on master branch
588 build-days-to-keep: 7
589 build-dir: "$WORKSPACE/build"
591 build-wrap-dir: "$WORKSPACE/bw-output"
595 git-url: "$GIT_URL/$PROJECT"
596 github-url: "https://github.com"
597 install-prefix: "$BUILD_DIR/output"
601 submodule-recursive: true
602 submodule-timeout: 10
603 submodule-disable: false
606 sonar-additional-args: ""
608 sonar-project-file: "sonar-project.properties"
613 - lf-infra-parameters:
617 - lf-cmake-parameters:
618 build-dir: "{build-dir}"
619 cmake-opts: "{cmake-opts}"
620 install-prefix: "{install-prefix}"
621 make-opts: "{make-opts}"
623 name: ARCHIVE_ARTIFACTS
624 default: "{archive-artifacts}"
625 description: Artifacts to archive to the logs server.
628 default: "{build-wrap-dir}"
629 description: SonarQube build wrapper output directory.
633 - shell: "{pre-build}"
634 - shell: !include-raw-escape: ../shell/cmake-sonarqube.sh
636 sonar-task: "{sonar-task}"
637 sonar-project-file: "{sonar-project-file}"
638 sonar-properties: "{sonar-properties}"
639 sonar-java-opts: "{sonar-java-opts}"
640 sonar-additional-args: "{sonar-additional-args}"
643 name: "{project-name}-cmake-sonarqube"
644 id: gerrit-cmake-sonarqube
647 <<: *lf_cmake_sonarqube
649 gerrit_sonar_triggers:
650 - comment-added-contains-event:
651 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
654 - lf-infra-gerrit-scm:
655 branch: "$GERRIT_BRANCH"
656 jenkins-ssh-credential: "{jenkins-ssh-credential}"
658 refspec: "$GERRIT_REFSPEC"
659 submodule-recursive: "{submodule-recursive}"
660 submodule-timeout: "{submodule-timeout}"
661 submodule-disable: "{submodule-disable}"
662 choosing-strategy: default
665 - timed: "{obj:cron}"
667 server-name: "{gerrit-server-name}"
668 trigger-on: "{obj:gerrit_sonar_triggers}"
670 - project-compare-type: "ANT"
671 project-pattern: "{project}"
673 - branch-compare-type: "ANT"
674 branch-pattern: "**/{branch}"
677 name: "{project-name}-cmake-sonarqube"
678 id: github-cmake-sonarqube
681 <<: *lf_cmake_sonarqube
684 - lf-infra-github-scm:
686 jenkins-ssh-credential: "{jenkins-ssh-credential}"
687 url: "{git-clone-url}{github-org}/{project}"
688 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
689 submodule-recursive: "{submodule-recursive}"
690 submodule-timeout: "{submodule-timeout}"
691 submodule-disable: "{submodule-disable}"
692 choosing-strategy: default
695 - github-pull-request:
696 trigger-phrase: "^run-sonar$"
697 only-trigger-phrase: false
698 status-context: "CMake Sonarqube"
701 white-list-target-branches:
708 - lf_cmake_stage: &lf_cmake_stage
711 ######################
712 # Default parameters #
713 ######################
716 build-days-to-keep: 7
717 build-dir: "$WORKSPACE/target"
722 git-url: "$GIT_URL/$PROJECT"
723 github-url: "https://github.com"
725 install-prefix: "$BUILD_DIR/output"
727 mvn-global-settings: global-settings
730 submodule-recursive: true
731 submodule-timeout: 10
732 submodule-disable: false
736 - lf-infra-parameters:
740 - lf-cmake-parameters:
741 build-dir: "{build-dir}"
742 cmake-opts: "{cmake-opts}"
743 install-prefix: "{install-prefix}"
744 make-opts: "{make-opts}"
748 description: "Install build products to /usr/local (true/false)."
751 default: "{nexus-group-id}"
752 description: "Project Group ID in Nexus to upload to."
754 name: STAGING_PROFILE_ID
755 default: "{staging-profile-id}"
756 description: "Nexus staging profile ID."
763 Project version to stage release as. There are 2 methods for
766 1) Defined explicitly here.
767 2) Leave this value blank and set /tmp/artifact_version
769 Use method 2 in conjunction with 'pre-build' configuration to
770 generate the artifact_version automatically from files in the
771 project's repository. For example with pre-build script:
774 MAJOR_VERSION="$(grep 'set(OCIO_VERSION_MAJOR' CMakeLists.txt \
775 | awk '{{print $NF}}' | awk -F')' '{{print $1}}')"
776 MINOR_VERSION="$(grep 'set(OCIO_VERSION_MINOR' CMakeLists.txt \
777 | awk '{{print $NF}}' | awk -F')' '{{print $1}}')"
778 PATCH_VERSION="$(grep 'set(OCIO_VERSION_PATCH' CMakeLists.txt \
779 | awk '{{print $NF}}' | awk -F')' '{{print $1}}')"
780 echo "${{MAJOR_VERSION}}.${{MINOR_VERSION}}.${{PATCH_VERSION}}" > /tmp/artifact_version
784 - lf-provide-maven-settings:
785 global-settings-file: "{mvn-global-settings}"
786 settings-file: "{mvn-settings}"
787 - lf-infra-create-netrc:
789 - shell: "{pre-build}"
790 - shell: !include-raw-escape: ../shell/cmake-build.sh
791 - shell: !include-raw-escape: ../shell/cmake-stage.sh
792 - lf-provide-maven-settings-cleanup
795 name: "{project-name}-cmake-stage-{stream}"
796 id: gerrit-cmake-stage
802 - lf-infra-gerrit-scm:
803 branch: "$GERRIT_BRANCH"
804 jenkins-ssh-credential: "{jenkins-ssh-credential}"
806 refspec: "$GERRIT_REFSPEC"
807 submodule-recursive: "{submodule-recursive}"
808 submodule-timeout: "{submodule-timeout}"
809 submodule-disable: "{submodule-disable}"
810 choosing-strategy: gerrit
813 - timed: "{obj:cron}"
815 server-name: "{gerrit-server-name}"
817 - comment-added-contains-event:
818 comment-contains-value: '^Patch Set\s+\d+:\s+stage-release\s*$'
820 - project-compare-type: "ANT"
821 project-pattern: "{project}"
823 - branch-compare-type: "ANT"
824 branch-pattern: "**/{branch}"
827 name: "{project-name}-cmake-stage-{stream}"
828 id: github-cmake-stage
834 - lf-infra-properties:
835 build-days-to-keep: "{build-days-to-keep}"
837 url: "{github-url}/{github-org}/{project}"
840 - lf-infra-github-scm:
841 url: "{git-clone-url}{github-org}/{project}"
842 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
844 submodule-recursive: "{submodule-recursive}"
845 submodule-timeout: "{submodule-timeout}"
846 submodule-disable: "{submodule-disable}"
847 choosing-strategy: default
848 jenkins-ssh-credential: "{jenkins-ssh-credential}"
851 - timed: "{obj:cron}"
852 - github-pull-request:
853 trigger-phrase: "^(stage-release)$"
854 only-trigger-phrase: true
855 status-context: "CMake Stage"
858 white-list-target-branches:
861 ############################
862 # CMAKE PACKAGECLOUD STAGE #
863 ############################
865 - lf_cmake_pc_stage: &lf_cmake_pc_stage
866 name: lf-cmake-packagecloud-stage
868 ######################
869 # Default parameters #
870 ######################
873 build-days-to-keep: 7
874 build-dir: "$WORKSPACE/build"
878 git-url: "$GIT_URL/$PROJECT"
879 github-url: "https://github.com"
881 install-prefix: "$BUILD_DIR/output"
885 submodule-recursive: true
886 submodule-timeout: 10
887 submodule-disable: false
889 gerrit_trigger_file_paths:
890 - compare-type: REG_EXP
893 # github_included_regions MUST match gerrit_trigger_file_paths
894 github_included_regions:
898 - lf-infra-parameters:
902 - lf-cmake-parameters:
903 build-dir: "{build-dir}"
904 cmake-opts: "{cmake-opts}"
905 install-prefix: "{install-prefix}"
906 make-opts: "{make-opts}"
910 description: "Install build products to /usr/local (true/false)."
913 - config-file-provider:
915 - file-id: ".packagecloud"
916 target: "$HOME/.packagecloud"
917 - shell: "{pre-build}"
918 - shell: !include-raw-escape: ../shell/cmake-build.sh
919 - lf-packagecloud-push:
920 build-dir: "{build-dir}"
921 packagecloud-account: "{packagecloud-account}"
922 packagecloud-repo: "{packagecloud-repo}"
923 debian-distribution-versions: "{debian-distribution-versions}"
924 rpm-distribution-versions: "{rpm-distribution-versions}"
927 # build with cmake and publish to PackageCloud on command
928 name: "{project-name}-cmake-packagecloud-stage-{stream}"
929 id: gerrit-cmake-packagecloud-stage
931 <<: *lf_cmake_pc_stage
933 ######################
934 # Default parameters #
935 ######################
937 gerrit_stage_triggers:
938 - comment-added-contains-event:
939 comment-contains-value: '^Patch Set\s+\d+:\s+stage-release\s*$'
941 #####################
942 # Job Configuration #
943 #####################
946 - lf-infra-gerrit-scm:
947 jenkins-ssh-credential: "{jenkins-ssh-credential}"
949 refspec: "$GERRIT_REFSPEC"
950 branch: "$GERRIT_BRANCH"
951 submodule-recursive: "{submodule-recursive}"
952 submodule-timeout: "{submodule-timeout}"
953 submodule-disable: "{submodule-disable}"
954 # stage jobs always build from tip
955 choosing-strategy: default
959 server-name: "{gerrit-server-name}"
960 trigger-on: "{obj:gerrit_stage_triggers}"
962 - project-compare-type: ANT
963 project-pattern: "{project}"
965 - branch-compare-type: ANT
966 branch-pattern: "**/{branch}"
967 file-paths: "{obj:gerrit_trigger_file_paths}"
970 name: "{project-name}-cmake-packagecloud-stage-{stream}"
971 id: github-cmake-packagecloud-stage
974 <<: *lf_cmake_pc_stage
977 - lf-infra-properties:
978 build-days-to-keep: "{build-days-to-keep}"
980 url: "{github-url}/{github-org}/{project}"
983 - lf-infra-github-scm:
984 url: "{git-clone-url}{github-org}/{project}"
985 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
987 submodule-recursive: "{submodule-recursive}"
988 submodule-timeout: "{submodule-timeout}"
989 submodule-disable: "{submodule-disable}"
990 choosing-strategy: default
991 jenkins-ssh-credential: "{jenkins-ssh-credential}"
994 - github-pull-request:
995 trigger-phrase: "^(stage-release)$"
996 only-trigger-phrase: true
997 status-context: "CMake PackageCloud Stage"
1000 white-list-target-branches:
1007 - lf_cmake_verify: &lf_cmake_verify
1008 name: lf-cmake-verify
1010 ######################
1011 # Default parameters #
1012 ######################
1015 build-days-to-keep: 7
1016 build-dir: "$WORKSPACE/target"
1020 git-url: "$GIT_URL/$PROJECT"
1021 github-url: "https://github.com"
1023 install-prefix: "$BUILD_DIR/output"
1027 submodule-recursive: true
1028 submodule-timeout: 10
1029 submodule-disable: false
1031 gerrit_verify_triggers:
1032 - patchset-created-event:
1033 exclude-drafts: true
1034 exclude-trivial-rebase: false
1035 exclude-no-code-change: false
1036 - draft-published-event
1037 - comment-added-contains-event:
1038 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1040 gerrit_trigger_file_paths:
1041 - compare-type: REG_EXP
1044 # github_included_regions MUST match gerrit_trigger_file_paths
1045 github_included_regions:
1049 - lf-infra-parameters:
1050 project: "{project}"
1053 - lf-cmake-parameters:
1054 build-dir: "{build-dir}"
1055 cmake-opts: "{cmake-opts}"
1056 install-prefix: "{install-prefix}"
1057 make-opts: "{make-opts}"
1060 default: "{install}"
1061 description: "Install build products to /usr/local (true/false)."
1064 - shell: "{pre-build}"
1065 - shell: !include-raw-escape: ../shell/cmake-build.sh
1068 name: "{project-name}-cmake-verify-{stream}"
1069 id: gerrit-cmake-verify
1071 <<: *lf_cmake_common
1072 <<: *lf_cmake_verify
1075 - lf-infra-gerrit-scm:
1076 branch: "$GERRIT_BRANCH"
1077 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1078 git-url: "{git-url}"
1079 refspec: "$GERRIT_REFSPEC"
1080 submodule-recursive: "{submodule-recursive}"
1081 submodule-timeout: "{submodule-timeout}"
1082 submodule-disable: "{submodule-disable}"
1083 choosing-strategy: gerrit
1087 server-name: "{gerrit-server-name}"
1088 trigger-on: "{obj:gerrit_verify_triggers}"
1090 - project-compare-type: "ANT"
1091 project-pattern: "{project}"
1093 - branch-compare-type: "ANT"
1094 branch-pattern: "**/{branch}"
1095 file-paths: "{obj:gerrit_trigger_file_paths}"
1098 name: "{project-name}-cmake-verify-{stream}"
1099 id: github-cmake-verify
1101 <<: *lf_cmake_common
1102 <<: *lf_cmake_verify
1105 - lf-infra-properties:
1106 build-days-to-keep: "{build-days-to-keep}"
1108 url: "{github-url}/{github-org}/{project}"
1111 - lf-infra-github-scm:
1112 url: "{git-clone-url}{github-org}/{project}"
1113 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1115 submodule-recursive: "{submodule-recursive}"
1116 submodule-timeout: "{submodule-timeout}"
1117 submodule-disable: "{submodule-disable}"
1118 choosing-strategy: default
1119 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1122 - github-pull-request:
1123 trigger-phrase: "^(recheck|reverify)$"
1124 only-trigger-phrase: false
1125 status-context: "CMake Verify"
1128 included-regions: "{obj:github_included_regions}"
1129 white-list-target-branches: