-
Notifications
You must be signed in to change notification settings - Fork 10
Examplary Workflow
This guide is aimed at developers that do not have their programming workflow in place yet. Still, it is also interesting for developers interested in the workflows of their co-contributors.
Developing the code further should always be based on an existing issue (a task). If that does not exist, create a new issue describing the feature that you want to integrate. This will give you a platform to discuss your changes with others. Assign yourself (your github account) to the issue.
Solve your issue in-code. Don't forget commenting and avoid addressing too many issues at once, as to keep the readability of the code high. Ideally, you also write tests (pytests) to test the feature that you are adding.
You should often re-run the tool or smaller batches of your code to track it's performance.
Write commit messages (compare CONTRIBUTING.md) for small, working batches of your code. This will make it easier for reviewers to assess the code you provide to the project. A good tool to write commit messages is [GitCola](https://git-cola.github.io/].
To check if existing tests
When your feature is ready and all test run through, extend the CHANGELOG.mg:
[Future release 0.0.x] Added:
- [Your added feature and added files] Changed:
- [Your changes of existing code] Removed:
- [Your removed files or features]
Then, push your feature to github. Always push to the developer branch (dev) and name the feature using following scheme: 'feature_name_description'. Describe what you did.
Your feature now appears as a branch on github:
Create a pull request to merge your feature into the dev branch. In the description you can copy the above added changes that apply to your feature. Also add the issue that your feature closes.
Automatically, the included tests will be run to check if the new feature messes up the dev branch.
This is an error message that can occur:
You can also check which of the tests failed for your code. You then have to address the tests and change your code. Simply push to your branch 'feature_name_description' and the pull request will be updated.
Here is an example of travis running through successfully:
Now, another developer can review the code and either accept it or enquire edits.
At the and, the other developer will merge your feature into the dev branch.
After the pull request is closed, you should delete the branch 'feature_name_description' to keep the github repro clean.