:branch: The branch to build against. (default: master)
:build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
:build-timeout: Timeout in minutes before aborting build. (default: 15)
+ :disable-job: Whether to disable the job (default: false)
:dist-binary: Whether to build a binary wheel distribution. (default: true)
:git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
:parallel: Boolean indicator for tox to run tests in parallel or series.
:branch: The branch to build against. (default: master)
:build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
:build-timeout: Timeout in minutes before aborting build. (default: 15)
+ :cron: Cron schedule when to trigger the job. Supports daily builds.
+ This parameter also supports multiline input via YAML pipe | character in
+ cases where one may want to provide more than 1 cron timer. (default: empty)
+ :disable-job: Whether to disable the job (default: false)
:dist-binary: Whether to build a binary wheel distribution. (default: true)
:git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
:parallel: Boolean indicator for tox to run tests in parallel or series.
:branch: The branch to build against. (default: master)
:build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
:build-timeout: Timeout in minutes before aborting build. (default: 15)
+ :disable-job: Whether to disable the job (default: false)
:dist-binary: Whether to build a binary wheel distribution. (default: true)
:git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
:parallel: Boolean indicator for tox to run tests in parallel or series.
:tox-envs: Tox environments to run. If blank run everything described
in tox.ini. (default: '')
:use-release-file: Whether to use the release file. (default: true)
- :gerrit_trigger_file_paths: Override file paths used to filter which file
- modifications trigger a build. Refer to JJB documentation for "file-path" details.
- https://docs.openstack.org/infra/jenkins-job-builder/triggers.html#triggers.gerrit
-
PyPI Release Merge
------------------
:branch: The branch to build against. (default: master)
:build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
:build-timeout: Timeout in minutes before aborting build. (default: 15)
+ :disable-job: Whether to disable the job (default: false)
:dist-binary: Whether to build a binary wheel distribution. (default: true)
:git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
:parallel: Boolean indicator for tox to run tests in parallel or series.
:tox-envs: Tox environments to run. If blank run everything described
in tox.ini. (default: '')
:use-release-file: Whether to use the release file. (default: true)
- :gerrit_trigger_file_paths: Override file paths used to filter which file
- modifications trigger a build. Refer to JJB documentation for "file-path" details.
- https://docs.openstack.org/infra/jenkins-job-builder/triggers.html#triggers.gerrit
tox-dir: "."
tox-envs: ""
+ disabled: "{disable-job}"
+
gerrit_trigger_file_paths:
- compare-type: ANT
pattern: ".*"
<<: *lf_pypi_common
<<: *lf_pypi_merge_builders
+ cron: ""
pypi-repo: staging
gerrit_merge_triggers:
choosing-strategy: gerrit
triggers:
+ - timed: "{obj:cron}"
- gerrit:
server-name: "{gerrit-server-name}"
trigger-on: "{obj:gerrit_merge_triggers}"
<<: *lf_pypi_common
<<: *lf_pypi_merge_builders
+ cron: ""
pypi-repo: staging
properties:
jenkins-ssh-credential: "{jenkins-ssh-credential}"
triggers:
+ - timed: "{obj:cron}"
- github-pull-request:
trigger-phrase: "^remerge$"
only-trigger-phrase: false
pypi-repo: pypi
use-release-file: true
- gerrit_trigger_file_paths:
+ # define once and use twice; jobs MUST NOT override
+ gerrit_release_trigger_file_paths:
- compare-type: REG_EXP
pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)'
- # github_included_regions MUST match gerrit_trigger_file_paths
- github_included_regions:
+ # github_release_included_regions MUST match gerrit_release_trigger_file_paths
+ github_release_included_regions:
- 'releases\/.*\.yaml'
- '.releases\/.*\.yaml'
branches:
- branch-compare-type: "ANT"
branch-pattern: "**"
- file-paths: "{obj:gerrit_trigger_file_paths}"
+ file-paths: "{obj:gerrit_release_trigger_file_paths}"
- job-template:
name: "{project-name}-pypi-release-verify-{stream}"
github-hooks: true
white-list-target-branches:
- "{branch}"
- included-regions: "{obj:github_included_regions}"
+ included-regions: "{obj:github_release_included_regions}"
- job-template:
name: "{project-name}-pypi-release-merge-{stream}"
branches:
- branch-compare-type: "ANT"
branch-pattern: "**"
- file-paths: "{obj:gerrit_trigger_file_paths}"
+ file-paths: "{obj:gerrit_release_trigger_file_paths}"
- job-template:
name: "{project-name}-pypi-release-merge-{stream}"
github-hooks: true
white-list-target-branches:
- "{branch}"
- included-regions: "{obj:github_included_regions}"
+ included-regions: "{obj:github_release_included_regions}"
--- /dev/null
+---
+fixes:
+ - |
+ In the PyPI merge template, add cron parameter to support daily build
+ and push to a staging repo, like the maven merge template.
+ In PyPI release templates, change name of gerrit and github trigger
+ file patterns parameter. This avoids accidental overriding by jobs
+ that limit their actions to subdirectories. The release file patterns
+ are hardcoded in a shell script. Remove params from RST doc.
+ In all PyPI templates, add disabled option and disable-job parameter
+ to be consistent with other python templates.