7 name: lf-infra-nexus-iq-python-cli
11 NEXUS_IQ_PROJECT_NAME={nexus-iq-project-name}
12 REQUIREMENTS_FILE={requirements-file}
13 - shell: !include-raw-escape: ../shell/nexus-iq-python-cli.sh
16 name: lf-infra-tox-install
19 properties-content: "PYTHON={python-version}"
20 - shell: !include-raw-escape: ../shell/tox-install.sh
23 name: lf-infra-tox-run
26 properties-content: "PARALLEL={parallel}"
27 - shell: !include-raw-escape: ../shell/tox-run.sh
33 - lf_python_common: &lf_python_common
34 name: lf-python-common
36 ######################
37 # Default parameters #
38 ######################
47 project-type: freestyle
51 - lf-infra-properties:
52 build-days-to-keep: "{build-days-to-keep}"
55 - lf-infra-parameters:
62 build-timeout: "{build-timeout}"
63 jenkins-ssh-credential: "{jenkins-ssh-credential}"
72 - lf_tox_nexus_iq_clm: &lf_tox_nexus_iq_clm
73 name: lf-tox-nexus-iq-clm
75 ######################
76 # Default parameters #
77 ######################
84 git-url: "$GIT_URL/$PROJECT"
85 github-url: "https://github.com"
86 java-version: openjdk8 # Scanner is a jar
87 nexus-iq-cli-version: 1.89.0-02
88 nexus-iq-namespace: "" # Recommend a trailing dash when set. Example: odl-
89 pre-build-script: "# pre-build script goes here"
90 python-version: python3
91 requirements-file: requirements.txt
93 submodule-recursive: true
95 submodule-disable: false
100 # Job Configuration #
101 #####################
103 disabled: "{disable-job}"
106 - lf-infra-parameters:
110 - lf-infra-tox-parameters:
112 tox-envs: "{tox-envs}"
114 name: ARCHIVE_ARTIFACTS
115 default: "{archive-artifacts}"
116 description: Artifacts to archive to the logs server.
118 name: NEXUS_IQ_CLI_VERSION
119 default: "{nexus-iq-cli-version}"
120 description: Nexus IQ CLI jar to download and run.
124 build-timeout: "{build-timeout}"
125 jenkins-ssh-credential: "{jenkins-ssh-credential}"
126 - credentials-binding:
127 - username-password-separated:
128 credential-id: nexus-iq-xc-clm
129 username: NEXUS_IQ_USER
130 password: NEXUS_IQ_PASSWORD
134 - lf-update-java-alternatives:
135 java-version: "{java-version}"
136 - lf-infra-tox-install:
137 python-version: "{python-version}"
138 - shell: "{pre-build-script}"
141 - lf-infra-nexus-iq-python-cli:
142 nexus-iq-project-name: "{nexus-iq-namespace}{project-name}"
143 requirements-file: "{requirements-file}"
146 name: "{project-name}-tox-nexus-iq-clm"
147 id: gerrit-tox-nexus-iq-clm
148 <<: *lf_python_common
149 <<: *lf_tox_nexus_iq_clm
151 ######################
152 # Default parameters #
153 ######################
155 gerrit_nexus_iq_triggers:
156 - comment-added-contains-event:
157 comment-contains-value: '^Patch Set\s+\d+:\s+run-clm\s*$'
159 #####################
160 # Job Configuration #
161 #####################
164 - lf-infra-gerrit-scm:
165 jenkins-ssh-credential: "{jenkins-ssh-credential}"
167 refspec: "$GERRIT_REFSPEC"
168 branch: "$GERRIT_BRANCH"
169 submodule-recursive: "{submodule-recursive}"
170 submodule-timeout: "{submodule-timeout}"
171 submodule-disable: "{submodule-disable}"
172 choosing-strategy: default
175 - timed: "{obj:cron}"
177 server-name: "{gerrit-server-name}"
178 trigger-on: "{obj:gerrit_nexus_iq_triggers}"
180 - project-compare-type: ANT
181 project-pattern: "{project}"
183 - branch-compare-type: ANT
184 branch-pattern: "**/{branch}"
192 name: "{project-name}-tox-nexus-iq"
193 id: github-tox-nexus-iq-clm
194 <<: *lf_python_common
195 <<: *lf_tox_nexus_iq_clm
198 - lf-infra-properties:
199 build-days-to-keep: "{build-days-to-keep}"
201 url: "{github-url}/{github-org}/{project}"
204 - lf-infra-github-scm:
205 url: "{git-clone-url}{github-org}/{project}"
207 branch: "refs/heads/{branch}"
208 submodule-recursive: "{submodule-recursive}"
209 submodule-timeout: "{submodule-timeout}"
210 submodule-disable: "{submodule-disable}"
211 choosing-strategy: default
212 jenkins-ssh-credential: "{jenkins-ssh-credential}"
215 - timed: "{obj:cron}"
216 - github-pull-request:
217 trigger-phrase: "^run-clm$"
218 only-trigger-phrase: false
219 status-context: "CLM"
222 white-list-target-branches:
225 #########################
226 # Python Sonar with Tox #
227 #########################
229 - lf_tox_sonar: &lf_tox_sonar
232 ######################
233 # Default parameters #
234 ######################
236 branch: master # Sonar should always be run on master branch
237 build-days-to-keep: 7
239 cron: "H H * * *" # run daily
241 git-url: "$GIT_URL/$PROJECT"
242 github-url: "https://github.com"
243 java-version: openjdk8
244 mvn-global-settings: global-settings
248 mvn-settings: "{mvn-settings}"
251 pre-build-script: "# pre-build script goes here"
252 python-version: python3
253 sonar-mvn-goal: "sonar:sonar"
255 sonarcloud-project-key: ""
256 sonarcloud-project-organization: ""
257 sonarcloud-api-token: ""
258 # SonarCloud scan using jdk8 will become deprecated by Oct, 2020
259 # Projects not compatible with jdk11 can set java-version to something else
260 sonarcloud-java-version: openjdk11
262 submodule-recursive: true
263 submodule-timeout: 10
264 submodule-disable: false
268 gerrit_trigger_file_paths:
269 - compare-type: REG_EXP
272 # github_included_regions MUST match gerrit_trigger_file_paths
273 github_included_regions:
276 #####################
277 # Job Configuration #
278 #####################
280 disabled: "{disable-job}"
283 - lf-infra-parameters:
287 - lf-infra-maven-parameters:
288 mvn-opts: "{mvn-opts}"
289 mvn-params: "{mvn-params}"
290 mvn-version: "{mvn-version}"
291 - lf-infra-tox-parameters:
293 tox-envs: "{tox-envs}"
295 name: ARCHIVE_ARTIFACTS
296 default: "{archive-artifacts}"
297 description: Artifacts to archive to the logs server.
300 # Sets an env var for shell scripts to be able to call the dynamically
301 # installed maven without having to calculate the path themselves.
302 # yamllint disable-line rule:line-length
303 default: "/w/tools/hudson.tasks.Maven_MavenInstallation/{mvn-version}/bin/mvn"
304 description: "Maven selector to be used by shell scripts"
306 name: SONAR_MAVEN_GOAL
307 default: "{sonar-mvn-goal}"
309 Maven goals to pass to the Sonar call. Typically sonar:sonar
310 however to use a specific version of the sonar-maven-plugin we
311 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
315 - lf-infra-tox-install:
316 python-version: "{python-version}"
317 - shell: "{pre-build-script}"
319 parallel: "{parallel}"
320 - lf-provide-maven-settings:
321 global-settings-file: "{mvn-global-settings}"
322 settings-file: "{mvn-settings}"
325 condition-kind: boolean-expression
326 condition-expression: "{sonarcloud}"
328 - shell: echo 'Using SonarCloud'
329 - lf-infra-maven-sonarcloud:
330 java-version: "{java-version}"
331 mvn-goals: "{mvn-goals}"
332 mvn-settings: "{mvn-settings}"
333 mvn-version: "{mvn-version}"
334 sonarcloud-project-key: "{sonarcloud-project-key}"
335 # yamllint disable-line rule:line-length
336 sonarcloud-project-organization: "{sonarcloud-project-organization}"
337 sonarcloud-api-token: "{sonarcloud-api-token}"
338 sonarcloud-java-version: "{sonarcloud-java-version}"
343 condition-kind: boolean-expression
344 condition-expression: "{sonarcloud}"
346 - shell: echo 'Using SonarQube'
347 - lf-infra-maven-sonar:
348 java-version: "{java-version}"
349 mvn-goals: "{mvn-goals}"
350 mvn-settings: "{mvn-settings}"
351 mvn-version: "{mvn-version}"
357 name: "{project-name}-tox-sonar"
359 <<: *lf_python_common
362 ######################
363 # Default parameters #
364 ######################
366 gerrit_sonar_triggers:
367 - comment-added-contains-event:
368 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
370 #####################
371 # Job Configuration #
372 #####################
375 - lf-infra-gerrit-scm:
376 jenkins-ssh-credential: "{jenkins-ssh-credential}"
378 refspec: $GERRIT_REFSPEC
379 branch: $GERRIT_BRANCH
380 submodule-recursive: "{submodule-recursive}"
381 submodule-timeout: "{submodule-timeout}"
382 submodule-disable: "{submodule-disable}"
383 choosing-strategy: default
386 - timed: "{obj:cron}"
388 server-name: "{gerrit-server-name}"
389 trigger-on: "{obj:gerrit_sonar_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}"
404 name: "{project-name}-tox-sonar"
406 <<: *lf_python_common
410 - lf-infra-properties:
411 build-days-to-keep: "{build-days-to-keep}"
413 url: "{github-url}/{github-org}/{project}"
416 - lf-infra-github-scm:
417 url: "{git-clone-url}{github-org}/{project}"
418 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
420 submodule-recursive: "{submodule-recursive}"
421 submodule-timeout: "{submodule-timeout}"
422 submodule-disable: "{submodule-disable}"
423 choosing-strategy: default
424 jenkins-ssh-credential: "{jenkins-ssh-credential}"
427 - github-pull-request:
428 trigger-phrase: "^run-sonar$"
429 only-trigger-phrase: false
430 status-context: "Python Sonar"
433 white-list-target-branches:
435 included-regions: "{obj:github_included_regions}"
441 - lf_tox_sonarqube: &lf_tox_sonarqube
442 name: lf-tox-sonarqube
444 ######################
445 # Default parameters #
446 ######################
450 branch: master # Sonar should always be run on master branch
451 build-days-to-keep: 7
455 git-url: "$GIT_URL/$PROJECT"
456 github-url: "https://github.com"
458 pre-build-script: "# pre-build script goes here"
459 python-version: python3
461 submodule-recursive: true
462 submodule-timeout: 10
463 submodule-disable: false
467 sonar-additional-args: ""
469 sonar-project-file: "sonar-project.properties"
473 #####################
474 # Job Configuration #
475 #####################
477 project-type: freestyle
479 disabled: "{disable-job}"
482 - lf-infra-properties:
483 build-days-to-keep: "{build-days-to-keep}"
487 build-timeout: "{build-timeout}"
488 jenkins-ssh-credential: "{jenkins-ssh-credential}"
491 - lf-infra-parameters:
495 - lf-infra-tox-parameters:
497 tox-envs: "{tox-envs}"
499 name: ARCHIVE_ARTIFACTS
500 default: "{archive-artifacts}"
501 description: Artifacts to archive to the logs server.
505 - lf-infra-tox-install:
506 python-version: "{python-version}"
507 - shell: "{pre-build-script}"
509 parallel: "{parallel}"
511 sonar-task: "{sonar-task}"
512 sonar-project-file: "{sonar-project-file}"
513 sonar-properties: "{sonar-properties}"
514 sonar-java-opts: "{sonar-java-opts}"
515 sonar-additional-args: "{sonar-additional-args}"
521 name: "{project-name}-tox-sonarqube"
522 id: gerrit-tox-sonarqube
524 <<: *lf_tox_sonarqube
526 ######################
527 # Default parameters #
528 ######################
530 gerrit_sonar_triggers:
531 - comment-added-contains-event:
532 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
535 - lf-infra-gerrit-scm:
536 branch: "$GERRIT_BRANCH"
537 jenkins-ssh-credential: "{jenkins-ssh-credential}"
539 refspec: "$GERRIT_REFSPEC"
540 submodule-recursive: "{submodule-recursive}"
541 submodule-timeout: "{submodule-timeout}"
542 submodule-disable: "{submodule-disable}"
543 choosing-strategy: default
546 - timed: "{obj:cron}"
548 server-name: "{gerrit-server-name}"
549 trigger-on: "{obj:gerrit_sonar_triggers}"
551 - project-compare-type: "ANT"
552 project-pattern: "{project}"
554 - branch-compare-type: "ANT"
555 branch-pattern: "**/{branch}"
558 name: "{project-name}-tox-sonarqube"
559 id: github-tox-sonarqube
561 <<: *lf_tox_sonarqube
564 - lf-infra-github-scm:
566 jenkins-ssh-credential: "{jenkins-ssh-credential}"
567 url: "{git-clone-url}{github-org}/{project}"
568 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
569 submodule-recursive: "{submodule-recursive}"
570 submodule-timeout: "{submodule-timeout}"
571 submodule-disable: "{submodule-disable}"
572 choosing-strategy: default
575 - github-pull-request:
576 trigger-phrase: "^run-sonar$"
577 only-trigger-phrase: false
578 status-context: "Tox Sonarqube"
581 white-list-target-branches:
588 - lf_tox_common: &lf_tox_common
591 ######################
592 # Default parameters #
593 ######################
596 build-days-to-keep: 7
599 git-url: "$GIT_URL/$GERRIT_PROJECT"
600 github-url: "https://github.com"
602 pre-build-script: "# pre-build script goes here"
603 python-version: python3
605 submodule-recursive: true
606 submodule-timeout: 10
607 submodule-disable: false
611 gerrit_trigger_file_paths:
612 - compare-type: REG_EXP
615 # github_included_regions MUST match gerrit_trigger_file_paths
616 github_included_regions:
619 #####################
620 # Job Configuration #
621 #####################
623 project-type: freestyle
626 disabled: "{disable-job}"
629 - lf-infra-properties:
630 build-days-to-keep: "{build-days-to-keep}"
633 - lf-infra-parameters:
637 - lf-infra-tox-parameters:
639 tox-envs: "{tox-envs}"
643 build-timeout: "{build-timeout}"
644 jenkins-ssh-credential: "{jenkins-ssh-credential}"
648 - lf-infra-tox-install:
649 python-version: "{python-version}"
650 - shell: "{pre-build-script}"
652 parallel: "{parallel}"
658 # Python projects typically use tox to run testing.
659 name: "{project-name}-tox-verify-{stream}"
660 id: gerrit-tox-verify
663 ######################
664 # Default parameters #
665 ######################
667 gerrit-skip-vote: false
668 gerrit_verify_triggers:
669 - patchset-created-event:
671 exclude-trivial-rebase: false
672 exclude-no-code-change: false
673 - draft-published-event
674 - comment-added-contains-event:
675 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
677 #####################
678 # Job Configuration #
679 #####################
682 - lf-infra-gerrit-scm:
683 jenkins-ssh-credential: "{jenkins-ssh-credential}"
685 refspec: "$GERRIT_REFSPEC"
686 branch: "$GERRIT_BRANCH"
687 submodule-recursive: "{submodule-recursive}"
688 submodule-timeout: "{submodule-timeout}"
689 submodule-disable: "{submodule-disable}"
690 choosing-strategy: gerrit
694 server-name: "{gerrit-server-name}"
695 trigger-on: "{obj:gerrit_verify_triggers}"
697 - project-compare-type: ANT
698 project-pattern: "{project}"
700 - branch-compare-type: ANT
701 branch-pattern: "**/{branch}"
702 file-paths: "{obj:gerrit_trigger_file_paths}"
704 successful: "{gerrit-skip-vote}"
705 failed: "{gerrit-skip-vote}"
706 unstable: "{gerrit-skip-vote}"
707 notbuilt: "{gerrit-skip-vote}"
710 # Python projects typically use tox to run testing.
711 name: "{project-name}-tox-verify-{stream}"
712 id: github-tox-verify
716 - lf-infra-properties:
717 build-days-to-keep: "{build-days-to-keep}"
719 url: "{github-url}/{github-org}/{project}"
722 - lf-infra-github-scm:
723 url: "{git-clone-url}{github-org}/{project}"
724 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
726 submodule-recursive: "{submodule-recursive}"
727 submodule-timeout: "{submodule-timeout}"
728 submodule-disable: "{submodule-disable}"
729 choosing-strategy: default
730 jenkins-ssh-credential: "{jenkins-ssh-credential}"
733 - github-pull-request:
734 trigger-phrase: "^(recheck|reverify)$"
735 only-trigger-phrase: false
736 status-context: "Tox Verify"
739 white-list-target-branches:
741 included-regions: "{obj:github_included_regions}"
744 # Run tox after merge of gerrit change set
745 name: "{project-name}-tox-merge-{stream}"
749 ######################
750 # Default parameters #
751 ######################
753 gerrit_merge_triggers:
754 - change-merged-event
755 - comment-added-contains-event:
756 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
758 #####################
759 # Job Configuration #
760 #####################
763 - lf-infra-gerrit-scm:
764 jenkins-ssh-credential: "{jenkins-ssh-credential}"
766 refspec: "$GERRIT_REFSPEC"
767 branch: "$GERRIT_BRANCH"
768 submodule-recursive: "{submodule-recursive}"
769 submodule-timeout: "{submodule-timeout}"
770 submodule-disable: "{submodule-disable}"
771 # merge jobs always build from tip
772 choosing-strategy: default
776 server-name: "{gerrit-server-name}"
777 trigger-on: "{obj:gerrit_merge_triggers}"
779 - project-compare-type: ANT
780 project-pattern: "{project}"
782 - branch-compare-type: ANT
783 branch-pattern: "**/{branch}"
784 file-paths: "{obj:gerrit_trigger_file_paths}"
787 # Run tox after merge of github pull request
788 name: "{project-name}-tox-merge-{stream}"
793 - lf-infra-properties:
794 build-days-to-keep: "{build-days-to-keep}"
796 url: "{github-url}/{github-org}/{project}"
799 - lf-infra-github-scm:
800 url: "{git-clone-url}{github-org}/{project}"
802 branch: "refs/heads/{branch}"
803 submodule-recursive: "{submodule-recursive}"
804 submodule-timeout: "{submodule-timeout}"
805 submodule-disable: "{submodule-disable}"
806 choosing-strategy: default
807 jenkins-ssh-credential: "{jenkins-ssh-credential}"
810 - github-pull-request:
811 trigger-phrase: "^remerge$"
812 only-trigger-phrase: true
813 status-context: "Tox Merge"
818 white-list: "{obj:github_pr_whitelist}"
819 admin-list: "{obj:github_pr_admin_list}"
820 white-list-target-branches:
822 included-regions: "{obj:github_included_regions}"
828 - lf_pypi_common: &lf_pypi_common
831 ######################
832 # Default parameters #
833 ######################
838 build-days-to-keep: 7
842 git-url: "$GIT_URL/$GERRIT_PROJECT"
843 github-url: "https://github.com"
845 pre-build-script: "# pre-build script goes here"
846 python-version: python3
848 submodule-disable: false
849 submodule-recursive: true
850 submodule-timeout: 10
854 gerrit_trigger_file_paths:
855 - compare-type: REG_EXP
858 # github_included_regions MUST match gerrit_trigger_file_paths
859 github_included_regions:
862 #####################
863 # Job Configuration #
864 #####################
866 project-type: freestyle
868 disabled: "{disable-job}"
871 - lf-infra-properties:
872 build-days-to-keep: "{build-days-to-keep}"
875 - lf-infra-parameters:
879 - lf-infra-tox-parameters:
881 tox-envs: "{tox-envs}"
883 name: BUILD_BDIST_WHEEL
884 default: "{dist-binary}"
885 description: "Set to True (checked) to build a binary distribution"
889 description: "Set to True (checked) to skip uploading artifacts"
893 build-timeout: "{build-timeout}"
894 jenkins-ssh-credential: "{jenkins-ssh-credential}"
899 - lf_pypi_verify_builders: &lf_pypi_verify_builders
900 name: lf-pypi-verify-builders
904 - lf-infra-tox-install:
905 python-version: "{python-version}"
906 - shell: "{pre-build-script}"
908 parallel: "{parallel}"
909 - shell: !include-raw-escape: ../shell/pypi-dist-build.sh
911 - lf_pypi_publish_builders: &lf_pypi_publish_builders
912 name: lf-pypi-publish-builders
916 - lf-infra-tox-install:
917 python-version: "{python-version}"
918 - shell: "{pre-build-script}"
920 parallel: "{parallel}"
921 - shell: !include-raw-escape: ../shell/pypi-dist-build.sh
922 - config-file-provider:
925 target: "$HOME/.pypirc"
927 properties-content: "REPOSITORY={pypi-repo}"
928 - shell: !include-raw-escape: ../shell/pypi-upload.sh
931 name: "{project-name}-pypi-verify-{stream}"
932 id: gerrit-pypi-verify
934 <<: *lf_pypi_verify_builders
937 - lf-infra-gerrit-scm:
938 jenkins-ssh-credential: "{jenkins-ssh-credential}"
940 refspec: "$GERRIT_REFSPEC"
941 branch: "$GERRIT_BRANCH"
942 submodule-recursive: "{submodule-recursive}"
943 submodule-timeout: "{submodule-timeout}"
944 submodule-disable: "{submodule-disable}"
945 choosing-strategy: gerrit
949 server-name: "{gerrit-server-name}"
951 - patchset-created-event:
953 exclude-trivial-rebase: false
954 exclude-no-code-change: false
955 - draft-published-event
956 - comment-added-contains-event:
957 # yamllint disable-line rule:line-length
958 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
960 - project-compare-type: ANT
961 project-pattern: "{project}"
963 - branch-compare-type: ANT
964 branch-pattern: "**/{branch}"
965 file-paths: "{obj:gerrit_trigger_file_paths}"
968 name: "{project-name}-pypi-verify-{stream}"
969 id: github-pypi-verify
971 <<: *lf_pypi_verify_builders
975 url: "{github-url}/{github-org}/{project}"
978 - lf-infra-github-scm:
979 url: "{git-clone-url}{github-org}/{project}"
980 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
982 submodule-recursive: "{submodule-recursive}"
983 submodule-timeout: "{submodule-timeout}"
984 submodule-disable: "{submodule-disable}"
985 choosing-strategy: default
986 jenkins-ssh-credential: "{jenkins-ssh-credential}"
989 - github-pull-request:
990 trigger-phrase: "^(recheck|reverify)$"
991 only-trigger-phrase: false
992 status-context: "PyPI Verify"
995 white-list-target-branches:
997 included-regions: "{obj:github_included_regions}"
1000 name: "{project-name}-pypi-merge-{stream}"
1001 id: gerrit-pypi-merge
1003 <<: *lf_pypi_publish_builders
1005 cron: "" # avoid for pypi which rejects duplicates
1006 pypi-repo: pypi-test
1009 - lf-infra-gerrit-scm:
1010 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1011 git-url: "{git-url}"
1012 refspec: "$GERRIT_REFSPEC"
1013 branch: "$GERRIT_BRANCH"
1014 submodule-recursive: "{submodule-recursive}"
1015 submodule-timeout: "{submodule-timeout}"
1016 submodule-disable: "{submodule-disable}"
1017 # merge jobs always build from tip
1018 choosing-strategy: default
1021 - timed: "{obj:cron}"
1023 server-name: "{gerrit-server-name}"
1025 - change-merged-event
1026 - comment-added-contains-event:
1027 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
1029 - project-compare-type: ANT
1030 project-pattern: "{project}"
1032 - branch-compare-type: ANT
1033 branch-pattern: "**/{branch}"
1034 file-paths: "{obj:gerrit_trigger_file_paths}"
1037 name: "{project-name}-pypi-merge-{stream}"
1038 id: github-pypi-merge
1040 <<: *lf_pypi_publish_builders
1043 pypi-repo: pypi-test
1047 url: "{github-url}/{github-org}/{project}"
1050 - lf-infra-github-scm:
1051 url: "{git-clone-url}{github-org}/{project}"
1053 branch: "refs/heads/{branch}"
1054 submodule-recursive: "{submodule-recursive}"
1055 submodule-timeout: "{submodule-timeout}"
1056 submodule-disable: "{submodule-disable}"
1057 choosing-strategy: default
1058 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1061 - timed: "{obj:cron}"
1062 - github-pull-request:
1063 trigger-phrase: "^remerge$"
1064 only-trigger-phrase: false
1065 status-context: "Merge"
1070 white-list: "{obj:github_pr_whitelist}"
1071 admin-list: "{obj:github_pr_admin_list}"
1072 white-list-target-branches:
1074 included-regions: "{obj:github_included_regions}"
1077 name: "{project-name}-pypi-stage-{stream}"
1078 id: gerrit-pypi-stage
1080 <<: *lf_pypi_publish_builders
1083 pypi-repo: pypi-test
1085 gerrit_stage_triggers:
1086 - comment-added-contains-event:
1087 comment-contains-value: '^Patch Set\s+\d+:\s+stage-release\s*$'
1090 - lf-infra-gerrit-scm:
1091 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1092 git-url: "{git-url}"
1093 refspec: "$GERRIT_REFSPEC"
1094 branch: "$GERRIT_BRANCH"
1095 submodule-recursive: "{submodule-recursive}"
1096 submodule-timeout: "{submodule-timeout}"
1097 submodule-disable: "{submodule-disable}"
1098 # stage jobs always build from tip
1099 choosing-strategy: default
1102 - timed: "{obj:cron}"
1104 server-name: "{gerrit-server-name}"
1105 trigger-on: "{obj:gerrit_stage_triggers}"
1107 - project-compare-type: ANT
1108 project-pattern: "{project}"
1110 - branch-compare-type: ANT
1111 branch-pattern: "**/{branch}"
1112 file-paths: "{obj:gerrit_trigger_file_paths}"
1115 name: "{project-name}-pypi-stage-{stream}"
1116 id: github-pypi-stage
1118 <<: *lf_pypi_publish_builders
1121 pypi-repo: pypi-test
1125 url: "{github-url}/{github-org}/{project}"
1128 - lf-infra-github-scm:
1129 url: "{git-clone-url}{github-org}/{project}"
1131 branch: "refs/heads/{branch}"
1132 submodule-recursive: "{submodule-recursive}"
1133 submodule-timeout: "{submodule-timeout}"
1134 submodule-disable: "{submodule-disable}"
1135 choosing-strategy: default
1136 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1139 - timed: "{obj:cron}"
1140 - github-pull-request:
1141 trigger-phrase: "^stage-release$"
1142 only-trigger-phrase: true
1143 status-context: "Release"
1146 white-list-target-branches:
1148 included-regions: "{obj:github_included_regions}"