7 name: lf-infra-clm-python
10 properties-content: "CLM_PROJECT_NAME={clm-project-name}"
11 - shell: !include-raw-escape: ../shell/nexus-iq-cli.sh
14 name: lf-infra-pypi-tag-release
16 - config-file-provider:
18 - file-id: sigul-config
19 variable: SIGUL_CONFIG
20 - file-id: sigul-password
21 variable: SIGUL_PASSWORD
24 - file-id: signing-pubkey
25 variable: SIGNING_PUBKEY
26 - shell: !include-raw: ../shell/sigul-configuration.sh
27 - shell: !include-raw: ../shell/sigul-install.sh
28 - shell: !include-raw: ../shell/pypi-tag-release.sh
31 name: lf-infra-pypi-upload
33 - config-file-provider:
36 target: "$HOME/.pypirc"
38 properties-content: "REPOSITORY={pypi-repo}"
39 - shell: !include-raw-escape: ../shell/pypi-upload.sh
42 name: lf-infra-tox-install
45 properties-content: "PYTHON={python-version}"
46 - shell: !include-raw-escape: ../shell/tox-install.sh
49 name: lf-infra-tox-run
52 properties-content: "PARALLEL={parallel}"
53 - shell: !include-raw-escape: ../shell/tox-run.sh
59 - lf_python_common: &lf_python_common
60 name: lf-python-common
62 ######################
63 # Default parameters #
64 ######################
73 project-type: freestyle
77 - lf-infra-properties:
78 build-days-to-keep: "{build-days-to-keep}"
81 - lf-infra-parameters:
88 build-timeout: "{build-timeout}"
89 jenkins-ssh-credential: "{jenkins-ssh-credential}"
98 - lf_python_clm_xc: &lf_python_xc_clm
99 name: lf-python-xc-clm
101 ######################
102 # Default parameters #
103 ######################
106 build-days-to-keep: 30 # 30 days for troubleshooting purposes
109 git-url: "$GIT_URL/$PROJECT"
110 github-url: "https://github.com"
111 java-version: openjdk8
112 nexus-iq-cli-version: 1.44.0-01
113 nexus-iq-namespace: "" # Recommend a trailing dash when set. Example: odl-
114 pre-build-script: "# pre-build script goes here"
116 submodule-recursive: true
117 submodule-timeout: 10
118 submodule-disable: false
120 gerrit_trigger_file_paths:
124 # github_included_regions MUST match gerrit_trigger_file_paths
125 github_included_regions:
128 #####################
129 # Job Configuration #
130 #####################
132 disabled: "{disable-job}"
135 - lf-infra-parameters:
140 name: NEXUS_IQ_CLI_VERSION
141 default: "{nexus-iq-cli-version}"
142 description: Nexus IQ CLI package to download and use.
145 - credentials-binding:
146 - username-password-separated:
147 credential-id: nexus-iq-xc-clm
149 password: CLM_PASSWORD
151 - lf-update-java-alternatives:
152 java-version: "{java-version}"
153 - shell: "{pre-build-script}"
154 - lf-infra-clm-python:
155 clm-project-name: "{nexus-iq-namespace}{project-name}"
158 name: "{project-name}-python-clm-{stream}"
159 id: gerrit-python-xc-clm
160 <<: *lf_python_common
161 # yamllint disable-line rule:key-duplicates
162 <<: *lf_python_xc_clm
164 ######################
165 # Default parameters #
166 ######################
169 - comment-added-contains-event:
170 comment-contains-value: '^Patch Set\s+\d+:\s+run-clm\s*$'
172 #####################
173 # Job Configuration #
174 #####################
177 - lf-infra-gerrit-scm:
178 jenkins-ssh-credential: "{jenkins-ssh-credential}"
180 refspec: "$GERRIT_REFSPEC"
181 branch: "$GERRIT_BRANCH"
182 submodule-recursive: "{submodule-recursive}"
183 submodule-timeout: "{submodule-timeout}"
184 submodule-disable: "{submodule-disable}"
185 choosing-strategy: default
188 # Build weekly on Saturdays
191 server-name: "{gerrit-server-name}"
192 trigger-on: "{obj:gerrit_clm_triggers}"
194 - project-compare-type: ANT
195 project-pattern: "{project}"
197 - branch-compare-type: ANT
198 branch-pattern: "**/{branch}"
199 file-paths: "{obj:gerrit_trigger_file_paths}"
207 name: "{project-name}-python-clm-{stream}"
208 id: github-python-xc-clm
209 <<: *lf_python_common
210 # yamllint disable-line rule:key-duplicates
211 <<: *lf_python_xc_clm
214 - lf-infra-properties:
215 build-days-to-keep: "{build-days-to-keep}"
217 url: "{github-url}/{github-org}/{project}"
220 - lf-infra-github-scm:
221 url: "{git-clone-url}{github-org}/{project}"
223 branch: "refs/heads/{branch}"
224 submodule-recursive: "{submodule-recursive}"
225 submodule-timeout: "{submodule-timeout}"
226 submodule-disable: "{submodule-disable}"
227 choosing-strategy: default
228 jenkins-ssh-credential: "{jenkins-ssh-credential}"
231 # Build weekly on Saturdays
233 - github-pull-request:
234 trigger-phrase: "^run-clm$"
235 only-trigger-phrase: false
236 status-context: "CLM"
239 white-list-target-branches:
241 included-regions: "{obj:github_included_regions}"
243 #########################
244 # Python Sonar with Tox #
245 #########################
247 - lf_tox_sonar: &lf_tox_sonar
250 ######################
251 # Default parameters #
252 ######################
254 branch: master # Sonar should always be run on master branch
255 build-days-to-keep: 7
257 cron: "H H * * *" # run daily
259 git-url: "$GIT_URL/$PROJECT"
260 github-url: "https://github.com"
261 java-version: openjdk8
262 mvn-global-settings: global-settings
264 mvn-settings: "{mvn-settings}"
267 pre-build-script: "# pre-build script goes here"
268 python-version: python3
269 sonar-mvn-goal: "sonar:sonar"
271 sonarcloud-project-key: ""
272 sonarcloud-project-organization: ""
273 sonarcloud-api-token: ""
275 submodule-recursive: true
276 submodule-timeout: 10
277 submodule-disable: false
281 gerrit_trigger_file_paths:
282 - compare-type: REG_EXP
285 # github_included_regions MUST match gerrit_trigger_file_paths
286 github_included_regions:
289 #####################
290 # Job Configuration #
291 #####################
293 disabled: "{disable-job}"
296 - lf-infra-parameters:
300 - lf-infra-tox-parameters:
302 tox-envs: "{tox-envs}"
304 name: ARCHIVE_ARTIFACTS
305 default: "{archive-artifacts}"
306 description: Artifacts to archive to the logs server.
309 # Sets an env var for shell scripts to be able to call the dynamically
310 # installed maven without having to calculate the path themselves.
311 # yamllint disable-line rule:line-length
312 default: "/w/tools/hudson.tasks.Maven_MavenInstallation/{mvn-version}/bin/mvn"
313 description: "Maven selector to be used by shell scripts"
315 name: SONAR_MAVEN_GOAL
316 default: "{sonar-mvn-goal}"
318 Maven goals to pass to the Sonar call. Typically sonar:sonar
319 however to use a specific version of the sonar-maven-plugin we
320 can call "org.codehaus.mojo:sonar-maven-plugin:3.3.0.603:sonar".
324 - lf-infra-tox-install:
325 python-version: "{python-version}"
326 - shell: "{pre-build-script}"
328 parallel: "{parallel}"
329 - lf-provide-maven-settings:
330 global-settings-file: "{mvn-global-settings}"
331 settings-file: "{mvn-settings}"
334 condition-kind: boolean-expression
335 condition-expression: "{sonarcloud}"
337 - shell: echo 'Using SonarCloud'
338 - lf-infra-maven-sonarcloud:
339 java-version: "{java-version}"
340 mvn-goals: "{mvn-goals}"
341 mvn-settings: "{mvn-settings}"
342 mvn-version: "{mvn-version}"
343 sonarcloud-project-key: "{sonarcloud-project-key}"
344 sonarcloud-project-organization: "{sonarcloud-project-organization}"
345 sonarcloud-api-token: "{sonarcloud-api-token}"
350 condition-kind: boolean-expression
351 condition-expression: "{sonarcloud}"
353 - shell: echo 'Using SonarQube'
354 - lf-infra-maven-sonar:
355 java-version: "{java-version}"
356 mvn-goals: "{mvn-goals}"
357 mvn-settings: "{mvn-settings}"
358 mvn-version: "{mvn-version}"
364 name: "{project-name}-tox-sonar"
366 <<: *lf_python_common
367 # yamllint disable-line rule:key-duplicates
370 ######################
371 # Default parameters #
372 ######################
374 gerrit_sonar_triggers:
375 - comment-added-contains-event:
376 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
378 #####################
379 # Job Configuration #
380 #####################
383 - lf-infra-gerrit-scm:
384 jenkins-ssh-credential: "{jenkins-ssh-credential}"
386 refspec: $GERRIT_REFSPEC
387 branch: $GERRIT_BRANCH
388 submodule-recursive: "{submodule-recursive}"
389 submodule-timeout: "{submodule-timeout}"
390 submodule-disable: "{submodule-disable}"
391 choosing-strategy: default
394 - timed: "{obj:cron}"
396 server-name: "{gerrit-server-name}"
397 trigger-on: "{obj:gerrit_sonar_triggers}"
399 - project-compare-type: "ANT"
400 project-pattern: "{project}"
402 - branch-compare-type: "ANT"
403 branch-pattern: "**/{branch}"
404 file-paths: "{obj:gerrit_trigger_file_paths}"
412 name: "{project-name}-tox-sonar"
414 <<: *lf_python_common
415 # yamllint disable-line rule:key-duplicates
419 - lf-infra-properties:
420 build-days-to-keep: "{build-days-to-keep}"
422 url: "{github-url}/{github-org}/{project}"
425 - lf-infra-github-scm:
426 url: "{git-clone-url}{github-org}/{project}"
427 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
429 submodule-recursive: "{submodule-recursive}"
430 submodule-timeout: "{submodule-timeout}"
431 submodule-disable: "{submodule-disable}"
432 choosing-strategy: default
433 jenkins-ssh-credential: "{jenkins-ssh-credential}"
436 - github-pull-request:
437 trigger-phrase: "^run-sonar$"
438 only-trigger-phrase: false
439 status-context: "Python Sonar"
442 white-list-target-branches:
444 included-regions: "{obj:github_included_regions}"
450 - lf_tox_common: &lf_tox_common
453 ######################
454 # Default parameters #
455 ######################
458 build-days-to-keep: 7
461 git-url: "$GIT_URL/$GERRIT_PROJECT"
462 github-url: "https://github.com"
464 pre-build-script: "# pre-build script goes here"
465 python-version: python3
467 submodule-recursive: true
468 submodule-timeout: 10
469 submodule-disable: false
473 gerrit_trigger_file_paths:
474 - compare-type: REG_EXP
477 # github_included_regions MUST match gerrit_trigger_file_paths
478 github_included_regions:
481 #####################
482 # Job Configuration #
483 #####################
485 project-type: freestyle
488 disabled: "{disable-job}"
491 - lf-infra-properties:
492 build-days-to-keep: "{build-days-to-keep}"
495 - lf-infra-parameters:
499 - lf-infra-tox-parameters:
501 tox-envs: "{tox-envs}"
505 build-timeout: "{build-timeout}"
506 jenkins-ssh-credential: "{jenkins-ssh-credential}"
510 - lf-infra-tox-install:
511 python-version: "{python-version}"
512 - shell: "{pre-build-script}"
514 parallel: "{parallel}"
520 # Python projects typically use tox to run testing.
521 name: "{project-name}-tox-verify-{stream}"
522 id: gerrit-tox-verify
525 ######################
526 # Default parameters #
527 ######################
529 gerrit-skip-vote: false
530 gerrit_verify_triggers:
531 - patchset-created-event:
533 exclude-trivial-rebase: false
534 exclude-no-code-change: false
535 - draft-published-event
536 - comment-added-contains-event:
537 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
539 #####################
540 # Job Configuration #
541 #####################
544 - lf-infra-gerrit-scm:
545 jenkins-ssh-credential: "{jenkins-ssh-credential}"
547 refspec: "$GERRIT_REFSPEC"
548 branch: "$GERRIT_BRANCH"
549 submodule-recursive: "{submodule-recursive}"
550 submodule-timeout: "{submodule-timeout}"
551 submodule-disable: "{submodule-disable}"
552 choosing-strategy: gerrit
556 server-name: "{gerrit-server-name}"
557 trigger-on: "{obj:gerrit_verify_triggers}"
559 - project-compare-type: ANT
560 project-pattern: "{project}"
562 - branch-compare-type: ANT
563 branch-pattern: "**/{branch}"
564 file-paths: "{obj:gerrit_trigger_file_paths}"
566 successful: "{gerrit-skip-vote}"
567 failed: "{gerrit-skip-vote}"
568 unstable: "{gerrit-skip-vote}"
569 notbuilt: "{gerrit-skip-vote}"
572 # Python projects typically use tox to run testing.
573 name: "{project-name}-tox-verify-{stream}"
574 id: github-tox-verify
578 - lf-infra-properties:
579 build-days-to-keep: "{build-days-to-keep}"
581 url: "{github-url}/{github-org}/{project}"
584 - lf-infra-github-scm:
585 url: "{git-clone-url}{github-org}/{project}"
586 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
588 submodule-recursive: "{submodule-recursive}"
589 submodule-timeout: "{submodule-timeout}"
590 submodule-disable: "{submodule-disable}"
591 choosing-strategy: default
592 jenkins-ssh-credential: "{jenkins-ssh-credential}"
595 - github-pull-request:
596 trigger-phrase: "^(recheck|reverify)$"
597 only-trigger-phrase: false
598 status-context: "Tox Verify"
601 white-list-target-branches:
603 included-regions: "{obj:github_included_regions}"
606 # Run tox after merge of gerrit change set
607 name: "{project-name}-tox-merge-{stream}"
611 ######################
612 # Default parameters #
613 ######################
615 gerrit_merge_triggers:
616 - change-merged-event
617 - comment-added-contains-event:
618 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
620 #####################
621 # Job Configuration #
622 #####################
625 - lf-infra-gerrit-scm:
626 jenkins-ssh-credential: "{jenkins-ssh-credential}"
628 refspec: "$GERRIT_REFSPEC"
629 branch: "$GERRIT_BRANCH"
630 submodule-recursive: "{submodule-recursive}"
631 submodule-timeout: "{submodule-timeout}"
632 submodule-disable: "{submodule-disable}"
633 choosing-strategy: gerrit
637 server-name: "{gerrit-server-name}"
638 trigger-on: "{obj:gerrit_merge_triggers}"
640 - project-compare-type: ANT
641 project-pattern: "{project}"
643 - branch-compare-type: ANT
644 branch-pattern: "**/{branch}"
645 file-paths: "{obj:gerrit_trigger_file_paths}"
648 # Run tox after merge of github pull request
649 name: "{project-name}-tox-merge-{stream}"
654 - lf-infra-properties:
655 build-days-to-keep: "{build-days-to-keep}"
657 url: "{github-url}/{github-org}/{project}"
660 - lf-infra-github-scm:
661 url: "{git-clone-url}{github-org}/{project}"
663 branch: "refs/heads/{branch}"
664 submodule-recursive: "{submodule-recursive}"
665 submodule-timeout: "{submodule-timeout}"
666 submodule-disable: "{submodule-disable}"
667 choosing-strategy: default
668 jenkins-ssh-credential: "{jenkins-ssh-credential}"
671 - github-pull-request:
672 trigger-phrase: "^remerge$"
673 only-trigger-phrase: true
674 status-context: "Tox Merge"
679 white-list: "{obj:github_pr_whitelist}"
680 admin-list: "{obj:github_pr_admin_list}"
681 white-list-target-branches:
683 included-regions: "{obj:github_included_regions}"
689 - lf_pypi_common: &lf_pypi_common
692 ######################
693 # Default parameters #
694 ######################
697 build-days-to-keep: 7
701 git-url: "$GIT_URL/$GERRIT_PROJECT"
702 github-url: "https://github.com"
704 pre-build-script: "# pre-build script goes here"
705 python-version: python3
707 submodule-disable: false
708 submodule-recursive: true
709 submodule-timeout: 10
713 disabled: "{disable-job}"
715 gerrit_trigger_file_paths:
719 # github_included_regions MUST match gerrit_trigger_file_paths
720 github_included_regions:
724 - lf-infra-parameters:
728 - lf-infra-tox-parameters:
730 tox-envs: "{tox-envs}"
732 name: BUILD_BDIST_WHEEL
733 default: "{dist-binary}"
734 description: "Set to True to build a wheel"
739 If DRY_RUN is enabled artifacts are not published.
741 - lf_pypi_verify_builders: &lf_pypi_verify_builders
742 name: lf-pypi-verify-builders
746 - lf-infra-tox-install:
747 python-version: "{python-version}"
748 - shell: "{pre-build-script}"
750 parallel: "{parallel}"
751 - shell: !include-raw-escape: ../shell/pypi-dist-build.sh
753 - lf_pypi_merge_builders: &lf_pypi_merge_builders
754 name: lf-pypi-merge-builders
758 - lf-infra-tox-install:
759 python-version: "{python-version}"
760 - shell: "{pre-build-script}"
762 parallel: "{parallel}"
763 - shell: !include-raw-escape: ../shell/pypi-dist-build.sh
764 - lf-infra-pypi-upload:
765 pypi-repo: "{pypi-repo}"
767 - lf_pypi_release_verify_builders: &lf_pypi_release_verify_builders
768 name: lf-pypi-release-verify-builders
772 - lf-infra-tox-install:
773 python-version: "{python-version}"
774 - shell: "{pre-build-script}"
776 parallel: "{parallel}"
777 - shell: !include-raw-escape: ../shell/pypi-dist-build.sh
778 - lf-infra-pypi-tag-release
780 - lf_pypi_release_merge_builders: &lf_pypi_release_merge_builders
781 name: lf-pypi-release-merge-builders
785 - lf-infra-tox-install:
786 python-version: "{python-version}"
787 - shell: "{pre-build-script}"
789 parallel: "{parallel}"
790 - shell: !include-raw-escape: ../shell/pypi-dist-build.sh
791 - lf-infra-pypi-tag-release
792 - lf-infra-pypi-upload:
793 pypi-repo: "{pypi-repo}"
796 name: "{project-name}-pypi-verify-{stream}"
797 id: gerrit-pypi-verify
798 <<: *lf_python_common
799 # yamllint disable-line rule:key-duplicates
801 <<: *lf_pypi_verify_builders
804 - lf-infra-gerrit-scm:
805 jenkins-ssh-credential: "{jenkins-ssh-credential}"
807 refspec: "$GERRIT_REFSPEC"
808 branch: "$GERRIT_BRANCH"
809 submodule-recursive: "{submodule-recursive}"
810 submodule-timeout: "{submodule-timeout}"
811 submodule-disable: "{submodule-disable}"
812 choosing-strategy: gerrit
816 server-name: "{gerrit-server-name}"
818 - patchset-created-event:
820 exclude-trivial-rebase: false
821 exclude-no-code-change: false
822 - draft-published-event
823 - comment-added-contains-event:
824 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
826 - project-compare-type: ANT
827 project-pattern: "{project}"
829 - branch-compare-type: ANT
830 branch-pattern: "**/{branch}"
831 file-paths: "{obj:gerrit_trigger_file_paths}"
834 name: "{project-name}-pypi-verify-{stream}"
835 id: github-pypi-verify
836 <<: *lf_python_common
837 # yamllint disable-line rule:key-duplicates
839 <<: *lf_pypi_verify_builders
843 url: "{github-url}/{github-org}/{project}"
846 - lf-infra-github-scm:
847 url: "{git-clone-url}{github-org}/{project}"
848 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
850 submodule-recursive: "{submodule-recursive}"
851 submodule-timeout: "{submodule-timeout}"
852 submodule-disable: "{submodule-disable}"
853 choosing-strategy: default
854 jenkins-ssh-credential: "{jenkins-ssh-credential}"
857 - github-pull-request:
858 trigger-phrase: "^(recheck|reverify)$"
859 only-trigger-phrase: false
860 status-context: "PyPI Verify"
863 white-list-target-branches:
865 included-regions: "{obj:github_included_regions}"
868 name: "{project-name}-pypi-merge-{stream}"
869 id: gerrit-pypi-merge
870 <<: *lf_python_common
871 # yamllint disable-line rule:key-duplicates
873 <<: *lf_pypi_merge_builders
879 - lf-infra-gerrit-scm:
880 jenkins-ssh-credential: "{jenkins-ssh-credential}"
882 refspec: "$GERRIT_REFSPEC"
883 branch: "$GERRIT_BRANCH"
884 submodule-recursive: "{submodule-recursive}"
885 submodule-timeout: "{submodule-timeout}"
886 submodule-disable: "{submodule-disable}"
887 choosing-strategy: gerrit
890 - timed: "{obj:cron}"
892 server-name: "{gerrit-server-name}"
894 - change-merged-event
895 - comment-added-contains-event:
896 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
898 - project-compare-type: ANT
899 project-pattern: "{project}"
901 - branch-compare-type: ANT
902 branch-pattern: "**/{branch}"
903 file-paths: "{obj:gerrit_trigger_file_paths}"
906 name: "{project-name}-pypi-merge-{stream}"
907 id: github-pypi-merge
908 <<: *lf_python_common
909 # yamllint disable-line rule:key-duplicates
911 <<: *lf_pypi_merge_builders
918 url: "{github-url}/{github-org}/{project}"
921 - lf-infra-github-scm:
922 url: "{git-clone-url}{github-org}/{project}"
924 branch: "refs/heads/{branch}"
925 submodule-recursive: "{submodule-recursive}"
926 submodule-timeout: "{submodule-timeout}"
927 submodule-disable: "{submodule-disable}"
928 choosing-strategy: default
929 jenkins-ssh-credential: "{jenkins-ssh-credential}"
932 - timed: "{obj:cron}"
933 - github-pull-request:
934 trigger-phrase: "^remerge$"
935 only-trigger-phrase: false
936 status-context: "Merge"
941 white-list: "{obj:github_pr_whitelist}"
942 admin-list: "{obj:github_pr_admin_list}"
943 white-list-target-branches:
945 included-regions: "{obj:github_included_regions}"
947 - lf_pypi_release_common: &lf_pypi_release_common
948 name: lf-pypi-release-common
952 use-release-file: true
954 # define once and use twice; jobs MUST NOT override
955 gerrit_release_trigger_file_paths:
956 - compare-type: REG_EXP
957 pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)'
959 # github_release_included_regions MUST match gerrit_release_trigger_file_paths
960 github_release_included_regions:
961 - 'releases\/.*\.yaml'
962 - '.releases\/.*\.yaml'
965 - lf-infra-parameters:
969 - lf-infra-tox-parameters:
971 tox-envs: "{tox-envs}"
973 name: BUILD_BDIST_WHEEL
974 default: "{dist-binary}"
975 description: "Set to True to build a wheel"
979 description: "This is the version, example: 1.0.0"
981 name: USE_RELEASE_FILE
982 default: "{use-release-file}"
983 description: "Set to False for job built with parameters"
988 If DRY_RUN is enabled artifacts are not published.
991 name: "{project-name}-pypi-release-verify-{stream}"
992 id: gerrit-pypi-release-verify
993 <<: *lf_python_common
994 # yamllint disable-line rule:key-duplicates
996 <<: *lf_pypi_release_common
997 <<: *lf_pypi_release_verify_builders
1000 - lf-infra-gerrit-scm:
1001 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1002 git-url: "{git-url}"
1003 refspec: "$GERRIT_REFSPEC"
1004 branch: "$GERRIT_BRANCH"
1005 submodule-recursive: "{submodule-recursive}"
1006 submodule-timeout: "{submodule-timeout}"
1007 submodule-disable: "{submodule-disable}"
1008 choosing-strategy: gerrit
1012 server-name: "{gerrit-server-name}"
1014 - patchset-created-event:
1015 exclude-drafts: true
1016 exclude-trivial-rebase: false
1017 exclude-no-code-change: false
1018 - draft-published-event
1019 - comment-added-contains-event:
1020 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1022 - project-compare-type: "ANT"
1023 project-pattern: "{project}"
1025 - branch-compare-type: ANT
1026 branch-pattern: "**/{branch}"
1027 file-paths: "{obj:gerrit_release_trigger_file_paths}"
1030 name: "{project-name}-pypi-release-verify-{stream}"
1031 id: github-pypi-release-verify
1032 <<: *lf_python_common
1033 # yamllint disable-line rule:key-duplicates
1035 <<: *lf_pypi_release_common
1036 <<: *lf_pypi_release_verify_builders
1040 url: "{github-url}/{github-org}/{project}"
1043 - lf-infra-github-scm:
1044 url: "{git-clone-url}{github-org}/{project}"
1046 branch: "refs/heads/{branch}"
1047 submodule-recursive: "{submodule-recursive}"
1048 submodule-timeout: "{submodule-timeout}"
1049 submodule-disable: "{submodule-disable}"
1050 choosing-strategy: default
1051 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1054 - github-pull-request:
1055 trigger-phrase: "^(recheck|reverify)$"
1056 only-trigger-phrase: false
1057 status-context: "PyPI Release Verify"
1060 white-list-target-branches:
1062 included-regions: "{obj:github_release_included_regions}"
1065 name: "{project-name}-pypi-release-merge-{stream}"
1066 id: gerrit-pypi-release-merge
1067 <<: *lf_python_common
1068 # yamllint disable-line rule:key-duplicates
1070 <<: *lf_pypi_release_common
1071 <<: *lf_pypi_release_merge_builders
1074 - lf-infra-gerrit-scm:
1075 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1076 git-url: "{git-url}"
1077 refspec: "$GERRIT_REFSPEC"
1078 branch: "$GERRIT_BRANCH"
1079 submodule-recursive: "{submodule-recursive}"
1080 submodule-timeout: "{submodule-timeout}"
1081 submodule-disable: "{submodule-disable}"
1082 choosing-strategy: gerrit
1086 server-name: "{gerrit-server-name}"
1088 - change-merged-event
1089 - comment-added-contains-event:
1090 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
1092 - project-compare-type: "ANT"
1093 project-pattern: "{project}"
1095 - branch-compare-type: ANT
1096 branch-pattern: "**/{branch}"
1097 file-paths: "{obj:gerrit_release_trigger_file_paths}"
1100 name: "{project-name}-pypi-release-merge-{stream}"
1101 id: github-pypi-release-merge
1102 <<: *lf_python_common
1103 # yamllint disable-line rule:key-duplicates
1105 <<: *lf_pypi_release_common
1106 <<: *lf_pypi_release_merge_builders
1110 url: "{github-url}/{github-org}/{project}"
1113 - lf-infra-github-scm:
1114 url: "{git-clone-url}{github-org}/{project}"
1116 branch: "refs/heads/{branch}"
1117 submodule-recursive: "{submodule-recursive}"
1118 submodule-timeout: "{submodule-timeout}"
1119 submodule-disable: "{submodule-disable}"
1120 choosing-strategy: default
1121 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1124 - github-pull-request:
1125 trigger-phrase: "^(remerge)$"
1126 only-trigger-phrase: false
1127 status-context: "PyPI Release Merge"
1130 white-list-target-branches:
1132 included-regions: "{obj:github_release_included_regions}"