Development Pipeline
New Code / Major Bug Fixes / Refactoring
1. Create Branch
- Update development and/or feature branches to the latest version.
- Create Branch
- Feature branches are prefixed with
feature_
. - short and descriptive naming.
- Feature branches are prefixed with
2. Make Changes
- Make Changes
- Test
- Make and/or run unit tests.
- Commit
- Prefix the message with:
[CHANGE]
,[FIX]
or[WIP]
. - Split your work into small parts. Every part is a commit. If the lead developer notices a lack of commits action will be taken.
- Prefix the message with:
3. Push Changes
- Pull master for any changes.
- Rebase branch onto master.
- Squash any
[WIP]
commits.- Try to prevent submitting
[WIP]
commits to the feature branch.
- Try to prevent submitting
- Refactory if nessessary.
- Push changes/branch up to Github.
4. Pull Request
- Open pull request into the
development branch
. (Tutorial)- Describe changes in detail.
- Add a bullet point changelog. (No need to prefix.)
- The build server runs the pull request.
5. Code Review
- Other devs should review code and leave suggestions. (Tutorial)
- No overly complex or clever code.
- Check for potential issues.
- Architectural improvements.
- Code is properly abstracted.
- Consider potential tests.
- Code author is responsible for making any changes
- Commit process follows the same process.
- At least 2 reviewers should approve the code.
- Leave a comment with an emoji thumbs up.
- Briefly explain why it is okay.
Minor Bug Fixes
- Update development and/or feature branches to the latest version.
- Checkout your target branch.
- Make Changes
- Commit Changes
- Prefix the message with:
[FIX]
.
- Prefix the message with:
- Push Changes
Other Notes
Exceptional Work
Exceptional code will be show cased and discussed during a meeting to both reward the author and educate the other programmers.
Broken Builds
When a build breaks there will be a public message in Discord noting who broke it. This is not to punish people but to ensure there is always some one who knows who to contact when the build is broken and or go to him/her to help fix it.
No action will be taken against people who brake the build. However if it becomes a regular occurrence for an individual this will change. Action would vary case by case and is performed by the lead programmer.