[ https://issues.apache.org/jira/browse/BEAM-3255?focusedWorklogId=109163&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-109163 ]
ASF GitHub Bot logged work on BEAM-3255: ---------------------------------------- Author: ASF GitHub Bot Created on: 05/Jun/18 18:32 Start Date: 05/Jun/18 18:32 Worklog Time Spent: 10m Work Description: alanmyrvold commented on a change in pull request #424: [BEAM-3255] Updating release guide to use Gradle commands URL: https://github.com/apache/beam-site/pull/424#discussion_r193176828 ########## File path: src/contribute/release-guide.md ########## @@ -178,64 +231,78 @@ Javadoc to the Javadoc for other modules that Beam depends on. the version number has changed, download a new version of the corresponding `<module>-docs/package-list` file. -### Create a release branch +### Create a release branch in apache/beam repository -Release candidates are built from a release branch. As a final step in preparation for the release, you should create the release branch, push it to the code repository, and update version information on the original branch. +Attention: Only committer has permission to create release branch in apache/beam. + +Release candidates are built from a release branch. As a final step in preparation for the release, you should create the release branch, push it to the Apache code repository, and update version information on the original branch. Check out the version of the codebase from which you start the release. For a new minor or major release, this may be `HEAD` of the `master` branch. To build a hotfix/incremental release, instead of the `master` branch, use the release tag of the release being patched. (Please make sure your cloned repository is up-to-date before starting.) git checkout <master branch OR release tag> +**NOTE**: If you are doing an incremental/hotfix release (e.g. 2.5.1), please check out the previous release tag, rather than the master branch. Set up a few environment variables to simplify Maven commands that follow. (We use `bash` Unix syntax in this guide.) - VERSION="1.2.3" - NEXT_VERSION="1.2.4" - BRANCH_NAME="release-${VERSION}" - DEVELOPMENT_VERSION="${NEXT_VERSION}-SNAPSHOT" + RELEASE=2.5.0 + NEXT_VERSION_IN_BASE_BRANCH=2.6.0 + BRANCH=release-${RELEASE} Version represents the release currently underway, while next version specifies the anticipated next version to be released from that branch. Normally, 1.2.0 is followed by 1.3.0, while 1.2.3 is followed by 1.2.4. -Use Maven release plugin to create the release branch and update the current branch to use the new development version. This command applies for the new major or minor version. (Warning: this command automatically pushes changes to the code repository.) +**NOTE**: Only if you are doing an incremental/hotfix release (e.g. 2.5.1), please check out the previous release tag, before running the following instructions: + + BASE_RELEASE=2.5.0 + RELEASE=2.5.1 + NEXT_VERSION_IN_BASE_BRANCH=2.5.0 + git checkout tags/${BASE_RELEASE} + +Create a new branch, and update version files in the master branch. - mvn release:branch \ - -DbranchName=${BRANCH_NAME} \ - -DdevelopmentVersion=${DEVELOPMENT_VERSION} + git branch ${BRANCH} -However, if you are doing an incremental/hotfix release, please run the following command after checking out the release tag of the release being patched. + # Now change the version in existing gradle files, and Python files + sed -i -e "s/'${RELEASE}'/'${NEXT_VERSION_IN_BASE_BRANCH}'/g" build_rules.gradle + sed -i -e "s/${RELEASE}/${NEXT_VERSION_IN_BASE_BRANCH}/g" gradle.properties + sed -i -e "s/${RELEASE}/${NEXT_VERSION_IN_BASE_BRANCH}/g" sdks/python/apache_beam/version.py - mvn release:branch \ - -DbranchName=${BRANCH_NAME} \ - -DupdateWorkingCopyVersions=false \ - -DupdateBranchVersions=true \ - -DreleaseVersion="${VERSION}-SNAPSHOT" + # Save changes in master branch + git add gradle.properties build_rules.gradle sdks/python/apache_beam/version.py + git commit -m "Moving to ${NEXT_VERSION_IN_BASE_BRANCH}-SNAPSHOT on master branch." Check out the release branch. - git checkout ${BRANCH_NAME} + git checkout ${BRANCH} Review comment: This step needs to be moved later, after changing versions on master? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 109163) Time Spent: 9h 10m (was: 9h) > Update release process to use Gradle > ------------------------------------ > > Key: BEAM-3255 > URL: https://issues.apache.org/jira/browse/BEAM-3255 > Project: Beam > Issue Type: Sub-task > Components: build-system > Reporter: Luke Cwik > Assignee: Alan Myrvold > Priority: Major > Fix For: Not applicable > > Time Spent: 9h 10m > Remaining Estimate: 0h > > This task is about configuring Gradle to generate pom's and artifacts > required to perform a release and update the nightly release snapshot Jenkins > jobs found here > https://github.com/apache/beam/blob/master/.test-infra/jenkins/job_beam_Release_NightlySnapshot.groovy > We will also require some integration tests to run against the released > nightly snapshot artifacts to ensure that what was built is valid. -- This message was sent by Atlassian JIRA (v7.6.3#76005)