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: openjdk11 # Scanner is a jar
87 nexus-iq-cli-version: 1.140.0-01
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: openjdk11
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-qualitygate-wait: false
259 # SonarCloud scan using jdk8 will become deprecated by Oct, 2020
260 # Projects not compatible with jdk11 can set java-version to something else
261 sonarcloud-java-version: openjdk11
263 submodule-recursive: true
264 submodule-timeout: 10
265 submodule-disable: false
268 scan-dev-branch: false
270 gerrit_trigger_file_paths:
271 - compare-type: REG_EXP
274 # github_included_regions MUST match gerrit_trigger_file_paths
275 github_included_regions:
278 #####################
279 # Job Configuration #
280 #####################
282 disabled: "{disable-job}"
285 - lf-infra-parameters:
289 - lf-infra-maven-parameters:
290 mvn-opts: "{mvn-opts}"
291 mvn-params: "{mvn-params}"
292 mvn-version: "{mvn-version}"
293 - lf-infra-tox-parameters:
295 tox-envs: "{tox-envs}"
297 name: ARCHIVE_ARTIFACTS
298 default: "{archive-artifacts}"
299 description: Artifacts to archive to the logs server.
302 # Sets an env var for shell scripts to be able to call the dynamically
303 # installed maven without having to calculate the path themselves.
304 # yamllint disable-line rule:line-length
305 default: "/w/tools/hudson.tasks.Maven_MavenInstallation/{mvn-version}/bin/mvn"
306 description: "Maven selector to be used by shell scripts"
308 name: SONAR_MAVEN_GOAL
309 default: "{sonar-mvn-goal}"
311 Maven goals to pass to the Sonar call. Typically sonar:sonar
312 however to use a specific version of the sonar-maven-plugin we
313 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
317 - lf-infra-tox-install:
318 python-version: "{python-version}"
319 - shell: "{pre-build-script}"
321 parallel: "{parallel}"
322 - lf-provide-maven-settings:
323 global-settings-file: "{mvn-global-settings}"
324 settings-file: "{mvn-settings}"
327 condition-kind: boolean-expression
328 condition-expression: "{sonarcloud}"
330 - shell: echo 'Using SonarCloud'
331 - lf-infra-maven-sonarcloud:
332 java-version: "{java-version}"
333 mvn-goals: "{mvn-goals}"
334 mvn-settings: "{mvn-settings}"
335 mvn-version: "{mvn-version}"
336 sonarcloud-project-key: "{sonarcloud-project-key}"
337 # yamllint disable-line rule:line-length
338 sonarcloud-project-organization: "{sonarcloud-project-organization}"
339 sonarcloud-api-token: "{sonarcloud-api-token}"
340 sonarcloud-java-version: "{sonarcloud-java-version}"
341 sonarcloud-qualitygate-wait: "{sonarcloud-qualitygate-wait}"
342 scan-dev-branch: "{scan-dev-branch}"
347 condition-kind: boolean-expression
348 condition-expression: "{sonarcloud}"
350 - shell: echo 'Using SonarQube'
351 - lf-infra-maven-sonar:
352 java-version: "{java-version}"
353 mvn-goals: "{mvn-goals}"
354 mvn-settings: "{mvn-settings}"
355 mvn-version: "{mvn-version}"
361 name: "{project-name}-tox-sonar"
363 <<: *lf_python_common
366 ######################
367 # Default parameters #
368 ######################
370 gerrit_sonar_triggers:
371 - comment-added-contains-event:
372 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
374 #####################
375 # Job Configuration #
376 #####################
379 - lf-infra-gerrit-scm:
380 jenkins-ssh-credential: "{jenkins-ssh-credential}"
382 refspec: $GERRIT_REFSPEC
383 branch: $GERRIT_BRANCH
384 submodule-recursive: "{submodule-recursive}"
385 submodule-timeout: "{submodule-timeout}"
386 submodule-disable: "{submodule-disable}"
387 choosing-strategy: default
390 - timed: "{obj:cron}"
392 server-name: "{gerrit-server-name}"
393 trigger-on: "{obj:gerrit_sonar_triggers}"
395 - project-compare-type: "ANT"
396 project-pattern: "{project}"
398 - branch-compare-type: "ANT"
399 branch-pattern: "**/{branch}"
400 file-paths: "{obj:gerrit_trigger_file_paths}"
408 name: "{project-name}-tox-sonar"
410 <<: *lf_python_common
414 - lf-infra-properties:
415 build-days-to-keep: "{build-days-to-keep}"
417 url: "{github-url}/{github-org}/{project}"
420 - lf-infra-github-scm:
421 url: "{git-clone-url}{github-org}/{project}"
422 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
424 submodule-recursive: "{submodule-recursive}"
425 submodule-timeout: "{submodule-timeout}"
426 submodule-disable: "{submodule-disable}"
427 choosing-strategy: default
428 jenkins-ssh-credential: "{jenkins-ssh-credential}"
431 - github-pull-request:
432 trigger-phrase: "^run-sonar$"
433 only-trigger-phrase: false
434 status-context: "Python Sonar"
437 white-list-target-branches:
439 included-regions: "{obj:github_included_regions}"
445 - lf_tox_sonarqube: &lf_tox_sonarqube
446 name: lf-tox-sonarqube
448 ######################
449 # Default parameters #
450 ######################
454 branch: master # Sonar should always be run on master branch
455 build-days-to-keep: 7
459 git-url: "$GIT_URL/$PROJECT"
460 github-url: "https://github.com"
462 pre-build-script: "# pre-build script goes here"
463 python-version: python3
465 submodule-recursive: true
466 submodule-timeout: 10
467 submodule-disable: false
471 sonar-additional-args: ""
473 sonar-project-file: "sonar-project.properties"
477 #####################
478 # Job Configuration #
479 #####################
481 project-type: freestyle
483 disabled: "{disable-job}"
486 - lf-infra-properties:
487 build-days-to-keep: "{build-days-to-keep}"
491 build-timeout: "{build-timeout}"
492 jenkins-ssh-credential: "{jenkins-ssh-credential}"
495 - lf-infra-parameters:
499 - lf-infra-tox-parameters:
501 tox-envs: "{tox-envs}"
503 name: ARCHIVE_ARTIFACTS
504 default: "{archive-artifacts}"
505 description: Artifacts to archive to the logs server.
509 - lf-infra-tox-install:
510 python-version: "{python-version}"
511 - shell: "{pre-build-script}"
513 parallel: "{parallel}"
515 sonar-task: "{sonar-task}"
516 sonar-project-file: "{sonar-project-file}"
517 sonar-properties: "{sonar-properties}"
518 sonar-java-opts: "{sonar-java-opts}"
519 sonar-additional-args: "{sonar-additional-args}"
525 name: "{project-name}-tox-sonarqube"
526 id: gerrit-tox-sonarqube
528 <<: *lf_tox_sonarqube
530 ######################
531 # Default parameters #
532 ######################
534 gerrit_sonar_triggers:
535 - comment-added-contains-event:
536 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
539 - lf-infra-gerrit-scm:
540 branch: "$GERRIT_BRANCH"
541 jenkins-ssh-credential: "{jenkins-ssh-credential}"
543 refspec: "$GERRIT_REFSPEC"
544 submodule-recursive: "{submodule-recursive}"
545 submodule-timeout: "{submodule-timeout}"
546 submodule-disable: "{submodule-disable}"
547 choosing-strategy: default
550 - timed: "{obj:cron}"
552 server-name: "{gerrit-server-name}"
553 trigger-on: "{obj:gerrit_sonar_triggers}"
555 - project-compare-type: "ANT"
556 project-pattern: "{project}"
558 - branch-compare-type: "ANT"
559 branch-pattern: "**/{branch}"
562 name: "{project-name}-tox-sonarqube"
563 id: github-tox-sonarqube
565 <<: *lf_tox_sonarqube
568 - lf-infra-github-scm:
570 jenkins-ssh-credential: "{jenkins-ssh-credential}"
571 url: "{git-clone-url}{github-org}/{project}"
572 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
573 submodule-recursive: "{submodule-recursive}"
574 submodule-timeout: "{submodule-timeout}"
575 submodule-disable: "{submodule-disable}"
576 choosing-strategy: default
579 - github-pull-request:
580 trigger-phrase: "^run-sonar$"
581 only-trigger-phrase: false
582 status-context: "Tox Sonarqube"
585 white-list-target-branches:
592 - lf_tox_common: &lf_tox_common
595 ######################
596 # Default parameters #
597 ######################
600 build-days-to-keep: 7
603 git-url: "$GIT_URL/$GERRIT_PROJECT"
604 github-url: "https://github.com"
606 pre-build-script: "# pre-build script goes here"
607 python-version: python3
609 submodule-recursive: true
610 submodule-timeout: 10
611 submodule-disable: false
615 gerrit_trigger_file_paths:
616 - compare-type: REG_EXP
619 # github_included_regions MUST match gerrit_trigger_file_paths
620 github_included_regions:
623 #####################
624 # Job Configuration #
625 #####################
627 project-type: freestyle
630 disabled: "{disable-job}"
633 - lf-infra-properties:
634 build-days-to-keep: "{build-days-to-keep}"
637 - lf-infra-parameters:
641 - lf-infra-tox-parameters:
643 tox-envs: "{tox-envs}"
647 build-timeout: "{build-timeout}"
648 jenkins-ssh-credential: "{jenkins-ssh-credential}"
652 - lf-infra-tox-install:
653 python-version: "{python-version}"
654 - shell: "{pre-build-script}"
656 parallel: "{parallel}"
662 # Python projects typically use tox to run testing.
663 name: "{project-name}-tox-verify-{stream}"
664 id: gerrit-tox-verify
667 ######################
668 # Default parameters #
669 ######################
671 gerrit-skip-vote: false
672 gerrit_verify_triggers:
673 - patchset-created-event:
675 exclude-trivial-rebase: false
676 exclude-no-code-change: false
677 - draft-published-event
678 - comment-added-contains-event:
679 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
681 #####################
682 # Job Configuration #
683 #####################
686 - lf-infra-gerrit-scm:
687 jenkins-ssh-credential: "{jenkins-ssh-credential}"
689 refspec: "$GERRIT_REFSPEC"
690 branch: "$GERRIT_BRANCH"
691 submodule-recursive: "{submodule-recursive}"
692 submodule-timeout: "{submodule-timeout}"
693 submodule-disable: "{submodule-disable}"
694 choosing-strategy: gerrit
698 server-name: "{gerrit-server-name}"
699 trigger-on: "{obj:gerrit_verify_triggers}"
701 - project-compare-type: ANT
702 project-pattern: "{project}"
704 - branch-compare-type: ANT
705 branch-pattern: "**/{branch}"
706 file-paths: "{obj:gerrit_trigger_file_paths}"
708 successful: "{gerrit-skip-vote}"
709 failed: "{gerrit-skip-vote}"
710 unstable: "{gerrit-skip-vote}"
711 notbuilt: "{gerrit-skip-vote}"
714 # Python projects typically use tox to run testing.
715 name: "{project-name}-tox-verify-{stream}"
716 id: github-tox-verify
720 - lf-infra-properties:
721 build-days-to-keep: "{build-days-to-keep}"
723 url: "{github-url}/{github-org}/{project}"
726 - lf-infra-github-scm:
727 url: "{git-clone-url}{github-org}/{project}"
728 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
730 submodule-recursive: "{submodule-recursive}"
731 submodule-timeout: "{submodule-timeout}"
732 submodule-disable: "{submodule-disable}"
733 choosing-strategy: default
734 jenkins-ssh-credential: "{jenkins-ssh-credential}"
737 - github-pull-request:
738 trigger-phrase: "^(recheck|reverify)$"
739 only-trigger-phrase: false
740 status-context: "Tox Verify"
743 white-list-target-branches:
745 included-regions: "{obj:github_included_regions}"
748 # Run tox after merge of gerrit change set
749 name: "{project-name}-tox-merge-{stream}"
753 ######################
754 # Default parameters #
755 ######################
757 gerrit_merge_triggers:
758 - change-merged-event
759 - comment-added-contains-event:
760 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
762 #####################
763 # Job Configuration #
764 #####################
767 - lf-infra-gerrit-scm:
768 jenkins-ssh-credential: "{jenkins-ssh-credential}"
770 refspec: "$GERRIT_REFSPEC"
771 branch: "$GERRIT_BRANCH"
772 submodule-recursive: "{submodule-recursive}"
773 submodule-timeout: "{submodule-timeout}"
774 submodule-disable: "{submodule-disable}"
775 # merge jobs always build from tip
776 choosing-strategy: default
780 server-name: "{gerrit-server-name}"
781 trigger-on: "{obj:gerrit_merge_triggers}"
783 - project-compare-type: ANT
784 project-pattern: "{project}"
786 - branch-compare-type: ANT
787 branch-pattern: "**/{branch}"
788 file-paths: "{obj:gerrit_trigger_file_paths}"
791 # Run tox after merge of github pull request
792 name: "{project-name}-tox-merge-{stream}"
797 - lf-infra-properties:
798 build-days-to-keep: "{build-days-to-keep}"
800 url: "{github-url}/{github-org}/{project}"
803 - lf-infra-github-scm:
804 url: "{git-clone-url}{github-org}/{project}"
806 branch: "refs/heads/{branch}"
807 submodule-recursive: "{submodule-recursive}"
808 submodule-timeout: "{submodule-timeout}"
809 submodule-disable: "{submodule-disable}"
810 choosing-strategy: default
811 jenkins-ssh-credential: "{jenkins-ssh-credential}"
814 - github-pull-request:
815 trigger-phrase: "^remerge$"
816 only-trigger-phrase: true
817 status-context: "Tox Merge"
822 white-list: "{obj:github_pr_allowlist}"
823 admin-list: "{obj:github_pr_admin_list}"
824 white-list-target-branches:
826 included-regions: "{obj:github_included_regions}"
832 - lf_pypi_common: &lf_pypi_common
835 ######################
836 # Default parameters #
837 ######################
842 build-days-to-keep: 7
846 git-url: "$GIT_URL/$GERRIT_PROJECT"
847 github-url: "https://github.com"
849 pre-build-script: "# pre-build script goes here"
850 python-version: python3
852 submodule-disable: false
853 submodule-recursive: true
854 submodule-timeout: 10
858 gerrit_trigger_file_paths:
859 - compare-type: REG_EXP
862 # github_included_regions MUST match gerrit_trigger_file_paths
863 github_included_regions:
866 #####################
867 # Job Configuration #
868 #####################
870 project-type: freestyle
872 disabled: "{disable-job}"
875 - lf-infra-properties:
876 build-days-to-keep: "{build-days-to-keep}"
879 - lf-infra-parameters:
883 - lf-infra-tox-parameters:
885 tox-envs: "{tox-envs}"
887 name: BUILD_BDIST_WHEEL
888 default: "{dist-binary}"
889 description: "Set to True (checked) to build a binary distribution"
893 description: "Set to True (checked) to skip uploading artifacts"
897 build-timeout: "{build-timeout}"
898 jenkins-ssh-credential: "{jenkins-ssh-credential}"
903 - lf_pypi_verify_builders: &lf_pypi_verify_builders
904 name: lf-pypi-verify-builders
908 - lf-infra-tox-install:
909 python-version: "{python-version}"
910 - shell: "{pre-build-script}"
912 parallel: "{parallel}"
913 - shell: !include-raw-escape: ../shell/pypi-dist-build.sh
915 - lf_pypi_publish_builders: &lf_pypi_publish_builders
916 name: lf-pypi-publish-builders
920 - lf-infra-tox-install:
921 python-version: "{python-version}"
922 - shell: "{pre-build-script}"
924 parallel: "{parallel}"
925 - shell: !include-raw-escape: ../shell/pypi-dist-build.sh
926 - config-file-provider:
929 target: "$HOME/.pypirc"
931 properties-content: "REPOSITORY={pypi-repo}"
932 - shell: !include-raw-escape: ../shell/pypi-upload.sh
935 name: "{project-name}-pypi-verify-{stream}"
936 id: gerrit-pypi-verify
938 <<: *lf_pypi_verify_builders
941 - lf-infra-gerrit-scm:
942 jenkins-ssh-credential: "{jenkins-ssh-credential}"
944 refspec: "$GERRIT_REFSPEC"
945 branch: "$GERRIT_BRANCH"
946 submodule-recursive: "{submodule-recursive}"
947 submodule-timeout: "{submodule-timeout}"
948 submodule-disable: "{submodule-disable}"
949 choosing-strategy: gerrit
953 server-name: "{gerrit-server-name}"
955 - patchset-created-event:
957 exclude-trivial-rebase: false
958 exclude-no-code-change: false
959 - draft-published-event
960 - comment-added-contains-event:
961 # yamllint disable-line rule:line-length
962 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
964 - project-compare-type: ANT
965 project-pattern: "{project}"
967 - branch-compare-type: ANT
968 branch-pattern: "**/{branch}"
969 file-paths: "{obj:gerrit_trigger_file_paths}"
972 name: "{project-name}-pypi-verify-{stream}"
973 id: github-pypi-verify
975 <<: *lf_pypi_verify_builders
979 url: "{github-url}/{github-org}/{project}"
982 - lf-infra-github-scm:
983 url: "{git-clone-url}{github-org}/{project}"
984 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
986 submodule-recursive: "{submodule-recursive}"
987 submodule-timeout: "{submodule-timeout}"
988 submodule-disable: "{submodule-disable}"
989 choosing-strategy: default
990 jenkins-ssh-credential: "{jenkins-ssh-credential}"
993 - github-pull-request:
994 trigger-phrase: "^(recheck|reverify)$"
995 only-trigger-phrase: false
996 status-context: "PyPI Verify"
999 white-list-target-branches:
1001 included-regions: "{obj:github_included_regions}"
1004 name: "{project-name}-pypi-merge-{stream}"
1005 id: gerrit-pypi-merge
1007 <<: *lf_pypi_publish_builders
1009 cron: "" # avoid for pypi which rejects duplicates
1010 pypi-repo: pypi-test
1013 - lf-infra-gerrit-scm:
1014 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1015 git-url: "{git-url}"
1016 refspec: "$GERRIT_REFSPEC"
1017 branch: "$GERRIT_BRANCH"
1018 submodule-recursive: "{submodule-recursive}"
1019 submodule-timeout: "{submodule-timeout}"
1020 submodule-disable: "{submodule-disable}"
1021 # merge jobs always build from tip
1022 choosing-strategy: default
1025 - timed: "{obj:cron}"
1027 server-name: "{gerrit-server-name}"
1029 - change-merged-event
1030 - comment-added-contains-event:
1031 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
1033 - project-compare-type: ANT
1034 project-pattern: "{project}"
1036 - branch-compare-type: ANT
1037 branch-pattern: "**/{branch}"
1038 file-paths: "{obj:gerrit_trigger_file_paths}"
1041 name: "{project-name}-pypi-merge-{stream}"
1042 id: github-pypi-merge
1044 <<: *lf_pypi_publish_builders
1047 pypi-repo: pypi-test
1051 url: "{github-url}/{github-org}/{project}"
1054 - lf-infra-github-scm:
1055 url: "{git-clone-url}{github-org}/{project}"
1057 branch: "refs/heads/{branch}"
1058 submodule-recursive: "{submodule-recursive}"
1059 submodule-timeout: "{submodule-timeout}"
1060 submodule-disable: "{submodule-disable}"
1061 choosing-strategy: default
1062 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1065 - timed: "{obj:cron}"
1066 - github-pull-request:
1067 trigger-phrase: "^remerge$"
1068 only-trigger-phrase: false
1069 status-context: "Merge"
1074 white-list: "{obj:github_pr_allowlist}"
1075 admin-list: "{obj:github_pr_admin_list}"
1076 white-list-target-branches:
1078 included-regions: "{obj:github_included_regions}"
1081 name: "{project-name}-pypi-stage-{stream}"
1082 id: gerrit-pypi-stage
1084 <<: *lf_pypi_publish_builders
1087 pypi-repo: pypi-test
1089 gerrit_stage_triggers:
1090 - comment-added-contains-event:
1091 comment-contains-value: '^Patch Set\s+\d+:\s+stage-release\s*$'
1094 - lf-infra-gerrit-scm:
1095 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1096 git-url: "{git-url}"
1097 refspec: "$GERRIT_REFSPEC"
1098 branch: "$GERRIT_BRANCH"
1099 submodule-recursive: "{submodule-recursive}"
1100 submodule-timeout: "{submodule-timeout}"
1101 submodule-disable: "{submodule-disable}"
1102 # stage jobs always build from tip
1103 choosing-strategy: default
1106 - timed: "{obj:cron}"
1108 server-name: "{gerrit-server-name}"
1109 trigger-on: "{obj:gerrit_stage_triggers}"
1111 - project-compare-type: ANT
1112 project-pattern: "{project}"
1114 - branch-compare-type: ANT
1115 branch-pattern: "**/{branch}"
1116 file-paths: "{obj:gerrit_trigger_file_paths}"
1119 name: "{project-name}-pypi-stage-{stream}"
1120 id: github-pypi-stage
1122 <<: *lf_pypi_publish_builders
1125 pypi-repo: pypi-test
1129 url: "{github-url}/{github-org}/{project}"
1132 - lf-infra-github-scm:
1133 url: "{git-clone-url}{github-org}/{project}"
1135 branch: "refs/heads/{branch}"
1136 submodule-recursive: "{submodule-recursive}"
1137 submodule-timeout: "{submodule-timeout}"
1138 submodule-disable: "{submodule-disable}"
1139 choosing-strategy: default
1140 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1143 - timed: "{obj:cron}"
1144 - github-pull-request:
1145 trigger-phrase: "^stage-release$"
1146 only-trigger-phrase: true
1147 status-context: "Release"
1150 white-list-target-branches:
1152 included-regions: "{obj:github_included_regions}"