X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=docs%2Fjjb%2Flf-release-jobs.rst;h=02e73129514e2636b33d106d11a18d9bb09bed1f;hb=a254df8d0b68df0daf98ba407643d84cd75f5b98;hp=5966cd69d403c8f62e9f7f66d9247b28de7bbe4f;hpb=e55a3f95818c7cacc1b5e355014ebcee4c78d38e;p=releng%2Fglobal-jjb.git diff --git a/docs/jjb/lf-release-jobs.rst b/docs/jjb/lf-release-jobs.rst index 5966cd69..02e73129 100644 --- a/docs/jjb/lf-release-jobs.rst +++ b/docs/jjb/lf-release-jobs.rst @@ -70,8 +70,8 @@ The following parameters must appear in a maven release yaml file. :Required Parameters: :distribution_type: Must be "maven". - :log_dir: The suffix of the logs URL reported on completion by the - Jenkins stage job that created and pushed the artifact + :log_dir: The suffix of the logs URL reported on successful completion + by the Jenkins stage job that created and pushed the artifact to the staging repository. For example, use value "example-project-maven-stage-master/17" for the logs URL https://logs.lf-project.org/production/vex-sjc-lfp-jenkins-prod-1/example-project-maven-stage-master/17 @@ -82,6 +82,8 @@ The following parameters must appear in a maven release yaml file. :git_tag: The tag string to sign and push to the Git repository. (default: the semantic version string) + :tag_release: Tag Gerrit Repo during the release process. + (default: true) The JSON schema for a maven release file appears below. @@ -132,6 +134,8 @@ The following parameters must appear in a container release yaml file. :git_tag: The tag string to sign and push to the Git repository. (default: the semantic version string) + :tag_release: Tag Gerrit Repo during the release process. + (default: true) The JSON schema for a container release file appears below. @@ -162,9 +166,9 @@ packages. :Required Parameters: - :log_dir: The suffix of the logs URL reported on completion by the - Jenkins merge job that created and pushed the distribution files - to the staging repository. For example, use value + :log_dir: The suffix of the logs URL reported on successful completion + by the Jenkins merge job that created and pushed the distribution + files to the staging repository. For example, use value "example-project-pypi-merge-master/17" for the logs URL https://logs.lf-project.org/production/vex-sjc-lfp-jenkins-prod-1/example-project-pypi-merge-master/17 :pypi_project: The PyPI project name at the staging and @@ -179,6 +183,8 @@ packages. :git_tag: The tag string to sign and push to the Git repository. (default: the semantic version string) + :tag_release: Tag Gerrit Repo during the release process. + (default: true) The JSON schema for a PyPI release file appears below. @@ -221,9 +227,9 @@ packages. "curl https://packagecloud.io/api/v1/repos/test_user/test_repo/search?q= | yq -r .[].filename" :ref: The git commit reference (SHA-1 code) to tag with the version string. - :log_dir: The suffix of the logs URL reported on completion by the - Jenkins merge job that created and pushed the distribution files - to the staging repository. For example, use value + :log_dir: The suffix of the logs URL reported on successful completion + by the Jenkins merge job that created and pushed the distribution + files to the staging repository. For example, use value "example-project-packagecloud-merge-/21" for the logs URL https://logs.lf-project.org/production/vex-sjc-lfp-jenkins-prod-1/example-project-packagecloud-merge/21 :version: The semantic version string used for the package. @@ -232,6 +238,8 @@ packages. :git_tag: The tag string to sign and push to the Git repository. (default: the semantic version string) + :tag_release: Tag Gerrit Repo during the release process. + (default: true) The JSON schema for a PackageCloud release file appears below. @@ -279,6 +287,10 @@ Release Merge This template supports Maven and Container release jobs. +This template uses a git commit choosing strategy that builds the merged +commit with the release yaml file, not the tip of the target branch, so +projects can repeat the release action in case of merge job failure. + :Template Name: {project-name}-release-merge :Comment Trigger: remerge @@ -298,11 +310,8 @@ This template supports Maven and Container release jobs. :gerrit_merge_triggers: Override Gerrit Triggers. :gerrit_trigger_file_paths: Override file paths filter which checks which - file modifications will trigger a build. - **default**:: - - - compare-type: REG_EXP - pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)' + file modifications will trigger a build. The default pattern is the + regular expression ``(releases\/.*\.yaml|\.releases\/.*\.yaml)`` Release Verify @@ -332,11 +341,8 @@ This template supports Maven and Container release jobs. :gerrit_verify_triggers: Override Gerrit Triggers. :gerrit_trigger_file_paths: Override file paths filter which checks which - file modifications will trigger a build. - **default**:: - - - compare-type: REG_EXP - pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)' + file modifications will trigger a build. The default pattern is the + regular expression ``(releases\/.*\.yaml|\.releases\/.*\.yaml)`` PyPI Release Merge @@ -349,6 +355,10 @@ artifacts to the PyPI release repository, tags the git repository, signs the tag and pushes the tag to the git server. The release merge template accepts neither a branch nor a stream parameter. +These templates use a git commit choosing strategy that builds the merged +commit with the release yaml file, not the tip of the target branch, so +projects can repeat the release action in case of merge job failure. + :Template Names: - {project-name}-pypi-release-merge @@ -377,12 +387,9 @@ template accepts neither a branch nor a stream parameter. should be the repository pypy.org. (default: pypi) :use-release-file: Whether to use the release file. (default: true) - :gerrit_trigger_file_paths: Override file paths filter which checks which - file modifications will trigger a build. - **default**:: - - - compare-type: REG_EXP - pattern: '(releases\/pypi.*\.yaml|\.releases\/pypi.*\.yaml)' + :gerrit_release_trigger_file_paths: Override file paths filter which checks + which file modifications will trigger a build. The default pattern is the + regular expression ``(releases\/pypi.*\.yaml|\.releases\/pypi.*\.yaml)`` PyPI Release Verify ~~~~~~~~~~~~~~~~~~~ @@ -421,17 +428,17 @@ verify template accepts neither a branch nor a stream parameter. should be the repository pypy.org (default: pypi) :use-release-file: Whether to use the release file. (default: true) - :gerrit_trigger_file_paths: Override file paths filter which checks which - file modifications will trigger a build. - **default**:: - - - compare-type: REG_EXP - pattern: '(releases\/pypi.*\.yaml|\.releases\/pypi.*\.yaml)' + :gerrit_release_trigger_file_paths: Override file paths filter which checks + which file modifications will trigger a build. The default pattern is the + regular expression ``(releases\/pypi.*\.yaml|\.releases\/pypi.*\.yaml)`` PackageCloud Release Verify ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This template supports PackageCloud release jobs. +This template supports PackageCloud release jobs. Checks that the specified +packages are present in the staging repository and absent from the release +repository. The file path trigger uses the regular expression +``(releases\/packagecloud.*\.yaml|\.releases\/packagecloud.*\.yaml)`` :Template Name: {project-name}-packagecloud-release-verify @@ -453,25 +460,23 @@ This template supports PackageCloud release jobs. :gerrit-skip-vote: Skip voting for this job. (default: false) :git-url: URL clone project from. (default: $GIT_URL/$PROJECT) - :gerrit_verify_triggers: Override Gerrit Triggers. - :gerrit_trigger_file_paths: Override file paths filter which checks which - file modifications will trigger a build. - **default**:: - - - compare-type: REG_EXP - pattern: '(releases\/packagecloud.*\.yaml|\.releases\/packagecloud.*\.yaml)' - - PackageCloud Release Merge ~~~~~~~~~~~~~~~~~~~~~~~~~~ -This template supports PackageCloud release jobs. +This template supports PackageCloud release jobs. Promotes the specified +packages from the staging repository to the release repository. +The file path trigger uses the regular expression +``(releases\/packagecloud.*\.yaml|\.releases\/packagecloud.*\.yaml)`` -:template name: {project-name}-packagecloud-release-merge +This template uses a git commit choosing strategy that builds the merged +commit with the release yaml file, not the tip of the target branch, so +projects can repeat the release action in case of merge job failure. -:comment trigger: remerge +:Template Name: {project-name}-packagecloud-release-merge + +:Comment Trigger: remerge -:required parameters: +:Required Parameters: :build-node: the node to run build on. :jenkins-ssh-release-credential: credential to use for ssh. (generally set @@ -479,20 +484,11 @@ This template supports PackageCloud release jobs. :project: git repository name :project-name: jenkins job name prefix -:optional parameters: +:Optional Parameters: :build-days-to-keep: days to keep build logs in jenkins. (default: 7) :build-timeout: timeout in minutes before aborting build. (default: 15) - :gerrit_merge_triggers: override gerrit triggers. - :gerrit_trigger_file_paths: override file paths filter which checks which - file modifications will trigger a build. - **default**:: - - - compare-type: reg_exp - pattern: '(releases\/packagecloud.*\.yaml|\.releases\/packagecloud.*\.yaml)' - - Setup for LFID, Nexus, Jenkins and Gerrit -----------------------------------------