-
-- lf_pypi_release_common: &lf_pypi_release_common
- name: lf-pypi-release-common
-
- dist-binary: true
- pypi-repo: pypi
- use-release-file: true
-
- # define once and use twice; jobs MUST NOT override
- gerrit_release_trigger_file_paths:
- - compare-type: REG_EXP
- pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)'
-
- # github_release_included_regions MUST match gerrit_release_trigger_file_paths
- github_release_included_regions:
- - 'releases\/.*\.yaml'
- - '.releases\/.*\.yaml'
-
- parameters:
- - lf-infra-parameters:
- project: "{project}"
- branch: "{branch}"
- stream: "{stream}"
- - lf-infra-tox-parameters:
- tox-dir: "{tox-dir}"
- tox-envs: "{tox-envs}"
- - bool:
- name: BUILD_BDIST_WHEEL
- default: "{dist-binary}"
- description: "Set to True to build a wheel"
- - string:
- name: VERSION
- default: ""
- description: "This is the version, example: 1.0.0"
- - bool:
- name: USE_RELEASE_FILE
- default: "{use-release-file}"
- description: "Set to False for job built with parameters"
- - bool:
- name: DRY_RUN
- default: false
- description: |
- If DRY_RUN is enabled artifacts are not published.
-
-- job-template:
- name: "{project-name}-pypi-release-verify-{stream}"
- id: gerrit-pypi-release-verify
- <<: *lf_python_common
- # yamllint disable-line rule:key-duplicates
- <<: *lf_pypi_common
- <<: *lf_pypi_release_common
- <<: *lf_pypi_release_verify_builders
-
- scm:
- - lf-infra-gerrit-scm:
- jenkins-ssh-credential: "{jenkins-ssh-credential}"
- git-url: "{git-url}"
- refspec: "$GERRIT_REFSPEC"
- branch: "$GERRIT_BRANCH"
- submodule-recursive: "{submodule-recursive}"
- submodule-timeout: "{submodule-timeout}"
- submodule-disable: "{submodule-disable}"
- choosing-strategy: gerrit
-
- triggers:
- - gerrit:
- server-name: "{gerrit-server-name}"
- trigger-on:
- - patchset-created-event:
- exclude-drafts: true
- exclude-trivial-rebase: false
- exclude-no-code-change: false
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
- projects:
- - project-compare-type: "ANT"
- project-pattern: "{project}"
- branches:
- - branch-compare-type: ANT
- branch-pattern: "**/{branch}"
- file-paths: "{obj:gerrit_release_trigger_file_paths}"
-
-- job-template:
- name: "{project-name}-pypi-release-verify-{stream}"
- id: github-pypi-release-verify
- <<: *lf_python_common
- # yamllint disable-line rule:key-duplicates
- <<: *lf_pypi_common
- <<: *lf_pypi_release_common
- <<: *lf_pypi_release_verify_builders
-
- properties:
- - github:
- url: "{github-url}/{github-org}/{project}"
-
- scm:
- - lf-infra-github-scm:
- url: "{git-clone-url}{github-org}/{project}"
- refspec: ""
- branch: "refs/heads/{branch}"
- submodule-recursive: "{submodule-recursive}"
- submodule-timeout: "{submodule-timeout}"
- submodule-disable: "{submodule-disable}"
- choosing-strategy: default
- jenkins-ssh-credential: "{jenkins-ssh-credential}"
-
- triggers:
- - github-pull-request:
- trigger-phrase: "^(recheck|reverify)$"
- only-trigger-phrase: false
- status-context: "PyPI Release Verify"
- permit-all: true
- github-hooks: true
- white-list-target-branches:
- - "{branch}"
- included-regions: "{obj:github_release_included_regions}"
-
-- job-template:
- name: "{project-name}-pypi-release-merge-{stream}"
- id: gerrit-pypi-release-merge
- <<: *lf_python_common
- # yamllint disable-line rule:key-duplicates
- <<: *lf_pypi_common
- <<: *lf_pypi_release_common
- <<: *lf_pypi_release_merge_builders
-
- scm:
- - lf-infra-gerrit-scm:
- jenkins-ssh-credential: "{jenkins-ssh-credential}"
- git-url: "{git-url}"
- refspec: "$GERRIT_REFSPEC"
- branch: "$GERRIT_BRANCH"
- submodule-recursive: "{submodule-recursive}"
- submodule-timeout: "{submodule-timeout}"
- submodule-disable: "{submodule-disable}"
- choosing-strategy: gerrit
-
- triggers:
- - gerrit:
- server-name: "{gerrit-server-name}"
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
- projects:
- - project-compare-type: "ANT"
- project-pattern: "{project}"
- branches:
- - branch-compare-type: ANT
- branch-pattern: "**/{branch}"
- file-paths: "{obj:gerrit_release_trigger_file_paths}"
-
-- job-template:
- name: "{project-name}-pypi-release-merge-{stream}"
- id: github-pypi-release-merge
- <<: *lf_python_common
- # yamllint disable-line rule:key-duplicates
- <<: *lf_pypi_common
- <<: *lf_pypi_release_common
- <<: *lf_pypi_release_merge_builders
-
- properties:
- - github:
- url: "{github-url}/{github-org}/{project}"
-
- scm:
- - lf-infra-github-scm:
- url: "{git-clone-url}{github-org}/{project}"
- refspec: ""
- branch: "refs/heads/{branch}"
- submodule-recursive: "{submodule-recursive}"
- submodule-timeout: "{submodule-timeout}"
- submodule-disable: "{submodule-disable}"
- choosing-strategy: default
- jenkins-ssh-credential: "{jenkins-ssh-credential}"
-
- triggers:
- - github-pull-request:
- trigger-phrase: "^(remerge)$"
- only-trigger-phrase: false
- status-context: "PyPI Release Merge"
- permit-all: true
- github-hooks: true
- white-list-target-branches:
- - "{branch}"
- included-regions: "{obj:github_release_included_regions}"