-
Notifications
You must be signed in to change notification settings - Fork 1
Build processes
The version number of SM-VSiX consists of four parts according to the following scheme <major>.<minor>.<issue>.<revision>.
It is an integer greater or equal to zero. Increasing when a new major release is published (i.e., when changes of develop branch are propagated to master branch).
It is an integer greater or equal to zero. Increasing when a new feature or fix is merged into the current develop branch.
It is an integer greater or equal to zero. It always equals to a number of an existing issue (either open or closed) or it is zero if there is no relevant issue.
It is an integer greater or equal to zero. Increasing when a new version of the current feature branch is shipped to testing.
Contains the current stable version of SM-VSiX. Just the lead developer allowed to push changes.
Intermediate branch used to mitigate changes from develop to master branch. Just the lead developer allowed to push changes. Just the lead developer allowed to push changes.
Contains the current development version (which does not contain incomplete features). All developers allowed to push changes.
Its the common name for several branches, named according to the following scheme feature/<username>/<issue>/<title>. The <username> will be the ID of the user who is responsible to solve the related issue. All developers allowed to push changes, but only <username> allowed and obligated to merge it into the develop branch.
Your current branch is the develop branch.
- If there is not an issue describing the new feature create one.
- Move the issue to ~doing column.
- Create a new
featurebranch with your user name as the responsible developer and the issue number. - Begin implementing the new feature.
Your current branch is a feature branch. <version> note the whole version number.
- Try the new feature and if it not works, fix it.
- Clean up your source code.
- Write or expand the relevant section in the documentation which describes how to use the new feature.
- Commit your changes and push your
featurebranch. - Increase the
<revision>number by 1. - Set
<issue>number to the current feature-issue. - Build a new binary version of SM-VSiX and name it according to the following scheme
sm-vsix_<version>.vsix - Build a new PDF file from the documentation and name it according to the following scheme
ug_sm-vsix_<version>.pdf - Mark the current commit on the
featurebranch with the tagV<version>(and push it). - Attach the binary and the PDF file to the release associated with the tag.
- Insert the URL to the release into the related issue and the id of relevant sections of the documentation as a comment.
- Move the related issue into the ~"to test" column.
- Choose at least one issue labeled ~bug which is related to your feature located in the ~"to do" column. (The description of the issue will specify the version.)
- For each, all related issue labeled ~bug
- Move the bug-issue to ~doing column.
- Implement the fix.
- Goto Finish a new feature implementation
- Goto Finish new feature development
- If related feature-issue is in not ~"to publish" column, wait.
- If there is any related issue labeled ~bug, goto Fixing new features
- Pull the
developbranch. - Merge your
featurebranch intodevelopbranch with no-commit option. - Resolve any problems.
- Try the new feature and if it not works, fix it.
- Clean up your source code.
- Increase the
<minor>version by 1. - Reset
<issue>and<revision>number to 0. - Commit your changes (conclude your merge).
- Push the
developbranch. - Remove both local and remote
featurebranch. - Close your feature-issue.