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
267 scan-dev-branch: false
269 gerrit_trigger_file_paths:
270 - compare-type: REG_EXP
273 # github_included_regions MUST match gerrit_trigger_file_paths
274 github_included_regions:
277 #####################
278 # Job Configuration #
279 #####################
281 disabled: "{disable-job}"
284 - lf-infra-parameters:
288 - lf-infra-maven-parameters:
289 mvn-opts: "{mvn-opts}"
290 mvn-params: "{mvn-params}"
291 mvn-version: "{mvn-version}"
292 - lf-infra-tox-parameters:
294 tox-envs: "{tox-envs}"
296 name: ARCHIVE_ARTIFACTS
297 default: "{archive-artifacts}"
298 description: Artifacts to archive to the logs server.
301 # Sets an env var for shell scripts to be able to call the dynamically
302 # installed maven without having to calculate the path themselves.
303 # yamllint disable-line rule:line-length
304 default: "/w/tools/hudson.tasks.Maven_MavenInstallation/{mvn-version}/bin/mvn"
305 description: "Maven selector to be used by shell scripts"
307 name: SONAR_MAVEN_GOAL
308 default: "{sonar-mvn-goal}"
310 Maven goals to pass to the Sonar call. Typically sonar:sonar
311 however to use a specific version of the sonar-maven-plugin we
312 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
316 - lf-infra-tox-install:
317 python-version: "{python-version}"
318 - shell: "{pre-build-script}"
320 parallel: "{parallel}"
321 - lf-provide-maven-settings:
322 global-settings-file: "{mvn-global-settings}"
323 settings-file: "{mvn-settings}"
326 condition-kind: boolean-expression
327 condition-expression: "{sonarcloud}"
329 - shell: echo 'Using SonarCloud'
330 - lf-infra-maven-sonarcloud:
331 java-version: "{java-version}"
332 mvn-goals: "{mvn-goals}"
333 mvn-settings: "{mvn-settings}"
334 mvn-version: "{mvn-version}"
335 sonarcloud-project-key: "{sonarcloud-project-key}"
336 # yamllint disable-line rule:line-length
337 sonarcloud-project-organization: "{sonarcloud-project-organization}"
338 sonarcloud-api-token: "{sonarcloud-api-token}"
339 sonarcloud-java-version: "{sonarcloud-java-version}"
340 scan-dev-branch: "{scan-dev-branch}"
345 condition-kind: boolean-expression
346 condition-expression: "{sonarcloud}"
348 - shell: echo 'Using SonarQube'
349 - lf-infra-maven-sonar:
350 java-version: "{java-version}"
351 mvn-goals: "{mvn-goals}"
352 mvn-settings: "{mvn-settings}"
353 mvn-version: "{mvn-version}"
359 name: "{project-name}-tox-sonar"
361 <<: *lf_python_common
364 ######################
365 # Default parameters #
366 ######################
368 gerrit_sonar_triggers:
369 - comment-added-contains-event:
370 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
372 #####################
373 # Job Configuration #
374 #####################
377 - lf-infra-gerrit-scm:
378 jenkins-ssh-credential: "{jenkins-ssh-credential}"
380 refspec: $GERRIT_REFSPEC
381 branch: $GERRIT_BRANCH
382 submodule-recursive: "{submodule-recursive}"
383 submodule-timeout: "{submodule-timeout}"
384 submodule-disable: "{submodule-disable}"
385 choosing-strategy: default
388 - timed: "{obj:cron}"
390 server-name: "{gerrit-server-name}"
391 trigger-on: "{obj:gerrit_sonar_triggers}"
393 - project-compare-type: "ANT"
394 project-pattern: "{project}"
396 - branch-compare-type: "ANT"
397 branch-pattern: "**/{branch}"
398 file-paths: "{obj:gerrit_trigger_file_paths}"
406 name: "{project-name}-tox-sonar"
408 <<: *lf_python_common
412 - lf-infra-properties:
413 build-days-to-keep: "{build-days-to-keep}"
415 url: "{github-url}/{github-org}/{project}"
418 - lf-infra-github-scm:
419 url: "{git-clone-url}{github-org}/{project}"
420 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
422 submodule-recursive: "{submodule-recursive}"
423 submodule-timeout: "{submodule-timeout}"
424 submodule-disable: "{submodule-disable}"
425 choosing-strategy: default
426 jenkins-ssh-credential: "{jenkins-ssh-credential}"
429 - github-pull-request:
430 trigger-phrase: "^run-sonar$"
431 only-trigger-phrase: false
432 status-context: "Python Sonar"
435 white-list-target-branches:
437 included-regions: "{obj:github_included_regions}"
443 - lf_tox_sonarqube: &lf_tox_sonarqube
444 name: lf-tox-sonarqube
446 ######################
447 # Default parameters #
448 ######################
452 branch: master # Sonar should always be run on master branch
453 build-days-to-keep: 7
457 git-url: "$GIT_URL/$PROJECT"
458 github-url: "https://github.com"
460 pre-build-script: "# pre-build script goes here"
461 python-version: python3
463 submodule-recursive: true
464 submodule-timeout: 10
465 submodule-disable: false
469 sonar-additional-args: ""
471 sonar-project-file: "sonar-project.properties"
475 #####################
476 # Job Configuration #
477 #####################
479 project-type: freestyle
481 disabled: "{disable-job}"
484 - lf-infra-properties:
485 build-days-to-keep: "{build-days-to-keep}"
489 build-timeout: "{build-timeout}"
490 jenkins-ssh-credential: "{jenkins-ssh-credential}"
493 - lf-infra-parameters:
497 - lf-infra-tox-parameters:
499 tox-envs: "{tox-envs}"
501 name: ARCHIVE_ARTIFACTS
502 default: "{archive-artifacts}"
503 description: Artifacts to archive to the logs server.
507 - lf-infra-tox-install:
508 python-version: "{python-version}"
509 - shell: "{pre-build-script}"
511 parallel: "{parallel}"
513 sonar-task: "{sonar-task}"
514 sonar-project-file: "{sonar-project-file}"
515 sonar-properties: "{sonar-properties}"
516 sonar-java-opts: "{sonar-java-opts}"
517 sonar-additional-args: "{sonar-additional-args}"
523 name: "{project-name}-tox-sonarqube"
524 id: gerrit-tox-sonarqube
526 <<: *lf_tox_sonarqube
528 ######################
529 # Default parameters #
530 ######################
532 gerrit_sonar_triggers:
533 - comment-added-contains-event:
534 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
537 - lf-infra-gerrit-scm:
538 branch: "$GERRIT_BRANCH"
539 jenkins-ssh-credential: "{jenkins-ssh-credential}"
541 refspec: "$GERRIT_REFSPEC"
542 submodule-recursive: "{submodule-recursive}"
543 submodule-timeout: "{submodule-timeout}"
544 submodule-disable: "{submodule-disable}"
545 choosing-strategy: default
548 - timed: "{obj:cron}"
550 server-name: "{gerrit-server-name}"
551 trigger-on: "{obj:gerrit_sonar_triggers}"
553 - project-compare-type: "ANT"
554 project-pattern: "{project}"
556 - branch-compare-type: "ANT"
557 branch-pattern: "**/{branch}"
560 name: "{project-name}-tox-sonarqube"
561 id: github-tox-sonarqube
563 <<: *lf_tox_sonarqube
566 - lf-infra-github-scm:
568 jenkins-ssh-credential: "{jenkins-ssh-credential}"
569 url: "{git-clone-url}{github-org}/{project}"
570 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
571 submodule-recursive: "{submodule-recursive}"
572 submodule-timeout: "{submodule-timeout}"
573 submodule-disable: "{submodule-disable}"
574 choosing-strategy: default
577 - github-pull-request:
578 trigger-phrase: "^run-sonar$"
579 only-trigger-phrase: false
580 status-context: "Tox Sonarqube"
583 white-list-target-branches:
590 - lf_tox_common: &lf_tox_common
593 ######################
594 # Default parameters #
595 ######################
598 build-days-to-keep: 7
601 git-url: "$GIT_URL/$GERRIT_PROJECT"
602 github-url: "https://github.com"
604 pre-build-script: "# pre-build script goes here"
605 python-version: python3
607 submodule-recursive: true
608 submodule-timeout: 10
609 submodule-disable: false
613 gerrit_trigger_file_paths:
614 - compare-type: REG_EXP
617 # github_included_regions MUST match gerrit_trigger_file_paths
618 github_included_regions:
621 #####################
622 # Job Configuration #
623 #####################
625 project-type: freestyle
628 disabled: "{disable-job}"
631 - lf-infra-properties:
632 build-days-to-keep: "{build-days-to-keep}"
635 - lf-infra-parameters:
639 - lf-infra-tox-parameters:
641 tox-envs: "{tox-envs}"
645 build-timeout: "{build-timeout}"
646 jenkins-ssh-credential: "{jenkins-ssh-credential}"
650 - lf-infra-tox-install:
651 python-version: "{python-version}"
652 - shell: "{pre-build-script}"
654 parallel: "{parallel}"
660 # Python projects typically use tox to run testing.
661 name: "{project-name}-tox-verify-{stream}"
662 id: gerrit-tox-verify
665 ######################
666 # Default parameters #
667 ######################
669 gerrit-skip-vote: false
670 gerrit_verify_triggers:
671 - patchset-created-event:
673 exclude-trivial-rebase: false
674 exclude-no-code-change: false
675 - draft-published-event
676 - comment-added-contains-event:
677 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
679 #####################
680 # Job Configuration #
681 #####################
684 - lf-infra-gerrit-scm:
685 jenkins-ssh-credential: "{jenkins-ssh-credential}"
687 refspec: "$GERRIT_REFSPEC"
688 branch: "$GERRIT_BRANCH"
689 submodule-recursive: "{submodule-recursive}"
690 submodule-timeout: "{submodule-timeout}"
691 submodule-disable: "{submodule-disable}"
692 choosing-strategy: gerrit
696 server-name: "{gerrit-server-name}"
697 trigger-on: "{obj:gerrit_verify_triggers}"
699 - project-compare-type: ANT
700 project-pattern: "{project}"
702 - branch-compare-type: ANT
703 branch-pattern: "**/{branch}"
704 file-paths: "{obj:gerrit_trigger_file_paths}"
706 successful: "{gerrit-skip-vote}"
707 failed: "{gerrit-skip-vote}"
708 unstable: "{gerrit-skip-vote}"
709 notbuilt: "{gerrit-skip-vote}"
712 # Python projects typically use tox to run testing.
713 name: "{project-name}-tox-verify-{stream}"
714 id: github-tox-verify
718 - lf-infra-properties:
719 build-days-to-keep: "{build-days-to-keep}"
721 url: "{github-url}/{github-org}/{project}"
724 - lf-infra-github-scm:
725 url: "{git-clone-url}{github-org}/{project}"
726 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
728 submodule-recursive: "{submodule-recursive}"
729 submodule-timeout: "{submodule-timeout}"
730 submodule-disable: "{submodule-disable}"
731 choosing-strategy: default
732 jenkins-ssh-credential: "{jenkins-ssh-credential}"
735 - github-pull-request:
736 trigger-phrase: "^(recheck|reverify)$"
737 only-trigger-phrase: false
738 status-context: "Tox Verify"
741 white-list-target-branches:
743 included-regions: "{obj:github_included_regions}"
746 # Run tox after merge of gerrit change set
747 name: "{project-name}-tox-merge-{stream}"
751 ######################
752 # Default parameters #
753 ######################
755 gerrit_merge_triggers:
756 - change-merged-event
757 - comment-added-contains-event:
758 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
760 #####################
761 # Job Configuration #
762 #####################
765 - lf-infra-gerrit-scm:
766 jenkins-ssh-credential: "{jenkins-ssh-credential}"
768 refspec: "$GERRIT_REFSPEC"
769 branch: "$GERRIT_BRANCH"
770 submodule-recursive: "{submodule-recursive}"
771 submodule-timeout: "{submodule-timeout}"
772 submodule-disable: "{submodule-disable}"
773 # merge jobs always build from tip
774 choosing-strategy: default
778 server-name: "{gerrit-server-name}"
779 trigger-on: "{obj:gerrit_merge_triggers}"
781 - project-compare-type: ANT
782 project-pattern: "{project}"
784 - branch-compare-type: ANT
785 branch-pattern: "**/{branch}"
786 file-paths: "{obj:gerrit_trigger_file_paths}"
789 # Run tox after merge of github pull request
790 name: "{project-name}-tox-merge-{stream}"
795 - lf-infra-properties:
796 build-days-to-keep: "{build-days-to-keep}"
798 url: "{github-url}/{github-org}/{project}"
801 - lf-infra-github-scm:
802 url: "{git-clone-url}{github-org}/{project}"
804 branch: "refs/heads/{branch}"
805 submodule-recursive: "{submodule-recursive}"
806 submodule-timeout: "{submodule-timeout}"
807 submodule-disable: "{submodule-disable}"
808 choosing-strategy: default
809 jenkins-ssh-credential: "{jenkins-ssh-credential}"
812 - github-pull-request:
813 trigger-phrase: "^remerge$"
814 only-trigger-phrase: true
815 status-context: "Tox Merge"
820 white-list: "{obj:github_pr_whitelist}"
821 admin-list: "{obj:github_pr_admin_list}"
822 white-list-target-branches:
824 included-regions: "{obj:github_included_regions}"
830 - lf_pypi_common: &lf_pypi_common
833 ######################
834 # Default parameters #
835 ######################
840 build-days-to-keep: 7
844 git-url: "$GIT_URL/$GERRIT_PROJECT"
845 github-url: "https://github.com"
847 pre-build-script: "# pre-build script goes here"
848 python-version: python3
850 submodule-disable: false
851 submodule-recursive: true
852 submodule-timeout: 10
856 gerrit_trigger_file_paths:
857 - compare-type: REG_EXP
860 # github_included_regions MUST match gerrit_trigger_file_paths
861 github_included_regions:
864 #####################
865 # Job Configuration #
866 #####################
868 project-type: freestyle
870 disabled: "{disable-job}"
873 - lf-infra-properties:
874 build-days-to-keep: "{build-days-to-keep}"
877 - lf-infra-parameters:
881 - lf-infra-tox-parameters:
883 tox-envs: "{tox-envs}"
885 name: BUILD_BDIST_WHEEL
886 default: "{dist-binary}"
887 description: "Set to True (checked) to build a binary distribution"
891 description: "Set to True (checked) to skip uploading artifacts"
895 build-timeout: "{build-timeout}"
896 jenkins-ssh-credential: "{jenkins-ssh-credential}"
901 - lf_pypi_verify_builders: &lf_pypi_verify_builders
902 name: lf-pypi-verify-builders
906 - lf-infra-tox-install:
907 python-version: "{python-version}"
908 - shell: "{pre-build-script}"
910 parallel: "{parallel}"
911 - shell: !include-raw-escape: ../shell/pypi-dist-build.sh
913 - lf_pypi_publish_builders: &lf_pypi_publish_builders
914 name: lf-pypi-publish-builders
918 - lf-infra-tox-install:
919 python-version: "{python-version}"
920 - shell: "{pre-build-script}"
922 parallel: "{parallel}"
923 - shell: !include-raw-escape: ../shell/pypi-dist-build.sh
924 - config-file-provider:
927 target: "$HOME/.pypirc"
929 properties-content: "REPOSITORY={pypi-repo}"
930 - shell: !include-raw-escape: ../shell/pypi-upload.sh
933 name: "{project-name}-pypi-verify-{stream}"
934 id: gerrit-pypi-verify
936 <<: *lf_pypi_verify_builders
939 - lf-infra-gerrit-scm:
940 jenkins-ssh-credential: "{jenkins-ssh-credential}"
942 refspec: "$GERRIT_REFSPEC"
943 branch: "$GERRIT_BRANCH"
944 submodule-recursive: "{submodule-recursive}"
945 submodule-timeout: "{submodule-timeout}"
946 submodule-disable: "{submodule-disable}"
947 choosing-strategy: gerrit
951 server-name: "{gerrit-server-name}"
953 - patchset-created-event:
955 exclude-trivial-rebase: false
956 exclude-no-code-change: false
957 - draft-published-event
958 - comment-added-contains-event:
959 # yamllint disable-line rule:line-length
960 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
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}-pypi-verify-{stream}"
971 id: github-pypi-verify
973 <<: *lf_pypi_verify_builders
977 url: "{github-url}/{github-org}/{project}"
980 - lf-infra-github-scm:
981 url: "{git-clone-url}{github-org}/{project}"
982 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
984 submodule-recursive: "{submodule-recursive}"
985 submodule-timeout: "{submodule-timeout}"
986 submodule-disable: "{submodule-disable}"
987 choosing-strategy: default
988 jenkins-ssh-credential: "{jenkins-ssh-credential}"
991 - github-pull-request:
992 trigger-phrase: "^(recheck|reverify)$"
993 only-trigger-phrase: false
994 status-context: "PyPI Verify"
997 white-list-target-branches:
999 included-regions: "{obj:github_included_regions}"
1002 name: "{project-name}-pypi-merge-{stream}"
1003 id: gerrit-pypi-merge
1005 <<: *lf_pypi_publish_builders
1007 cron: "" # avoid for pypi which rejects duplicates
1008 pypi-repo: pypi-test
1011 - lf-infra-gerrit-scm:
1012 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1013 git-url: "{git-url}"
1014 refspec: "$GERRIT_REFSPEC"
1015 branch: "$GERRIT_BRANCH"
1016 submodule-recursive: "{submodule-recursive}"
1017 submodule-timeout: "{submodule-timeout}"
1018 submodule-disable: "{submodule-disable}"
1019 # merge jobs always build from tip
1020 choosing-strategy: default
1023 - timed: "{obj:cron}"
1025 server-name: "{gerrit-server-name}"
1027 - change-merged-event
1028 - comment-added-contains-event:
1029 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
1031 - project-compare-type: ANT
1032 project-pattern: "{project}"
1034 - branch-compare-type: ANT
1035 branch-pattern: "**/{branch}"
1036 file-paths: "{obj:gerrit_trigger_file_paths}"
1039 name: "{project-name}-pypi-merge-{stream}"
1040 id: github-pypi-merge
1042 <<: *lf_pypi_publish_builders
1045 pypi-repo: pypi-test
1049 url: "{github-url}/{github-org}/{project}"
1052 - lf-infra-github-scm:
1053 url: "{git-clone-url}{github-org}/{project}"
1055 branch: "refs/heads/{branch}"
1056 submodule-recursive: "{submodule-recursive}"
1057 submodule-timeout: "{submodule-timeout}"
1058 submodule-disable: "{submodule-disable}"
1059 choosing-strategy: default
1060 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1063 - timed: "{obj:cron}"
1064 - github-pull-request:
1065 trigger-phrase: "^remerge$"
1066 only-trigger-phrase: false
1067 status-context: "Merge"
1072 white-list: "{obj:github_pr_whitelist}"
1073 admin-list: "{obj:github_pr_admin_list}"
1074 white-list-target-branches:
1076 included-regions: "{obj:github_included_regions}"
1079 name: "{project-name}-pypi-stage-{stream}"
1080 id: gerrit-pypi-stage
1082 <<: *lf_pypi_publish_builders
1085 pypi-repo: pypi-test
1087 gerrit_stage_triggers:
1088 - comment-added-contains-event:
1089 comment-contains-value: '^Patch Set\s+\d+:\s+stage-release\s*$'
1092 - lf-infra-gerrit-scm:
1093 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1094 git-url: "{git-url}"
1095 refspec: "$GERRIT_REFSPEC"
1096 branch: "$GERRIT_BRANCH"
1097 submodule-recursive: "{submodule-recursive}"
1098 submodule-timeout: "{submodule-timeout}"
1099 submodule-disable: "{submodule-disable}"
1100 # stage jobs always build from tip
1101 choosing-strategy: default
1104 - timed: "{obj:cron}"
1106 server-name: "{gerrit-server-name}"
1107 trigger-on: "{obj:gerrit_stage_triggers}"
1109 - project-compare-type: ANT
1110 project-pattern: "{project}"
1112 - branch-compare-type: ANT
1113 branch-pattern: "**/{branch}"
1114 file-paths: "{obj:gerrit_trigger_file_paths}"
1117 name: "{project-name}-pypi-stage-{stream}"
1118 id: github-pypi-stage
1120 <<: *lf_pypi_publish_builders
1123 pypi-repo: pypi-test
1127 url: "{github-url}/{github-org}/{project}"
1130 - lf-infra-github-scm:
1131 url: "{git-clone-url}{github-org}/{project}"
1133 branch: "refs/heads/{branch}"
1134 submodule-recursive: "{submodule-recursive}"
1135 submodule-timeout: "{submodule-timeout}"
1136 submodule-disable: "{submodule-disable}"
1137 choosing-strategy: default
1138 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1141 - timed: "{obj:cron}"
1142 - github-pull-request:
1143 trigger-phrase: "^stage-release$"
1144 only-trigger-phrase: true
1145 status-context: "Release"
1148 white-list-target-branches:
1150 included-regions: "{obj:github_included_regions}"