-
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
feature
branch 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
feature
branch. - 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
feature
branch 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
develop
branch. - Merge your
feature
branch intodevelop
branch 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
develop
branch. - Remove both local and remote
feature
branch. - Close your feature-issue.