Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(release): Add release process docs #701

Merged
merged 9 commits into from
Jul 21, 2022
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## Unreleased

### Documentation

* [#701](https://github.com/NibiruChain/nibiru/pull/701) Add release process guide

### Improvements

* [#705](https://github.com/NibiruChain/nibiru/pull/705) Refactor PerpKeeper's `AddMargin` method to accept individual fields instead of the entire Msg object.
Expand Down
45 changes: 45 additions & 0 deletions RELEASE_PROCESS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Release Process

This document outlines the process for releasing a new version of the Nibiru binary.

## Step 1) Create a new release branch off master

```sh
git checkout master
git branch releases/v0.x.y
git switch releases/v0.x.y
```

## Step 2) Update the changelog

- Move the changelog notes from `Unreleased` to a new section titled `v0.x.y`
- Add the date to `v0.x.y`

## Step 3) Create a tag

```sh
git tag -a -s -m "Create new release v0.x.y" v0.x.y
git push origin v0.x.y
```

## Step 4) Go to the [GitHub Releases](https://github.com/NibiruChain/nibiru/releases) page

- Create a new release from the tag v0.x.y you just pushed
- Make sure you save the release as a draft release
- Make sure you check the `This is a pre-release` checkbox

## Step 5) Build the binaries locally

```sh
cd nibiru/

ignite chain build --release -t linux:amd64 -t linux:arm64 -t darwin:amd64 -t darwin:arm64
```

## Step 6) Upload the files in the release/ directory to GitHub

Upload all the files under `releases/` to the [GitHub Release](https://github.com/NibiruChain/nibiru/releases) you just made

## Step 7) Merge your release branch into master
Copy link
Contributor

Choose a reason for hiding this comment

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

I think the tag should happen at the end, when everything is sure and is going to be merged.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

As discussed in Slack, you need a tag in order to create a release in GitHub.


After merging the release branch `releases/v0.x.y` into master, uncheck the `This is a pre-release` checkbox for the release.