# COMMON FUNCTIONS #
####################
-- lf_release_common: &lf_release_common
+- _lf_release_common: &lf_release_common
name: lf-release-common
#####################
# RELEASE VERIFY #
##################
-- lf_release_verify: &lf_release_verify
+- _lf_release_verify: &lf_release_verify
name: lf-release-verify
######################
# yamllint disable-line rule:line-length
comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
+ github_included_regions:
+ - '(releases\/.*\.yaml|\.releases\/.*\.yaml)'
+
#####################
# Job Configuration #
#####################
unstable: "{gerrit-skip-vote}"
notbuilt: "{gerrit-skip-vote}"
+- job-template:
+ name: "{project-name}-release-verify"
+ id: github-release-verify
+ <<: *lf_release_common
+ # yamllint disable-line rule:key-duplicates
+ <<: *lf_release_verify
+
+ properties:
+ - lf-infra-properties:
+ build-days-to-keep: "{build-days-to-keep}"
+ - github:
+ url: "{github-url}/{github-org}/{project}"
+
+ wrappers:
+ - lf-infra-wrappers:
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+
+ scm:
+ - lf-infra-github-scm:
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ 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: "Github Release Verify"
+ permit-all: true
+ github-hooks: true
+ white-list-target-branches:
+ - "{branch}"
+ included-regions: "{obj:github_included_regions}"
+
#################
# RELEASE MERGE #
#################
-- lf_release_merge: &lf_release_merge
+- _lf_release_merge: &lf_release_merge
name: lf-release-merge
######################
- comment-added-contains-event:
comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
+ github_included_regions:
+ - '(releases\/.*\.yaml|\.releases\/.*\.yaml)'
+
#####################
# Job Configuration #
#####################
stream: "$GERRIT_BRANCH"
- lf-build-with-parameters-maven-release:
use-release-file: "{use-release-file}"
+ - bool:
+ name: TAG_RELEASE
+ default: true
+ description: |
+ Tag Gerrit repo after release.
- bool:
name: DRY_RUN
default: false
submodule-disable: true
submodule-recursive: false
submodule-timeout: 10
+ # release merge jobs build from commit not tip
choosing-strategy: gerrit
triggers:
- compare-type: REG_EXP
pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)'
+- job-template:
+ name: "{project-name}-release-merge"
+ id: github-release-merge
+ <<: *lf_release_common
+ # yamllint disable-line rule:key-duplicates
+ <<: *lf_release_merge
+
+ properties:
+ - lf-infra-properties:
+ build-days-to-keep: "{build-days-to-keep}"
+ - github:
+ url: "{github-url}/{github-org}/{project}"
+
+ wrappers:
+ - lf-infra-wrappers:
+ build-timeout: "{build-timeout}"
+ jenkins-ssh-credential: "{jenkins-ssh-credential}"
+
+ scm:
+ - lf-infra-github-scm:
+ url: "{git-clone-url}{github-org}/{project}"
+ refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
+ branch: "$sha1"
+ 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: true
+ status-context: "Github Release Merge"
+ permit-all: true
+ github-hooks: true
+ white-list-target-branches:
+ - "{branch}"
+ included-regions: "{obj:github_included_regions}"
+
################
# PyPI RELEASE #
################
-- lf_pypi_verify_wrappers: &lf_pypi_verify_wrappers
+- _lf_pypi_verify_wrappers: &lf_pypi_verify_wrappers
name: lf-pypi-verify-wrappers
wrappers:
build-timeout: "{build-timeout}"
jenkins-ssh-credential: "{jenkins-ssh-credential}"
-- lf_pypi_release_wrappers: &lf_pypi_release_wrappers
+- _lf_pypi_release_wrappers: &lf_pypi_release_wrappers
name: lf-pypi-release-wrappers
wrappers:
build-timeout: "{build-timeout}"
jenkins-ssh-credential: "{jenkins-ssh-release-credential}"
-- lf_pypi_release: &lf_pypi_release
+- _lf_pypi_release: &lf_pypi_release
name: lf-pypi-release
######################
name: USE_RELEASE_FILE
default: true
description: "Set to False (unchecked) to build with parameters"
+ - bool:
+ name: TAG_RELEASE
+ default: true
+ description: |
+ Tag Gerrit repo after release.
- bool:
name: DRY_RUN
default: false
submodule-recursive: "{submodule-recursive}"
submodule-timeout: "{submodule-timeout}"
submodule-disable: "{submodule-disable}"
+ # release merge jobs build from commit not tip
choosing-strategy: gerrit
triggers:
# PackageCloud RELEASE #
########################
-- lf_packagecloud_release_common: &lf_packagecloud_release_common
+- _lf_packagecloud_release_common: &lf_packagecloud_release_common
name: lf-packagecloud-release-common
######################
git-url: "$GIT_URL/$PROJECT"
gerrit-skip-vote: false
use-release-file: true
- account-name: "{account-name}"
- source-repo: "{source-repo}"
+ account-name: ""
+ source-repo: ""
#####################
# Job Configuration #
name: DISTRIBUTION_TYPE
default: "packagecloud"
description: "The Jenkins release job distribution type."
+ - bool:
+ name: TAG_RELEASE
+ default: true
+ description: |
+ Tag Gerrit repo after release.
- bool:
name: DRY_RUN
default: false
submodule-disable: true
submodule-recursive: false
submodule-timeout: 10
+ # release merge jobs build from commit not tip
choosing-strategy: gerrit
triggers: