winjob development occurs on github at: https://github.com/yahoo/winjob
If you want to contribute to winjob please work on a fork. If you do not understand what this means or this process seems overly complicated feel free to ask questions on the # channel or in the @yahoo-inc.com mailing list.
Prior to submitting a pull request, please complete a <a href="https://yahoocla.herokuapp.com/">Yahoo CLA agreement</a>.
Running and testing code requires installing winjob. It is recommended to do development against short lived branches.
Any changes to source code should be tested, both for regression and for validation of new code.
All tests can be run using the tox tool, install it using the command:
pip install tox
- Check for [pep8] conformance by running tox -e pep8 and correct any issues.
- Check for general python issues with [pylint] or [flake8]
- Working unit tests are required for all code that adds new functionality.
We recommend adding configuring your development forks in Travis CI so you can ensure your fork will automatically build correctly using the CI pipeline.
Any new change branches should build correctly using CI prior to being submitted for upstream inclusion. Local changes can be tested by running: tox in the git root directory.
To submit your code for inclusion upstream, do the following to ensure your submission only includes your new changes:
- Complete a Yahoo CLA.
- Perform a merge from the MASTER branch of the main redislite repository into your fork. This will ensure your pull request only includes your changes and will allow you to deal with any upstream changes that affect your code.
- Clear up all PEP8 issues before submission. This will ensure your changesets only include code changes and not formatting changes.
- Clear up or document exceptions for all PyLint/Flake8 issues. This will ensure the evaluation and review of your code does not have common coding errors and decrease the human time to evaluate changes.
Please create documentation in the doc/
folder.
Documentation should all be written in [rst].
- Please attempt to follow [pep8] for all code submitted. This helps make
code merges smaller and more managable. * Please also attempt to run [pylint] all code submitted. This finds many common coding errors and helps ensure good code quality.
[pep8]: http://www.python.org/dev/peps/pep-0008/ [pylint]: http://pypi.python.org/pypi/pylint [markdown]: http://daringfireball.net/projects/markdown/ [rst]: http://docutils.sourceforge.net/docs/user/rst/quickstart.html