Skip to content

Commit ff21029

Browse files
authored
Updated RELEASE docs (frain-dev#894)
* [skip ci] updated RELEASE docs * [skip ci] fixed grammatical errors
1 parent c529688 commit ff21029

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

RELEASE.md

+14-4
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@ We maintain a separate branch for each minor release, named `release-<major>.<mi
1414

1515
Note that branch protection kicks in automatically for any branches whose name starts with `release-`. Never use names starting with `release-` for branches that are not release branches.
1616

17-
The usual flow is to merge new features and changes into the main branch and to merge bug fixes into the latest release branch. Bug fixes are then merged into main from the latest release branch. The main branch should always contain all commits from the latest release branch. As long as main hasn't deviated from the release branch, new commits can also go to main, followed by merging main back into the release branch.
18-
19-
If a bug fix got accidentally merged into main after non-bug-fix changes in main, the bug-fix commits have to be cherry-picked into the release branch, which then have to be merged back into main. Try to avoid that situation.
17+
- Every new feature and change should be merged into the main branch with the exception of bug fixes. This can be managed in two different ways:
18+
- Bug fixes that need to exist on the release branches should be merged to main and backported to the release branch.
19+
- Bug fixes that need not exist on main should be merged to the release branch only.
20+
- During a release, the release manager will ensure no PR is forgotten in the release branch.
21+
- In principle, we treat the main branch and release branches as divergent branches. All commits to main need not exist on the release branch and vice versa. The process above is to help to implement this principle. In cases, where it is not as straightforward to resolve, the release manager will direct based on their best sense of judgement.
2022

2123
Maintaining the release branches for older minor releases happens on a best effort basis.
2224

@@ -39,7 +41,7 @@ later follow-up.
3941

4042
TBD.
4143

42-
#### Updating React dependencies
44+
#### Updating Angular dependencies
4345

4446
TBD.
4547

@@ -86,3 +88,11 @@ Once a tag is created, the release process through Github actions will take care
8688
TODO: A missing step here which should be later automated. A release needs to be created before the assets can be uploaded to match the tag. :)
8789

8890
Finally, wait for the build step for the tag to finish. The point here is to wait for tarballs to be uploaded to the Github release and the container images to be pushed to the Docker Hub and Quay.io. Once that has happened, click _Publish release_, which will make the release publicly visible and create a GitHub notification.
91+
92+
## Release Manager
93+
The release manager is the individual responsible for the release. The following are the responsibilities of the release manager:
94+
95+
- Decides what goes into the release and what doesn't go into the release using their best sense of judgement. He/She should ensure that features well tested and only well tested features are released.
96+
- Before every release minor or major release, ensure all commits have been properly cherry-picked or backported.
97+
- Ensure Changelog is up to date in a user readable format. That is, Changelog should be written with the end-user perspective in mind, not blindly copying commit messages.
98+
- Ensure website is up to date with release documentation.

0 commit comments

Comments
 (0)