New enthusiastic contribution guide based on Audreyr's cookiecutter-pypackage
Audrey's code is BSD, so there should be no problem with licensing. I've covered: * contribution types (with hints) * steps to start with pytest development * testing pytest * basics of hg --HG-- branch : contributiondocs
This commit is contained in:
parent
2539e5a352
commit
5240252164
|
@ -16,7 +16,7 @@ Full pytest documentation
|
|||
plugins
|
||||
example/index
|
||||
talks
|
||||
develop
|
||||
contribute
|
||||
funcarg_compare.txt
|
||||
announce/index
|
||||
|
||||
|
|
|
@ -0,0 +1,122 @@
|
|||
.. _contributing:
|
||||
|
||||
============
|
||||
Contributing
|
||||
============
|
||||
|
||||
Contributions are highly welcomed and appreciated. Every little help counts,
|
||||
so do not hesitate!
|
||||
|
||||
Types of contributions
|
||||
======================
|
||||
|
||||
Submit feedback for developers
|
||||
------------------------------
|
||||
|
||||
Do you like py.test? Share some love on Twitter or in your blog posts!
|
||||
|
||||
We'd also like to hear about your propositions and suggestions. Feel free to
|
||||
submit them as issues `here <https://bitbucket.org/hpk42/pytest/issues>`__ and:
|
||||
|
||||
* Set the "kind" to "enhancement" or "proposal" so that we can quickly find
|
||||
about them.
|
||||
* Explain in detail how they should work.
|
||||
* Keep the scope as narrow as possible. This will make it easier to implement.
|
||||
* If you have required skills and/or knowledge, you can always contribute to
|
||||
these issues!
|
||||
|
||||
Report bugs
|
||||
-----------
|
||||
|
||||
Report bugs at https://bitbucket.org/hpk42/pytest/issues.
|
||||
|
||||
If you are reporting a bug, please include:
|
||||
|
||||
* Your operating system name and version.
|
||||
* Any details about your local setup that might be helpful in troubleshooting,
|
||||
specifically Python interpreter version,
|
||||
installed libraries and py.test version.
|
||||
* Detailed steps to reproduce the bug.
|
||||
|
||||
Fix bugs
|
||||
--------
|
||||
|
||||
Look through the BitBucket issues for bugs. Here is sample filter you can use:
|
||||
https://bitbucket.org/hpk42/pytest/issues?status=new&status=open&kind=bug
|
||||
|
||||
:ref:'Talk <contact>' to developers to find out how you can fix specific bugs.
|
||||
|
||||
Implement features
|
||||
------------------
|
||||
|
||||
Look through the BitBucket issues for enhancements. Here is sample filter you
|
||||
can use:
|
||||
https://bitbucket.org/hpk42/pytest/issues?status=new&status=open&kind=enhancement
|
||||
|
||||
:ref:'Talk <contact>' to developers to find out how you can implement specific
|
||||
features.
|
||||
|
||||
Write documentation
|
||||
-------------------
|
||||
|
||||
py.test could always use more documentation. What exactly is needed?
|
||||
|
||||
* More complementary documentation. Have you perhaps found something unclear?
|
||||
* Documentation translations. We currently have English and Japanese versions.
|
||||
* Docstrings. There's never too much of them.
|
||||
* Blog posts, articles and such -- they're all very appreciated.
|
||||
|
||||
Getting started for contributing
|
||||
================================
|
||||
|
||||
1. Fork the py.test repository on BitBucket.
|
||||
.. _checkout:
|
||||
2. Clone your fork locally::
|
||||
|
||||
$ hg clone ssh://hg@bitbucket.org/your_name_here/pytest
|
||||
|
||||
3. Install your local copy into a virtualenv. Assuming you have
|
||||
``virtualenvwrapper`` (http://virtualenvwrapper.readthedocs.org) installed::
|
||||
|
||||
$ mkvirtualenv pytest
|
||||
$ cd pytest/
|
||||
$ python setup.py develop
|
||||
|
||||
If that last command complains about not finding the required version
|
||||
of "py" then you need to use the development pypi repository::
|
||||
|
||||
$ python setup.py develop -i http://pypi.testrun.org
|
||||
|
||||
4. Create a branch for local development::
|
||||
|
||||
$ hg branch name-of-your-bugfix-or-feature
|
||||
|
||||
Now you can make your changes locally.
|
||||
|
||||
5. When you're done making changes, check that all of them pass all the tests
|
||||
(including PEP8 and different Python interpreter versions). It's as simple
|
||||
as issuing this one command::
|
||||
|
||||
$ tox
|
||||
|
||||
The least minimum of required Python tests to pass is Python 2.7 and
|
||||
Python 3.3::
|
||||
|
||||
$ tox -e py27,py33
|
||||
|
||||
If you don't seem to have ``tox`` installed, issue this from inside your
|
||||
virtualenv::
|
||||
|
||||
$ pip install tox
|
||||
|
||||
You also need to have Python 3.3 and 2.7 available in your system.
|
||||
|
||||
6. Commit your changes and push your branch to BitBucket::
|
||||
|
||||
$ hg add .
|
||||
$ hg commit
|
||||
$ hg push --new-branch -r .
|
||||
|
||||
7. Submit a pull request through the BitBucket website.
|
||||
|
||||
.. include:: links.inc
|
Loading…
Reference in New Issue