7 name: lf-infra-clm-python
10 properties-content: "CLM_PROJECT_NAME={clm-project-name}"
11 - shell: !include-raw-escape: ../shell/nexus-iq-cli.sh
14 name: lf-infra-tox-install
17 properties-content: "PYTHON={python-version}"
18 - shell: !include-raw-escape: ../shell/tox-install.sh
21 name: lf-infra-tox-run
24 properties-content: "PARALLEL={parallel}"
25 - shell: !include-raw-escape: ../shell/tox-run.sh
31 - lf_python_common: &lf_python_common
32 name: lf-python-common
34 ######################
35 # Default parameters #
36 ######################
45 project-type: freestyle
49 - lf-infra-properties:
50 build-days-to-keep: "{build-days-to-keep}"
53 - lf-infra-parameters:
60 build-timeout: "{build-timeout}"
61 jenkins-ssh-credential: "{jenkins-ssh-credential}"
70 - lf_python_clm_xc: &lf_python_xc_clm
71 name: lf-python-xc-clm
73 ######################
74 # Default parameters #
75 ######################
78 build-days-to-keep: 30 # 30 days for troubleshooting purposes
81 git-url: "$GIT_URL/$PROJECT"
82 github-url: "https://github.com"
83 java-version: openjdk8
84 nexus-iq-cli-version: 1.44.0-01
85 nexus-iq-namespace: "" # Recommend a trailing dash when set. Example: odl-
86 pre-build-script: " # pre-build script goes here"
88 submodule-recursive: true
90 submodule-disable: false
92 gerrit_trigger_file_paths:
93 - compare-type: REG_EXP
96 # github_included_regions MUST match gerrit_trigger_file_paths
97 github_included_regions:
100 #####################
101 # Job Configuration #
102 #####################
104 disabled: "{disable-job}"
107 - lf-infra-parameters:
112 name: NEXUS_IQ_CLI_VERSION
113 default: "{nexus-iq-cli-version}"
114 description: Nexus IQ CLI package to download and use.
117 - credentials-binding:
118 - username-password-separated:
119 credential-id: nexus-iq-xc-clm
121 password: CLM_PASSWORD
123 - lf-update-java-alternatives:
124 java-version: "{java-version}"
125 - shell: "{pre-build-script}"
126 - lf-infra-clm-python:
127 clm-project-name: "{nexus-iq-namespace}{project-name}"
130 name: "{project-name}-python-clm-{stream}"
131 id: gerrit-python-xc-clm
132 <<: *lf_python_common
133 <<: *lf_python_xc_clm
135 ######################
136 # Default parameters #
137 ######################
140 - comment-added-contains-event:
141 comment-contains-value: '^Patch Set\s+\d+:\s+run-clm\s*$'
143 #####################
144 # Job Configuration #
145 #####################
148 - lf-infra-gerrit-scm:
149 jenkins-ssh-credential: "{jenkins-ssh-credential}"
151 refspec: "$GERRIT_REFSPEC"
152 branch: "$GERRIT_BRANCH"
153 submodule-recursive: "{submodule-recursive}"
154 submodule-timeout: "{submodule-timeout}"
155 submodule-disable: "{submodule-disable}"
156 choosing-strategy: default
159 # Build weekly on Saturdays
162 server-name: "{gerrit-server-name}"
163 trigger-on: "{obj:gerrit_clm_triggers}"
165 - project-compare-type: ANT
166 project-pattern: "{project}"
168 - branch-compare-type: ANT
169 branch-pattern: "**/{branch}"
170 file-paths: "{obj:gerrit_trigger_file_paths}"
178 name: "{project-name}-python-clm-{stream}"
179 id: github-python-xc-clm
180 <<: *lf_python_common
181 <<: *lf_python_xc_clm
184 - lf-infra-properties:
185 build-days-to-keep: "{build-days-to-keep}"
187 url: "{github-url}/{github-org}/{project}"
190 - lf-infra-github-scm:
191 url: "{git-clone-url}{github-org}/{project}"
193 branch: "refs/heads/{branch}"
194 submodule-recursive: "{submodule-recursive}"
195 submodule-timeout: "{submodule-timeout}"
196 submodule-disable: "{submodule-disable}"
197 choosing-strategy: default
198 jenkins-ssh-credential: "{jenkins-ssh-credential}"
201 # Build weekly on Saturdays
203 - github-pull-request:
204 trigger-phrase: "^run-clm$"
205 only-trigger-phrase: false
206 status-context: "CLM"
209 white-list-target-branches:
211 included-regions: "{obj:github_included_regions}"
213 #########################
214 # Python Sonar with Tox #
215 #########################
217 - lf_tox_sonar: &lf_tox_sonar
220 ######################
221 # Default parameters #
222 ######################
224 branch: master # Sonar should always be run on master branch
225 build-days-to-keep: 7
227 cron: "H H * * *" # run daily
229 git-url: "$GIT_URL/$PROJECT"
230 github-url: "https://github.com"
231 java-version: openjdk8
232 mvn-global-settings: global-settings
236 mvn-settings: "{mvn-settings}"
239 pre-build-script: "# pre-build script goes here"
240 python-version: python3
241 sonar-mvn-goal: "sonar:sonar"
243 sonarcloud-project-key: ""
244 sonarcloud-project-organization: ""
245 sonarcloud-api-token: ""
247 submodule-recursive: true
248 submodule-timeout: 10
249 submodule-disable: false
253 gerrit_trigger_file_paths:
254 - compare-type: REG_EXP
257 # github_included_regions MUST match gerrit_trigger_file_paths
258 github_included_regions:
261 #####################
262 # Job Configuration #
263 #####################
265 disabled: "{disable-job}"
268 - lf-infra-parameters:
272 - lf-infra-maven-parameters:
273 mvn-opts: "{mvn-opts}"
274 mvn-params: "{mvn-params}"
275 mvn-version: "{mvn-version}"
276 - lf-infra-tox-parameters:
278 tox-envs: "{tox-envs}"
280 name: ARCHIVE_ARTIFACTS
281 default: "{archive-artifacts}"
282 description: Artifacts to archive to the logs server.
285 # Sets an env var for shell scripts to be able to call the dynamically
286 # installed maven without having to calculate the path themselves.
287 # yamllint disable-line rule:line-length
288 default: "/w/tools/hudson.tasks.Maven_MavenInstallation/{mvn-version}/bin/mvn"
289 description: "Maven selector to be used by shell scripts"
291 name: SONAR_MAVEN_GOAL
292 default: "{sonar-mvn-goal}"
294 Maven goals to pass to the Sonar call. Typically sonar:sonar
295 however to use a specific version of the sonar-maven-plugin we
296 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
300 - lf-infra-tox-install:
301 python-version: "{python-version}"
302 - shell: "{pre-build-script}"
304 parallel: "{parallel}"
305 - lf-provide-maven-settings:
306 global-settings-file: "{mvn-global-settings}"
307 settings-file: "{mvn-settings}"
310 condition-kind: boolean-expression
311 condition-expression: "{sonarcloud}"
313 - shell: echo 'Using SonarCloud'
314 - lf-infra-maven-sonarcloud:
315 java-version: "{java-version}"
316 mvn-goals: "{mvn-goals}"
317 mvn-settings: "{mvn-settings}"
318 mvn-version: "{mvn-version}"
319 sonarcloud-project-key: "{sonarcloud-project-key}"
320 # yamllint disable-line rule:line-length
321 sonarcloud-project-organization: "{sonarcloud-project-organization}"
322 sonarcloud-api-token: "{sonarcloud-api-token}"
327 condition-kind: boolean-expression
328 condition-expression: "{sonarcloud}"
330 - shell: echo 'Using SonarQube'
331 - lf-infra-maven-sonar:
332 java-version: "{java-version}"
333 mvn-goals: "{mvn-goals}"
334 mvn-settings: "{mvn-settings}"
335 mvn-version: "{mvn-version}"
341 name: "{project-name}-tox-sonar"
343 <<: *lf_python_common
346 ######################
347 # Default parameters #
348 ######################
350 gerrit_sonar_triggers:
351 - comment-added-contains-event:
352 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
354 #####################
355 # Job Configuration #
356 #####################
359 - lf-infra-gerrit-scm:
360 jenkins-ssh-credential: "{jenkins-ssh-credential}"
362 refspec: $GERRIT_REFSPEC
363 branch: $GERRIT_BRANCH
364 submodule-recursive: "{submodule-recursive}"
365 submodule-timeout: "{submodule-timeout}"
366 submodule-disable: "{submodule-disable}"
367 choosing-strategy: default
370 - timed: "{obj:cron}"
372 server-name: "{gerrit-server-name}"
373 trigger-on: "{obj:gerrit_sonar_triggers}"
375 - project-compare-type: "ANT"
376 project-pattern: "{project}"
378 - branch-compare-type: "ANT"
379 branch-pattern: "**/{branch}"
380 file-paths: "{obj:gerrit_trigger_file_paths}"
388 name: "{project-name}-tox-sonar"
390 <<: *lf_python_common
394 - lf-infra-properties:
395 build-days-to-keep: "{build-days-to-keep}"
397 url: "{github-url}/{github-org}/{project}"
400 - lf-infra-github-scm:
401 url: "{git-clone-url}{github-org}/{project}"
402 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
404 submodule-recursive: "{submodule-recursive}"
405 submodule-timeout: "{submodule-timeout}"
406 submodule-disable: "{submodule-disable}"
407 choosing-strategy: default
408 jenkins-ssh-credential: "{jenkins-ssh-credential}"
411 - github-pull-request:
412 trigger-phrase: "^run-sonar$"
413 only-trigger-phrase: false
414 status-context: "Python Sonar"
417 white-list-target-branches:
419 included-regions: "{obj:github_included_regions}"
425 - lf_tox_sonarqube: &lf_tox_sonarqube
426 name: lf-tox-sonarqube
428 ######################
429 # Default parameters #
430 ######################
434 branch: master # Sonar should always be run on master branch
435 build-days-to-keep: 7
439 git-url: "$GIT_URL/$PROJECT"
440 github-url: "https://github.com"
442 pre-build-script: "# pre-build script goes here"
443 python-version: python3
445 submodule-recursive: true
446 submodule-timeout: 10
447 submodule-disable: false
451 sonar-additional-args: ""
453 sonar-project-file: "sonar-project.properties"
457 #####################
458 # Job Configuration #
459 #####################
461 project-type: freestyle
463 disabled: "{disable-job}"
466 - lf-infra-properties:
467 build-days-to-keep: "{build-days-to-keep}"
471 build-timeout: "{build-timeout}"
472 jenkins-ssh-credential: "{jenkins-ssh-credential}"
475 - lf-infra-parameters:
479 - lf-infra-tox-parameters:
481 tox-envs: "{tox-envs}"
483 name: ARCHIVE_ARTIFACTS
484 default: "{archive-artifacts}"
485 description: Artifacts to archive to the logs server.
489 - lf-infra-tox-install:
490 python-version: "{python-version}"
491 - shell: "{pre-build-script}"
493 parallel: "{parallel}"
495 sonar-task: "{sonar-task}"
496 sonar-project-file: "{sonar-project-file}"
497 sonar-properties: "{sonar-properties}"
498 sonar-java-opts: "{sonar-java-opts}"
499 sonar-additional-args: "{sonar-additional-args}"
505 name: "{project-name}-tox-sonarqube"
506 id: gerrit-tox-sonarqube
508 <<: *lf_tox_sonarqube
510 ######################
511 # Default parameters #
512 ######################
514 gerrit_sonar_triggers:
515 - comment-added-contains-event:
516 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
519 - lf-infra-gerrit-scm:
520 branch: "$GERRIT_BRANCH"
521 jenkins-ssh-credential: "{jenkins-ssh-credential}"
523 refspec: "$GERRIT_REFSPEC"
524 submodule-recursive: "{submodule-recursive}"
525 submodule-timeout: "{submodule-timeout}"
526 submodule-disable: "{submodule-disable}"
527 choosing-strategy: default
530 - timed: "{obj:cron}"
532 server-name: "{gerrit-server-name}"
533 trigger-on: "{obj:gerrit_sonar_triggers}"
535 - project-compare-type: "ANT"
536 project-pattern: "{project}"
538 - branch-compare-type: "ANT"
539 branch-pattern: "**/{branch}"
542 name: "{project-name}-tox-sonarqube"
543 id: github-tox-sonarqube
545 <<: *lf_tox_sonarqube
548 - lf-infra-github-scm:
550 jenkins-ssh-credential: "{jenkins-ssh-credential}"
551 url: "{git-clone-url}{github-org}/{project}"
552 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
553 submodule-recursive: "{submodule-recursive}"
554 submodule-timeout: "{submodule-timeout}"
555 submodule-disable: "{submodule-disable}"
556 choosing-strategy: default
559 - github-pull-request:
560 trigger-phrase: "^run-sonar$"
561 only-trigger-phrase: false
562 status-context: "Tox Sonarqube"
565 white-list-target-branches:
572 - lf_tox_common: &lf_tox_common
575 ######################
576 # Default parameters #
577 ######################
580 build-days-to-keep: 7
583 git-url: "$GIT_URL/$GERRIT_PROJECT"
584 github-url: "https://github.com"
586 pre-build-script: "# pre-build script goes here"
587 python-version: python3
589 submodule-recursive: true
590 submodule-timeout: 10
591 submodule-disable: false
595 gerrit_trigger_file_paths:
596 - compare-type: REG_EXP
599 # github_included_regions MUST match gerrit_trigger_file_paths
600 github_included_regions:
603 #####################
604 # Job Configuration #
605 #####################
607 project-type: freestyle
610 disabled: "{disable-job}"
613 - lf-infra-properties:
614 build-days-to-keep: "{build-days-to-keep}"
617 - lf-infra-parameters:
621 - lf-infra-tox-parameters:
623 tox-envs: "{tox-envs}"
627 build-timeout: "{build-timeout}"
628 jenkins-ssh-credential: "{jenkins-ssh-credential}"
632 - lf-infra-tox-install:
633 python-version: "{python-version}"
634 - shell: "{pre-build-script}"
636 parallel: "{parallel}"
642 # Python projects typically use tox to run testing.
643 name: "{project-name}-tox-verify-{stream}"
644 id: gerrit-tox-verify
647 ######################
648 # Default parameters #
649 ######################
651 gerrit-skip-vote: false
652 gerrit_verify_triggers:
653 - patchset-created-event:
655 exclude-trivial-rebase: false
656 exclude-no-code-change: false
657 - draft-published-event
658 - comment-added-contains-event:
659 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
661 #####################
662 # Job Configuration #
663 #####################
666 - lf-infra-gerrit-scm:
667 jenkins-ssh-credential: "{jenkins-ssh-credential}"
669 refspec: "$GERRIT_REFSPEC"
670 branch: "$GERRIT_BRANCH"
671 submodule-recursive: "{submodule-recursive}"
672 submodule-timeout: "{submodule-timeout}"
673 submodule-disable: "{submodule-disable}"
674 choosing-strategy: gerrit
678 server-name: "{gerrit-server-name}"
679 trigger-on: "{obj:gerrit_verify_triggers}"
681 - project-compare-type: ANT
682 project-pattern: "{project}"
684 - branch-compare-type: ANT
685 branch-pattern: "**/{branch}"
686 file-paths: "{obj:gerrit_trigger_file_paths}"
688 successful: "{gerrit-skip-vote}"
689 failed: "{gerrit-skip-vote}"
690 unstable: "{gerrit-skip-vote}"
691 notbuilt: "{gerrit-skip-vote}"
694 # Python projects typically use tox to run testing.
695 name: "{project-name}-tox-verify-{stream}"
696 id: github-tox-verify
700 - lf-infra-properties:
701 build-days-to-keep: "{build-days-to-keep}"
703 url: "{github-url}/{github-org}/{project}"
706 - lf-infra-github-scm:
707 url: "{git-clone-url}{github-org}/{project}"
708 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
710 submodule-recursive: "{submodule-recursive}"
711 submodule-timeout: "{submodule-timeout}"
712 submodule-disable: "{submodule-disable}"
713 choosing-strategy: default
714 jenkins-ssh-credential: "{jenkins-ssh-credential}"
717 - github-pull-request:
718 trigger-phrase: "^(recheck|reverify)$"
719 only-trigger-phrase: false
720 status-context: "Tox Verify"
723 white-list-target-branches:
725 included-regions: "{obj:github_included_regions}"
728 # Run tox after merge of gerrit change set
729 name: "{project-name}-tox-merge-{stream}"
733 ######################
734 # Default parameters #
735 ######################
737 gerrit_merge_triggers:
738 - change-merged-event
739 - comment-added-contains-event:
740 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
742 #####################
743 # Job Configuration #
744 #####################
747 - lf-infra-gerrit-scm:
748 jenkins-ssh-credential: "{jenkins-ssh-credential}"
750 refspec: "$GERRIT_REFSPEC"
751 branch: "$GERRIT_BRANCH"
752 submodule-recursive: "{submodule-recursive}"
753 submodule-timeout: "{submodule-timeout}"
754 submodule-disable: "{submodule-disable}"
755 # merge jobs always build from tip
756 choosing-strategy: default
760 server-name: "{gerrit-server-name}"
761 trigger-on: "{obj:gerrit_merge_triggers}"
763 - project-compare-type: ANT
764 project-pattern: "{project}"
766 - branch-compare-type: ANT
767 branch-pattern: "**/{branch}"
768 file-paths: "{obj:gerrit_trigger_file_paths}"
771 # Run tox after merge of github pull request
772 name: "{project-name}-tox-merge-{stream}"
777 - lf-infra-properties:
778 build-days-to-keep: "{build-days-to-keep}"
780 url: "{github-url}/{github-org}/{project}"
783 - lf-infra-github-scm:
784 url: "{git-clone-url}{github-org}/{project}"
786 branch: "refs/heads/{branch}"
787 submodule-recursive: "{submodule-recursive}"
788 submodule-timeout: "{submodule-timeout}"
789 submodule-disable: "{submodule-disable}"
790 choosing-strategy: default
791 jenkins-ssh-credential: "{jenkins-ssh-credential}"
794 - github-pull-request:
795 trigger-phrase: "^remerge$"
796 only-trigger-phrase: true
797 status-context: "Tox Merge"
802 white-list: "{obj:github_pr_whitelist}"
803 admin-list: "{obj:github_pr_admin_list}"
804 white-list-target-branches:
806 included-regions: "{obj:github_included_regions}"
812 - lf_pypi_common: &lf_pypi_common
815 ######################
816 # Default parameters #
817 ######################
822 build-days-to-keep: 7
826 git-url: "$GIT_URL/$GERRIT_PROJECT"
827 github-url: "https://github.com"
829 pre-build-script: "# pre-build script goes here"
830 python-version: python3
832 submodule-disable: false
833 submodule-recursive: true
834 submodule-timeout: 10
838 gerrit_trigger_file_paths:
839 - compare-type: REG_EXP
842 # github_included_regions MUST match gerrit_trigger_file_paths
843 github_included_regions:
846 #####################
847 # Job Configuration #
848 #####################
850 project-type: freestyle
852 disabled: "{disable-job}"
855 - lf-infra-properties:
856 build-days-to-keep: "{build-days-to-keep}"
859 - lf-infra-parameters:
863 - lf-infra-tox-parameters:
865 tox-envs: "{tox-envs}"
867 name: BUILD_BDIST_WHEEL
868 default: "{dist-binary}"
869 description: "Set to True (checked) to build a binary distribution"
873 description: "Set to True (checked) to skip uploading artifacts"
877 build-timeout: "{build-timeout}"
878 jenkins-ssh-credential: "{jenkins-ssh-credential}"
883 - lf_pypi_verify_builders: &lf_pypi_verify_builders
884 name: lf-pypi-verify-builders
888 - lf-infra-tox-install:
889 python-version: "{python-version}"
890 - shell: "{pre-build-script}"
892 parallel: "{parallel}"
893 - shell: !include-raw-escape: ../shell/pypi-dist-build.sh
895 - lf_pypi_publish_builders: &lf_pypi_publish_builders
896 name: lf-pypi-publish-builders
900 - lf-infra-tox-install:
901 python-version: "{python-version}"
902 - shell: "{pre-build-script}"
904 parallel: "{parallel}"
905 - shell: !include-raw-escape: ../shell/pypi-dist-build.sh
906 - config-file-provider:
909 target: "$HOME/.pypirc"
911 properties-content: "REPOSITORY={pypi-repo}"
912 - shell: !include-raw-escape: ../shell/pypi-upload.sh
915 name: "{project-name}-pypi-verify-{stream}"
916 id: gerrit-pypi-verify
918 <<: *lf_pypi_verify_builders
921 - lf-infra-gerrit-scm:
922 jenkins-ssh-credential: "{jenkins-ssh-credential}"
924 refspec: "$GERRIT_REFSPEC"
925 branch: "$GERRIT_BRANCH"
926 submodule-recursive: "{submodule-recursive}"
927 submodule-timeout: "{submodule-timeout}"
928 submodule-disable: "{submodule-disable}"
929 choosing-strategy: gerrit
933 server-name: "{gerrit-server-name}"
935 - patchset-created-event:
937 exclude-trivial-rebase: false
938 exclude-no-code-change: false
939 - draft-published-event
940 - comment-added-contains-event:
941 # yamllint disable-line rule:line-length
942 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
944 - project-compare-type: ANT
945 project-pattern: "{project}"
947 - branch-compare-type: ANT
948 branch-pattern: "**/{branch}"
949 file-paths: "{obj:gerrit_trigger_file_paths}"
952 name: "{project-name}-pypi-verify-{stream}"
953 id: github-pypi-verify
955 <<: *lf_pypi_verify_builders
959 url: "{github-url}/{github-org}/{project}"
962 - lf-infra-github-scm:
963 url: "{git-clone-url}{github-org}/{project}"
964 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
966 submodule-recursive: "{submodule-recursive}"
967 submodule-timeout: "{submodule-timeout}"
968 submodule-disable: "{submodule-disable}"
969 choosing-strategy: default
970 jenkins-ssh-credential: "{jenkins-ssh-credential}"
973 - github-pull-request:
974 trigger-phrase: "^(recheck|reverify)$"
975 only-trigger-phrase: false
976 status-context: "PyPI Verify"
979 white-list-target-branches:
981 included-regions: "{obj:github_included_regions}"
984 name: "{project-name}-pypi-merge-{stream}"
985 id: gerrit-pypi-merge
987 <<: *lf_pypi_publish_builders
989 cron: "" # avoid for pypi which rejects duplicates
993 - lf-infra-gerrit-scm:
994 jenkins-ssh-credential: "{jenkins-ssh-credential}"
996 refspec: "$GERRIT_REFSPEC"
997 branch: "$GERRIT_BRANCH"
998 submodule-recursive: "{submodule-recursive}"
999 submodule-timeout: "{submodule-timeout}"
1000 submodule-disable: "{submodule-disable}"
1001 # merge jobs always build from tip
1002 choosing-strategy: default
1005 - timed: "{obj:cron}"
1007 server-name: "{gerrit-server-name}"
1009 - change-merged-event
1010 - comment-added-contains-event:
1011 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
1013 - project-compare-type: ANT
1014 project-pattern: "{project}"
1016 - branch-compare-type: ANT
1017 branch-pattern: "**/{branch}"
1018 file-paths: "{obj:gerrit_trigger_file_paths}"
1021 name: "{project-name}-pypi-merge-{stream}"
1022 id: github-pypi-merge
1024 <<: *lf_pypi_publish_builders
1027 pypi-repo: pypi-test
1031 url: "{github-url}/{github-org}/{project}"
1034 - lf-infra-github-scm:
1035 url: "{git-clone-url}{github-org}/{project}"
1037 branch: "refs/heads/{branch}"
1038 submodule-recursive: "{submodule-recursive}"
1039 submodule-timeout: "{submodule-timeout}"
1040 submodule-disable: "{submodule-disable}"
1041 choosing-strategy: default
1042 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1045 - timed: "{obj:cron}"
1046 - github-pull-request:
1047 trigger-phrase: "^remerge$"
1048 only-trigger-phrase: false
1049 status-context: "Merge"
1054 white-list: "{obj:github_pr_whitelist}"
1055 admin-list: "{obj:github_pr_admin_list}"
1056 white-list-target-branches:
1058 included-regions: "{obj:github_included_regions}"
1061 name: "{project-name}-pypi-stage-{stream}"
1062 id: gerrit-pypi-stage
1064 <<: *lf_pypi_publish_builders
1067 pypi-repo: pypi-test
1069 gerrit_stage_triggers:
1070 - comment-added-contains-event:
1071 comment-contains-value: '^Patch Set\s+\d+:\s+stage-release\s*$'
1074 - lf-infra-gerrit-scm:
1075 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1076 git-url: "{git-url}"
1077 refspec: "$GERRIT_REFSPEC"
1078 branch: "$GERRIT_BRANCH"
1079 submodule-recursive: "{submodule-recursive}"
1080 submodule-timeout: "{submodule-timeout}"
1081 submodule-disable: "{submodule-disable}"
1082 # stage jobs always build from tip
1083 choosing-strategy: default
1086 - timed: "{obj:cron}"
1088 server-name: "{gerrit-server-name}"
1089 trigger-on: "{obj:gerrit_stage_triggers}"
1091 - project-compare-type: ANT
1092 project-pattern: "{project}"
1094 - branch-compare-type: ANT
1095 branch-pattern: "**/{branch}"
1096 file-paths: "{obj:gerrit_trigger_file_paths}"
1099 name: "{project-name}-pypi-stage-{stream}"
1100 id: github-pypi-stage
1102 <<: *lf_pypi_publish_builders
1105 pypi-repo: pypi-test
1109 url: "{github-url}/{github-org}/{project}"
1112 - lf-infra-github-scm:
1113 url: "{git-clone-url}{github-org}/{project}"
1115 branch: "refs/heads/{branch}"
1116 submodule-recursive: "{submodule-recursive}"
1117 submodule-timeout: "{submodule-timeout}"
1118 submodule-disable: "{submodule-disable}"
1119 choosing-strategy: default
1120 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1123 - timed: "{obj:cron}"
1124 - github-pull-request:
1125 trigger-phrase: "^stage-release$"
1126 only-trigger-phrase: true
1127 status-context: "Release"
1130 white-list-target-branches:
1132 included-regions: "{obj:github_included_regions}"