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: ""
259 submodule-recursive: true
260 submodule-timeout: 10
261 submodule-disable: false
265 gerrit_trigger_file_paths:
266 - compare-type: REG_EXP
269 # github_included_regions MUST match gerrit_trigger_file_paths
270 github_included_regions:
273 #####################
274 # Job Configuration #
275 #####################
277 disabled: "{disable-job}"
280 - lf-infra-parameters:
284 - lf-infra-maven-parameters:
285 mvn-opts: "{mvn-opts}"
286 mvn-params: "{mvn-params}"
287 mvn-version: "{mvn-version}"
288 - lf-infra-tox-parameters:
290 tox-envs: "{tox-envs}"
292 name: ARCHIVE_ARTIFACTS
293 default: "{archive-artifacts}"
294 description: Artifacts to archive to the logs server.
297 # Sets an env var for shell scripts to be able to call the dynamically
298 # installed maven without having to calculate the path themselves.
299 # yamllint disable-line rule:line-length
300 default: "/w/tools/hudson.tasks.Maven_MavenInstallation/{mvn-version}/bin/mvn"
301 description: "Maven selector to be used by shell scripts"
303 name: SONAR_MAVEN_GOAL
304 default: "{sonar-mvn-goal}"
306 Maven goals to pass to the Sonar call. Typically sonar:sonar
307 however to use a specific version of the sonar-maven-plugin we
308 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
312 - lf-infra-tox-install:
313 python-version: "{python-version}"
314 - shell: "{pre-build-script}"
316 parallel: "{parallel}"
317 - lf-provide-maven-settings:
318 global-settings-file: "{mvn-global-settings}"
319 settings-file: "{mvn-settings}"
322 condition-kind: boolean-expression
323 condition-expression: "{sonarcloud}"
325 - shell: echo 'Using SonarCloud'
326 - lf-infra-maven-sonarcloud:
327 java-version: "{java-version}"
328 mvn-goals: "{mvn-goals}"
329 mvn-settings: "{mvn-settings}"
330 mvn-version: "{mvn-version}"
331 sonarcloud-project-key: "{sonarcloud-project-key}"
332 # yamllint disable-line rule:line-length
333 sonarcloud-project-organization: "{sonarcloud-project-organization}"
334 sonarcloud-api-token: "{sonarcloud-api-token}"
339 condition-kind: boolean-expression
340 condition-expression: "{sonarcloud}"
342 - shell: echo 'Using SonarQube'
343 - lf-infra-maven-sonar:
344 java-version: "{java-version}"
345 mvn-goals: "{mvn-goals}"
346 mvn-settings: "{mvn-settings}"
347 mvn-version: "{mvn-version}"
353 name: "{project-name}-tox-sonar"
355 <<: *lf_python_common
358 ######################
359 # Default parameters #
360 ######################
362 gerrit_sonar_triggers:
363 - comment-added-contains-event:
364 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
366 #####################
367 # Job Configuration #
368 #####################
371 - lf-infra-gerrit-scm:
372 jenkins-ssh-credential: "{jenkins-ssh-credential}"
374 refspec: $GERRIT_REFSPEC
375 branch: $GERRIT_BRANCH
376 submodule-recursive: "{submodule-recursive}"
377 submodule-timeout: "{submodule-timeout}"
378 submodule-disable: "{submodule-disable}"
379 choosing-strategy: default
382 - timed: "{obj:cron}"
384 server-name: "{gerrit-server-name}"
385 trigger-on: "{obj:gerrit_sonar_triggers}"
387 - project-compare-type: "ANT"
388 project-pattern: "{project}"
390 - branch-compare-type: "ANT"
391 branch-pattern: "**/{branch}"
392 file-paths: "{obj:gerrit_trigger_file_paths}"
400 name: "{project-name}-tox-sonar"
402 <<: *lf_python_common
406 - lf-infra-properties:
407 build-days-to-keep: "{build-days-to-keep}"
409 url: "{github-url}/{github-org}/{project}"
412 - lf-infra-github-scm:
413 url: "{git-clone-url}{github-org}/{project}"
414 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
416 submodule-recursive: "{submodule-recursive}"
417 submodule-timeout: "{submodule-timeout}"
418 submodule-disable: "{submodule-disable}"
419 choosing-strategy: default
420 jenkins-ssh-credential: "{jenkins-ssh-credential}"
423 - github-pull-request:
424 trigger-phrase: "^run-sonar$"
425 only-trigger-phrase: false
426 status-context: "Python Sonar"
429 white-list-target-branches:
431 included-regions: "{obj:github_included_regions}"
437 - lf_tox_sonarqube: &lf_tox_sonarqube
438 name: lf-tox-sonarqube
440 ######################
441 # Default parameters #
442 ######################
446 branch: master # Sonar should always be run on master branch
447 build-days-to-keep: 7
451 git-url: "$GIT_URL/$PROJECT"
452 github-url: "https://github.com"
454 pre-build-script: "# pre-build script goes here"
455 python-version: python3
457 submodule-recursive: true
458 submodule-timeout: 10
459 submodule-disable: false
463 sonar-additional-args: ""
465 sonar-project-file: "sonar-project.properties"
469 #####################
470 # Job Configuration #
471 #####################
473 project-type: freestyle
475 disabled: "{disable-job}"
478 - lf-infra-properties:
479 build-days-to-keep: "{build-days-to-keep}"
483 build-timeout: "{build-timeout}"
484 jenkins-ssh-credential: "{jenkins-ssh-credential}"
487 - lf-infra-parameters:
491 - lf-infra-tox-parameters:
493 tox-envs: "{tox-envs}"
495 name: ARCHIVE_ARTIFACTS
496 default: "{archive-artifacts}"
497 description: Artifacts to archive to the logs server.
501 - lf-infra-tox-install:
502 python-version: "{python-version}"
503 - shell: "{pre-build-script}"
505 parallel: "{parallel}"
507 sonar-task: "{sonar-task}"
508 sonar-project-file: "{sonar-project-file}"
509 sonar-properties: "{sonar-properties}"
510 sonar-java-opts: "{sonar-java-opts}"
511 sonar-additional-args: "{sonar-additional-args}"
517 name: "{project-name}-tox-sonarqube"
518 id: gerrit-tox-sonarqube
520 <<: *lf_tox_sonarqube
522 ######################
523 # Default parameters #
524 ######################
526 gerrit_sonar_triggers:
527 - comment-added-contains-event:
528 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
531 - lf-infra-gerrit-scm:
532 branch: "$GERRIT_BRANCH"
533 jenkins-ssh-credential: "{jenkins-ssh-credential}"
535 refspec: "$GERRIT_REFSPEC"
536 submodule-recursive: "{submodule-recursive}"
537 submodule-timeout: "{submodule-timeout}"
538 submodule-disable: "{submodule-disable}"
539 choosing-strategy: default
542 - timed: "{obj:cron}"
544 server-name: "{gerrit-server-name}"
545 trigger-on: "{obj:gerrit_sonar_triggers}"
547 - project-compare-type: "ANT"
548 project-pattern: "{project}"
550 - branch-compare-type: "ANT"
551 branch-pattern: "**/{branch}"
554 name: "{project-name}-tox-sonarqube"
555 id: github-tox-sonarqube
557 <<: *lf_tox_sonarqube
560 - lf-infra-github-scm:
562 jenkins-ssh-credential: "{jenkins-ssh-credential}"
563 url: "{git-clone-url}{github-org}/{project}"
564 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
571 - github-pull-request:
572 trigger-phrase: "^run-sonar$"
573 only-trigger-phrase: false
574 status-context: "Tox Sonarqube"
577 white-list-target-branches:
584 - lf_tox_common: &lf_tox_common
587 ######################
588 # Default parameters #
589 ######################
592 build-days-to-keep: 7
595 git-url: "$GIT_URL/$GERRIT_PROJECT"
596 github-url: "https://github.com"
598 pre-build-script: "# pre-build script goes here"
599 python-version: python3
601 submodule-recursive: true
602 submodule-timeout: 10
603 submodule-disable: false
607 gerrit_trigger_file_paths:
608 - compare-type: REG_EXP
611 # github_included_regions MUST match gerrit_trigger_file_paths
612 github_included_regions:
615 #####################
616 # Job Configuration #
617 #####################
619 project-type: freestyle
622 disabled: "{disable-job}"
625 - lf-infra-properties:
626 build-days-to-keep: "{build-days-to-keep}"
629 - lf-infra-parameters:
633 - lf-infra-tox-parameters:
635 tox-envs: "{tox-envs}"
639 build-timeout: "{build-timeout}"
640 jenkins-ssh-credential: "{jenkins-ssh-credential}"
644 - lf-infra-tox-install:
645 python-version: "{python-version}"
646 - shell: "{pre-build-script}"
648 parallel: "{parallel}"
654 # Python projects typically use tox to run testing.
655 name: "{project-name}-tox-verify-{stream}"
656 id: gerrit-tox-verify
659 ######################
660 # Default parameters #
661 ######################
663 gerrit-skip-vote: false
664 gerrit_verify_triggers:
665 - patchset-created-event:
667 exclude-trivial-rebase: false
668 exclude-no-code-change: false
669 - draft-published-event
670 - comment-added-contains-event:
671 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
673 #####################
674 # Job Configuration #
675 #####################
678 - lf-infra-gerrit-scm:
679 jenkins-ssh-credential: "{jenkins-ssh-credential}"
681 refspec: "$GERRIT_REFSPEC"
682 branch: "$GERRIT_BRANCH"
683 submodule-recursive: "{submodule-recursive}"
684 submodule-timeout: "{submodule-timeout}"
685 submodule-disable: "{submodule-disable}"
686 choosing-strategy: gerrit
690 server-name: "{gerrit-server-name}"
691 trigger-on: "{obj:gerrit_verify_triggers}"
693 - project-compare-type: ANT
694 project-pattern: "{project}"
696 - branch-compare-type: ANT
697 branch-pattern: "**/{branch}"
698 file-paths: "{obj:gerrit_trigger_file_paths}"
700 successful: "{gerrit-skip-vote}"
701 failed: "{gerrit-skip-vote}"
702 unstable: "{gerrit-skip-vote}"
703 notbuilt: "{gerrit-skip-vote}"
706 # Python projects typically use tox to run testing.
707 name: "{project-name}-tox-verify-{stream}"
708 id: github-tox-verify
712 - lf-infra-properties:
713 build-days-to-keep: "{build-days-to-keep}"
715 url: "{github-url}/{github-org}/{project}"
718 - lf-infra-github-scm:
719 url: "{git-clone-url}{github-org}/{project}"
720 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
722 submodule-recursive: "{submodule-recursive}"
723 submodule-timeout: "{submodule-timeout}"
724 submodule-disable: "{submodule-disable}"
725 choosing-strategy: default
726 jenkins-ssh-credential: "{jenkins-ssh-credential}"
729 - github-pull-request:
730 trigger-phrase: "^(recheck|reverify)$"
731 only-trigger-phrase: false
732 status-context: "Tox Verify"
735 white-list-target-branches:
737 included-regions: "{obj:github_included_regions}"
740 # Run tox after merge of gerrit change set
741 name: "{project-name}-tox-merge-{stream}"
745 ######################
746 # Default parameters #
747 ######################
749 gerrit_merge_triggers:
750 - change-merged-event
751 - comment-added-contains-event:
752 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
754 #####################
755 # Job Configuration #
756 #####################
759 - lf-infra-gerrit-scm:
760 jenkins-ssh-credential: "{jenkins-ssh-credential}"
762 refspec: "$GERRIT_REFSPEC"
763 branch: "$GERRIT_BRANCH"
764 submodule-recursive: "{submodule-recursive}"
765 submodule-timeout: "{submodule-timeout}"
766 submodule-disable: "{submodule-disable}"
767 # merge jobs always build from tip
768 choosing-strategy: default
772 server-name: "{gerrit-server-name}"
773 trigger-on: "{obj:gerrit_merge_triggers}"
775 - project-compare-type: ANT
776 project-pattern: "{project}"
778 - branch-compare-type: ANT
779 branch-pattern: "**/{branch}"
780 file-paths: "{obj:gerrit_trigger_file_paths}"
783 # Run tox after merge of github pull request
784 name: "{project-name}-tox-merge-{stream}"
789 - lf-infra-properties:
790 build-days-to-keep: "{build-days-to-keep}"
792 url: "{github-url}/{github-org}/{project}"
795 - lf-infra-github-scm:
796 url: "{git-clone-url}{github-org}/{project}"
798 branch: "refs/heads/{branch}"
799 submodule-recursive: "{submodule-recursive}"
800 submodule-timeout: "{submodule-timeout}"
801 submodule-disable: "{submodule-disable}"
802 choosing-strategy: default
803 jenkins-ssh-credential: "{jenkins-ssh-credential}"
806 - github-pull-request:
807 trigger-phrase: "^remerge$"
808 only-trigger-phrase: true
809 status-context: "Tox Merge"
814 white-list: "{obj:github_pr_whitelist}"
815 admin-list: "{obj:github_pr_admin_list}"
816 white-list-target-branches:
818 included-regions: "{obj:github_included_regions}"
824 - lf_pypi_common: &lf_pypi_common
827 ######################
828 # Default parameters #
829 ######################
834 build-days-to-keep: 7
838 git-url: "$GIT_URL/$GERRIT_PROJECT"
839 github-url: "https://github.com"
841 pre-build-script: "# pre-build script goes here"
842 python-version: python3
844 submodule-disable: false
845 submodule-recursive: true
846 submodule-timeout: 10
850 gerrit_trigger_file_paths:
851 - compare-type: REG_EXP
854 # github_included_regions MUST match gerrit_trigger_file_paths
855 github_included_regions:
858 #####################
859 # Job Configuration #
860 #####################
862 project-type: freestyle
864 disabled: "{disable-job}"
867 - lf-infra-properties:
868 build-days-to-keep: "{build-days-to-keep}"
871 - lf-infra-parameters:
875 - lf-infra-tox-parameters:
877 tox-envs: "{tox-envs}"
879 name: BUILD_BDIST_WHEEL
880 default: "{dist-binary}"
881 description: "Set to True (checked) to build a binary distribution"
885 description: "Set to True (checked) to skip uploading artifacts"
889 build-timeout: "{build-timeout}"
890 jenkins-ssh-credential: "{jenkins-ssh-credential}"
895 - lf_pypi_verify_builders: &lf_pypi_verify_builders
896 name: lf-pypi-verify-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
907 - lf_pypi_publish_builders: &lf_pypi_publish_builders
908 name: lf-pypi-publish-builders
912 - lf-infra-tox-install:
913 python-version: "{python-version}"
914 - shell: "{pre-build-script}"
916 parallel: "{parallel}"
917 - shell: !include-raw-escape: ../shell/pypi-dist-build.sh
918 - config-file-provider:
921 target: "$HOME/.pypirc"
923 properties-content: "REPOSITORY={pypi-repo}"
924 - shell: !include-raw-escape: ../shell/pypi-upload.sh
927 name: "{project-name}-pypi-verify-{stream}"
928 id: gerrit-pypi-verify
930 <<: *lf_pypi_verify_builders
933 - lf-infra-gerrit-scm:
934 jenkins-ssh-credential: "{jenkins-ssh-credential}"
936 refspec: "$GERRIT_REFSPEC"
937 branch: "$GERRIT_BRANCH"
938 submodule-recursive: "{submodule-recursive}"
939 submodule-timeout: "{submodule-timeout}"
940 submodule-disable: "{submodule-disable}"
941 choosing-strategy: gerrit
945 server-name: "{gerrit-server-name}"
947 - patchset-created-event:
949 exclude-trivial-rebase: false
950 exclude-no-code-change: false
951 - draft-published-event
952 - comment-added-contains-event:
953 # yamllint disable-line rule:line-length
954 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
956 - project-compare-type: ANT
957 project-pattern: "{project}"
959 - branch-compare-type: ANT
960 branch-pattern: "**/{branch}"
961 file-paths: "{obj:gerrit_trigger_file_paths}"
964 name: "{project-name}-pypi-verify-{stream}"
965 id: github-pypi-verify
967 <<: *lf_pypi_verify_builders
971 url: "{github-url}/{github-org}/{project}"
974 - lf-infra-github-scm:
975 url: "{git-clone-url}{github-org}/{project}"
976 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
978 submodule-recursive: "{submodule-recursive}"
979 submodule-timeout: "{submodule-timeout}"
980 submodule-disable: "{submodule-disable}"
981 choosing-strategy: default
982 jenkins-ssh-credential: "{jenkins-ssh-credential}"
985 - github-pull-request:
986 trigger-phrase: "^(recheck|reverify)$"
987 only-trigger-phrase: false
988 status-context: "PyPI Verify"
991 white-list-target-branches:
993 included-regions: "{obj:github_included_regions}"
996 name: "{project-name}-pypi-merge-{stream}"
997 id: gerrit-pypi-merge
999 <<: *lf_pypi_publish_builders
1001 cron: "" # avoid for pypi which rejects duplicates
1002 pypi-repo: pypi-test
1005 - lf-infra-gerrit-scm:
1006 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1007 git-url: "{git-url}"
1008 refspec: "$GERRIT_REFSPEC"
1009 branch: "$GERRIT_BRANCH"
1010 submodule-recursive: "{submodule-recursive}"
1011 submodule-timeout: "{submodule-timeout}"
1012 submodule-disable: "{submodule-disable}"
1013 # merge jobs always build from tip
1014 choosing-strategy: default
1017 - timed: "{obj:cron}"
1019 server-name: "{gerrit-server-name}"
1021 - change-merged-event
1022 - comment-added-contains-event:
1023 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
1025 - project-compare-type: ANT
1026 project-pattern: "{project}"
1028 - branch-compare-type: ANT
1029 branch-pattern: "**/{branch}"
1030 file-paths: "{obj:gerrit_trigger_file_paths}"
1033 name: "{project-name}-pypi-merge-{stream}"
1034 id: github-pypi-merge
1036 <<: *lf_pypi_publish_builders
1039 pypi-repo: pypi-test
1043 url: "{github-url}/{github-org}/{project}"
1046 - lf-infra-github-scm:
1047 url: "{git-clone-url}{github-org}/{project}"
1049 branch: "refs/heads/{branch}"
1050 submodule-recursive: "{submodule-recursive}"
1051 submodule-timeout: "{submodule-timeout}"
1052 submodule-disable: "{submodule-disable}"
1053 choosing-strategy: default
1054 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1057 - timed: "{obj:cron}"
1058 - github-pull-request:
1059 trigger-phrase: "^remerge$"
1060 only-trigger-phrase: false
1061 status-context: "Merge"
1066 white-list: "{obj:github_pr_whitelist}"
1067 admin-list: "{obj:github_pr_admin_list}"
1068 white-list-target-branches:
1070 included-regions: "{obj:github_included_regions}"
1073 name: "{project-name}-pypi-stage-{stream}"
1074 id: gerrit-pypi-stage
1076 <<: *lf_pypi_publish_builders
1079 pypi-repo: pypi-test
1081 gerrit_stage_triggers:
1082 - comment-added-contains-event:
1083 comment-contains-value: '^Patch Set\s+\d+:\s+stage-release\s*$'
1086 - lf-infra-gerrit-scm:
1087 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1088 git-url: "{git-url}"
1089 refspec: "$GERRIT_REFSPEC"
1090 branch: "$GERRIT_BRANCH"
1091 submodule-recursive: "{submodule-recursive}"
1092 submodule-timeout: "{submodule-timeout}"
1093 submodule-disable: "{submodule-disable}"
1094 # stage jobs always build from tip
1095 choosing-strategy: default
1098 - timed: "{obj:cron}"
1100 server-name: "{gerrit-server-name}"
1101 trigger-on: "{obj:gerrit_stage_triggers}"
1103 - project-compare-type: ANT
1104 project-pattern: "{project}"
1106 - branch-compare-type: ANT
1107 branch-pattern: "**/{branch}"
1108 file-paths: "{obj:gerrit_trigger_file_paths}"
1111 name: "{project-name}-pypi-stage-{stream}"
1112 id: github-pypi-stage
1114 <<: *lf_pypi_publish_builders
1117 pypi-repo: pypi-test
1121 url: "{github-url}/{github-org}/{project}"
1124 - lf-infra-github-scm:
1125 url: "{git-clone-url}{github-org}/{project}"
1127 branch: "refs/heads/{branch}"
1128 submodule-recursive: "{submodule-recursive}"
1129 submodule-timeout: "{submodule-timeout}"
1130 submodule-disable: "{submodule-disable}"
1131 choosing-strategy: default
1132 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1135 - timed: "{obj:cron}"
1136 - github-pull-request:
1137 trigger-phrase: "^stage-release$"
1138 only-trigger-phrase: true
1139 status-context: "Release"
1142 white-list-target-branches:
1144 included-regions: "{obj:github_included_regions}"