Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions amoro-site/content/community/release-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -232,22 +232,28 @@ $ mvn --encrypt-password <apache password>
## Build release

### Cut the release branch
> The version of Apache Amoro follows the [Semantic Versioning](https://semver.org/), which looks like `{major}.{mior}.{patch}`

Cut the release branch if it is not created in the Apache remote repository, if it already exists, check it out and pull the latest changes.
Cut a branch for the `minor` version if it is not created in the Apache remote repository, if it already exists, check it out and pull the latest changes.

```shell
$ cd ${AMORO_SOURCE_HOME}

# Cut the release branch if it is not created
# Cut the release branch if it is not created, then push to the remote
$ git checkout -b 0.8.x
$ git push apache 0.8.x

# Or check it out and pull the latest changes if it is created
$ git checkout 0.8.x
$ git pull apache 0.8.x
```

Change the project version to the release version in the `tools/change-version.sh`:
Checkout a `patch` branch using the following command
```
$ git checkout -b 0.8.0-branch
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, I am not sure why we need a patch branch to change the project version.

Can we change it in the release branch?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can't change the version to a release version (without the suffix of SNAPSHOT) in branch like 0.8.x, because the code in 0.8.x branch isn't 0.8.0-incubating(we may bump to 0.8.1-incubating if we have another patch version).

The version in 0.8.x need to be 0.8-SNAPSHOT(after branch 0.8.x has been cut, the version in master need to be upgraded to 0.9-SNAPSHOT), because we'll checkout 0.8.0-incubating, 0.8.1-incubating(and other patch version for 0.8 if needed) from 0.8.x

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me.

```

Update the version in the new branch using the tool `tools/change-version.sh`:
```bash
OLD="0.8-SNAPSHOT"
NEW="0.8.0-incubating"
Expand All @@ -270,7 +276,7 @@ $ bash change-version.sh
$ cd ..
$ git add *
$ git commit -m "Change project version to 0.8.0-incubating"
$ git push apache 0.8.x
$ git push apache 0.8.0-branch
```

### Create the release tag
Expand Down
Loading