Skip to content

Commit

Permalink
Add docs for releasing arena (#1201)
Browse files Browse the repository at this point in the history
Signed-off-by: Yi Chen <[email protected]>
  • Loading branch information
ChenYi015 authored Nov 18, 2024
1 parent 866ec44 commit 1cba9b9
Show file tree
Hide file tree
Showing 2 changed files with 88 additions and 1 deletion.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Arena

[![Integration Test](https://github.com/kubeflow/arena/actions/workflows/integration.yaml/badge.svg)](https://github.com/kubeflow/arena/actions/workflows/integration.yaml)[![Go Report Card](https://goreportcard.com/badge/github.com/kubeflow/arena)](https://goreportcard.com/report/github.com/kubeflow/arena)
[![GitHub release](https://img.shields.io/github/v/release/kubeflow/arena)](https://github.com/kubeflow/arena/releases) [![Integration Test](https://github.com/kubeflow/arena/actions/workflows/integration.yaml/badge.svg)](https://github.com/kubeflow/arena/actions/workflows/integration.yaml) [![Go Report Card](https://goreportcard.com/badge/github.com/kubeflow/arena)](https://goreportcard.com/report/github.com/kubeflow/arena)

View the [Arena documentation](https://arena-docs.readthedocs.io/en/latest).

Expand Down
87 changes: 87 additions & 0 deletions docs/release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# Releasing Arena

## Prerequisites

- [Write](https://docs.github.com/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization) permission for the [kubeflow/arena](https://github.com/kubeflow/arena) repository.

- Create a [GitHub Token](https://docs.github.com/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token).

- Install `PyGithub`:

```bash
pip install PyGithub==2.3.0
```

## Versioning Policy

Arena version format follows [Semantic Versioning](https://semver.org/). Arena versions are in the format of `vX.Y.Z`, where `X` is the major version, `Y` is the minor version, and `Z` is the patch version. The patch version contains only bug fixes.

## Release Process

### Update Versions

1. Modify `VERSION` file in the root directory of the project:

- For the RC tag as follows:

```bash
vX.Y.Z-rc.N
```

- For the official release tag as follows:

```bash
vX.Y.Z
```

2. Modify `version` and `appVersion` in `Chart.yaml`:

```bash
# Get version and remove the leading 'v'
VERSION=$(cat VERSION | sed "s/^v//")
# Change the version and appVersion in Chart.yaml
# On Linux
sed -i "s/^version.*/version: ${VERSION}/" arena-artifacts/Chart.yaml
sed -i "s/^appVersion.*/appVersion: ${VERSION}/" arena-artifacts/Chart.yaml
# On MacOS
sed -i '' "s/^version.*/version: ${VERSION}/" arena-artifacts/Chart.yaml
sed -i '' "s/^appVersion.*/appVersion: ${VERSION}/" arena-artifacts/Chart.yaml
```

3. Commit and push the changes to your own branch:

```bash
git add VERSION
git add arena-artifacts/Chart.yaml
git commit -s -m "Release v${VERSION}"
git push --set-upstream origin $(git rev-parse --abbrev-ref HEAD)
```

4. Open a new PR to the master branch.

### Publish release

After `VERSION` file is modified and pushed to the master branch, a release workflow will be triggered to create a new draft release with the arena installer packaged as artifacts. After modifying the release notes, then publish the release.

## Update Changelog

1. Update the `CHANGELOG.md` file by running:

```bash
# Use your GitHub token.
GH_TOKEN=<github-token>
# The previous release version, e.g. v1.7.1
PREVIOUS_RELEASE=vX.Y.Z
# The current release version, e.g. v1.8.0
CURRENT_RELEASE=vX.Y.Z
python hack/generate-changelog.py \
--token=${GH_TOKEN} \
--range=${PREVIOUS_RELEASE}..<CURRENT_RELEASE>
```

2. Group PRs in the `CHANGELOG.md` file into **Features**, **Bug Fixes** and **Misc**, etc.

3. Finally, open a new PR to the master branch with the updated Changelog.

0 comments on commit 1cba9b9

Please sign in to comment.