-
Notifications
You must be signed in to change notification settings - Fork 8
Steps for releases #23
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
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -157,3 +157,31 @@ This section applies to Solidity and JavaScript projects alike. | |
| [soliumrc]: ./.soliumrc.json | ||
| [travisci]: https://travis-ci.org/ | ||
| [webpack]: https://webpack.js.org/ | ||
|
|
||
| ## Release Process | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Did you have any thoughts on the time/interval aspect proposed in #14? Certain things that must be true in relation to the sprint?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I was thinking that we can design our sprints in such a way that after every couple of sprints, we release alpha/beta versions. |
||
|
|
||
| * First version to be released is alpha version, followed by beta version. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could you propose definitions or some other way(s) to distinguish
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Alpha release should be done when the feature we are
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So we can only have a release when we can rule out the possibility of having a bug? 🧐
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @gulshanvasnani: perhaps it would be useful to distinguish between a tag and a release (tag without pre-release identifiers like So, perhaps the following changes:
@schemar: I expect we only release when we have high confidence there are no bugs (that are critical and that we intend to fix before releasing), but we tag as appropriate to reflect the contents and/or understanding of the commit per our guidelines. All releases include tags but not all tags are part of releases. Thoughts? |
||
| * Naming convention followed for alpha and beta version is `x.y.z-alpha.alphaversion` and `x.y.z-beta.betaversion`. The value of alpha version/beta version should be incremental starting from 1. | ||
| **Example :** | ||
|
|
||
| 1. Consider the version to be released is 0.9.0. If we want to release alpha version for it, then the name of the version should be 0.9.0-alpha.1 and if we want to release beta version then the name for it should be 0.9.0-beta.1 . | ||
|
|
||
| * Naming convention for hotfix branch should be hotfix-x.y.z where x.y represents the release version number where the bug is found and z represents incremental patch version for the release starting from 1. | ||
| * Branching should accord with Gitflow. | ||
|
|
||
| 1. For each version to be released(except hotfix release), below steps should be followed : | ||
jasonklein marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| * Create branch release-x.y, where x and y represents the version numbers, from develop. | ||
jasonklein marked this conversation as resolved.
Show resolved
Hide resolved
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What are your thoughts on what determines moving from
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should create |
||
| * Create a tag from release-x.y. If alpha/beta version is to be released then the tag name should include alpha/beta as per the naming convention mentioned. | ||
| * Integrate and test the alpha/beta version in [JLP](https://github.com/OpenST/JLP). | ||
| * Organise external security audits, once everything in integration works fine. | ||
| * Release which have been reviewed by external auditor, a rcversion for it should be released. Naming convention for rcversion is `x.y.z-rc.rcversion`. The value of `rcversion` is incremental starting from 1. | ||
| * We should then merge the branch release-x.y to develop and master branches. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you provide some thoughts on how we decide to go from
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. All the issues raised by auditors are addressed and testing is done, then we should merge
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
@gulshanvasnani: works for me, except I would narrow the scope from "all the issues" raised by auditors to those issues raised by auditors that we have decided to address in the given release. |
||
| * To release-x.y, create a tag named as x.y.0 and also write the release notes. | ||
|
|
||
| 2. For each hotfix version to be released, below steps should be followed : | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As above, please note that branching should align with Gitflow. |
||
| * Create a branch from master if the bug is in the current released version.Otherwise create a branch from the tag where the bug is found. Name of the branch should be as mentioned above. | ||
| * Commit the fix to the hotfix branch. | ||
| * After committing, test the hotfix in [JLP](https://github.com/OpenST/JLP). | ||
| * Merge the hotfix branch to master and develop. If the release branch currently exists, then the hotfix branch should be merged into that release branch instead of develop. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are you able to define what goes into I would suggest defining it earlier than L184, but my comment is here because it's the merging directly to
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. When a bug is found in current release of the product then to provide a fix to it, we should release a hotfix. It should be merged to master directly to avoid it accidentally getting lost during upcoming releases. |
||
| * Create a tag from master and write release notes. Tag naming convention should be as per [semver](https://semver.org/). | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please move the release process section above the reference link definitions—we want the link definitions to stay at the bottom of the doc.