[
https://issues.apache.org/jira/browse/BEAM-3255?focusedWorklogId=92775&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-92775
]
ASF GitHub Bot logged work on BEAM-3255:
----------------------------------------
Author: ASF GitHub Bot
Created on: 19/Apr/18 18:36
Start Date: 19/Apr/18 18:36
Worklog Time Spent: 10m
Work Description: pabloem opened a new pull request #5187: [BEAM-3255]
Enabling gradle-based release process
URL: https://github.com/apache/beam/pull/5187
This creates a `release` task that emulates the workflow to create release
candidates. The workflow for this is as follows:
```
# Create environment variables. Supposing that we're preparing the 2.5.0
release:
RELEASE=2.5.0
NEXT_VERSION=2.6.0
CANDIDATE=1
BRANCH=release-${RELEASE}
# Create a release branch
git branch ${BRANCH}
# Now change the version in existing gradle files
sed -i 's/'$RELEASE'/'${NEXT_VERSION}'/g' build_rules.gradle
sed -i 's/'$RELEASE'/'${NEXT_VERSION}'/g' gradle.properties
# Save changes in master branch
git add gradle.properties build_rules.gradle
git commit -m "Moving ${NEXT_VERSION}-SNAPSHOT on master branch."
# RELEASE TASK
# In the release branch, run the release task
git checkout ${BRANCH}
./gradlew release -Prelease.newVersion=${RELEASE}-SNAPSHOT \
-Prelease.releaseVersion=${RELEASE}-RC${CANDIDATE} \
-Prelease.useAutomaticVersion=true --info --no-daemon
```
The release task must be performed each time a new Release Candidate is
created, and once one is approved, then it's just necessary to add a new tag
for the release:
```
git tag ${RELEASE} ${RELEASE}-RC${CANDIDATE}
```
The release task does the following:
- Checks that no commits / updates are needed to the code
- Checks that project has no SNAPSHOT dependencies
- Runs build
- Changes version in gradle.properties to remove `-SNAPSHOT`
- Performs a commit
- Adds a tag like so: `v${RELEASE}-RC${CANDIDATE}`
- Changes version in gradle.properties back to contain `-SNAPSHOT`
- Performs a commit
----------------------------------------------------------------
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:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 92775)
Time Spent: 2h 50m (was: 2h 40m)
> 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: 2h 50m
> 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)