Skip to content

Contribution

Luis Rivera edited this page Jun 24, 2020 · 7 revisions

For those team members willing to contribute, make sure you understand the content hereby explained before doing anything.

Branch Naming Convention

All development branches are to be named dev-* where * shall be replaced by the branch name. The branch name shall reflect what the branch was created for or intended to be worked on (defect/bug fix, addition, enhancement, etc.).

Examples:

Branch Purpose Bad Name Good Name
Create a new LASSO module dev-add-module dev-add-lasso-module
Fix bug in P-values module's function dev-fix-bug dev-fix-pvalues-bug
Refactor Logistic Regression module dev-change-lr dev-refactor-lr-module

Remember, explicit is better than implicit (add, fix, refactor, bug/defect, improve/enhance).

How-to Contribute

  1. Create a local branch
  2. Create/modify unit test cases
  3. Add/commit software changes
  4. Run unit test cases
    • Back to step 2 upon failures
  5. Push local branch to remote repository
    • git push origin dev-*
  6. Create a new pull request
    • base: master branch
    • compare: dev-* branch
  7. Assign reviewers to the pull request to receive feedback

Note: * shall be replaced by the branch name.

Pull Requests

  1. Implement changes requested
    • As agreed on per team discussions
  2. Run unit test cases
    • Back to step 1 upon failures
  3. Push new changes implemented
  4. Repeat steps 1-3 until team agreement
  5. Run unit test suite from dev-* branch
    • All tests must pass
  6. If test suite passes, approve review
    • Back to step 1 upon failures
  7. Merge changes in dev-* to master branch

Note: * shall be replaced by the branch name.

Clone this wiki locally