3. Mamba’s 12 steps workflow

This is the general process for commiting code into the master branch of Mamba project. There are exceptions to this general workflow for example for security or critical bug fixes, minor changes to documentation and typo fixes or fix a broken build.

All the development workflow is performed in the Mamba’s GitHub project site.

  1. When you are going to start to work in a fix or a feature you have to make sure of
    1. Make sure there is already an open issue about the code you are going to submit. If not, create it yourself.
    2. The issue has been discussed and approved by the mamba’s development team.
    3. If the fix or feature affects the mamba core, make sure a mamba core developer is working (or is going to) with you in the integration of the code into mamba.
  2. You should perform your work in your own fork.

  3. You have to do it into a new branch.

  4. Make sure your fork is synced with the last in-development version and your branch is rebased if needed.

  5. Make sure you add an entry about the new fix/feature that you introduced on Mamba into the relnotes index file.

  6. Make sure you add whatever documentation that is needed following the documentation for the project, thank you very much, we really appreciate it. Mamba uses the Sphinx documentation syntax.

  7. Make sure you reference the issue or issues that your changes affects in your commit message so we can just track the code from the issues panel.

  8. When your work is complete you should send a Pull Request on GitHub

  9. Your pull request will be then reviewed by Mamba developers and other contributors.

  10. If there are issues with your code in the review, you should fix them and pushing your changes for new review (make sure you add a new comment in the pull request issue thread as GitHub doesn’t alert anyone about new commits added into a pull request).

  11. When the review finishes, a core developer will merge your contribution into the master branch.

  12. Goto step 1