Skip to content

Commit

Permalink
add release doc (#1325)
Browse files Browse the repository at this point in the history
* add release doc

Signed-off-by: Pravin Pushkar <[email protected]>

* Apply suggestions from code review

Co-authored-by: Shubham Sharma <[email protected]>
Signed-off-by: Pravin Pushkar <[email protected]>

* Update release.md

Sample PR

Signed-off-by: Pravin Pushkar <[email protected]>

* Update docs/development/release.md

Co-authored-by: Shubham Sharma <[email protected]>
Signed-off-by: Pravin Pushkar <[email protected]>

---------

Signed-off-by: Pravin Pushkar <[email protected]>
Co-authored-by: Shubham Sharma <[email protected]>
  • Loading branch information
pravinpushkar and shubham1172 authored Jul 5, 2023
1 parent 2751f5f commit 31b9ea2
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 0 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -742,7 +742,9 @@ See the [Reference Guide](https://docs.dapr.io/reference/cli/) for more informat
## Contributing to Dapr CLI
See the [Development Guide](https://github.com/dapr/cli/blob/master/docs/development/development.md) to get started with building and developing.
## Release process for Dapr CLI
See the [Release Guide](https://github.com/dapr/cli/blob/master/docs/development/release.md) for complete release process for Dapr CLI.
## Code of Conduct
Please refer to our [Dapr Community Code of Conduct](https://github.com/dapr/community/blob/master/CODE-OF-CONDUCT.md)
45 changes: 45 additions & 0 deletions docs/development/release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@

# Release Guide

This document describes how to release Dapr CLI along with associated artifacts.

## Prerequisites

Only the repository maintainers and release team are allowed to execute the below steps.

## Pre-release build

Pre-release build will be built from `release-<major>.<minor>` branch and versioned by git version tag suffix e.g. `-rc.0`, `-rc.1`, etc. This build is not released to users who use the latest stable version.
**Pre-release process**
1. Create a PR to update the `Dapr runtime` and `Dapr dashboard` pre-release versions in workflow and tests files wherever applicable, and merge the PR to master branch. For example, please take a look at this PR - https://github.com/dapr/cli/pull/1019. Please note that this PR is just for reference and only reflects the absolute minimum number of file changes. These versions update could lead to some other changes also.

2. Create branch `release-<major>.<minor>` from master and push the branch. e.g. `release-1.11`. You can use the github web UI to create the branch or use the following command.

```sh
$ git checkout master && git reset --hard upstream/master && git pull upstream master
$ git checkout -b release-1.11
$ git push upstream release-1.11
```
3. Add pre-release version tag (with suffix -rc.0 e.g. v1.11.0-rc.0) and push the tag.

```sh
$ git tag "v1.11.0-rc.0" -m "v1.11.0-rc.0"
$ git push upstream v1.11.0-rc.0

```
4. CI creates the new build artifacts.
5. Test and validate the functionalities with the specific version.
6. If there are regressions and bugs, fix them in release-* branch. e.g `release-1.11` branch.
7. Create new pre-release version tag (with suffix -rc.1, -rc.2, etc).
8. Repeat from 5 to 7 until all bugs are fixed.


## Release the stable version to users

> **Note**: Make sure stable versions of `dapr runtime` and `dapr dashboard` are released before releasing the CLI and update their references in workflow and tests files wherever applicable.
Once all bugs are fixed, stable version can be released. Create a new git version tag (without the suffix -rc.x e.g. v1.11.0) and push the tag. CI will create the new build artifacts and release them.

## Release Patch version

Work on the existing `release-<major>.<minor>` branch to release a patch version. Once all bugs are fixed, create a new patch version tag, such as `v1.11.1-rc.0`. After verifying the fixes on this pre-release, create a new git version tag such as `v1.11.1` and push the tag. CI will create the new build artifacts and release them.

0 comments on commit 31b9ea2

Please sign in to comment.