Contributing to tsuru¶
We really are open to any contributions, in the form of code, documentation, feature proposal etc.
You can add an issue in our bug tracker.
Fixing typos and enhancing the documentation¶
Don’t hesitate to contribute any rephrasing or enhancement in the documentation.
tsuru documentation is written using Sphinx, which uses RST.
Check out these documentation tools to learn how to write and update the documentation.
In order to build the HTML docs, just run in a terminal window:
$ make doc
Adding new features¶
New features are of course very much appreciated. If you have the need and the time to work on new features, adding them to tsuru shouldn’t be that complicated. We tried to have a clean and understandable API, hope it serves the purpose.
Make sure your patches are well tested and documented.
- Push your changes to a topic branch in your fork of the repository.
- Submit a pull request to the repository in the tsuru organization.
Before proposing your changes check that they are not breaking anything! You can run the tests to ensure this.
See this guide to to setup a development environment using Vagrant.
And follow our coding style guide.
Running the tests¶
You can use make to install all tsuru dependencies and run tests. It will also check if everything is ok with your GOPATH setup:
Please ensure that MongoDB and Redis are started before running the test suite. If you see some test failures with messages like “dial tcp 127.0.0.1:6379: connection refused” and “no reachable server”, the most likely reason is that these services are not running.
If you just want to run the tests you can use make test.
$ make test
tsuru major releases are guided by GitHub milestones. New releases should be generated by make release version=new-version-number.
If you find yourself in need of any help while looking at the code, you can go and find us on Gitter.
You can also start a thread in our mailing list - https://groups.google.com/forum/?fromgroups#!forum/tsuru-users