Development
Pull Requests
Submit Pull Requests against the develop branch.
Provide a good description of what you’re doing and why.
Provide tests that cover your changes and try to run the tests locally first.
Automated Testing
All pull requests and merges to ‘develop’ branch are tested in Travis based on our .travis.yml file.
Usually, a link to your specific travis build appears in pull requests, but if not, you can find it on our travis pull requests page
The only way to trigger Travis to run again for a pull request, is to submit another change to the pull branch.
We also have Jenkins CI that runs regularly for certain python versions on windows and centos.
Running tests
OS Requirements: subversion, bazaar, git, and mercurial.
Python Requirements: tox or pytest, virtualenv, scripttest, and mock
Ways to run the tests locally:
$ tox -e py33 # The preferred way to run the tests, can use pyNN to # run for a particular version or leave off the -e to # run for all versions. $ python setup.py test # Using the setuptools test plugin $ py.test # Using py.test directly $ tox # Using tox against pip's tox.ini
Getting Involved
The pip project welcomes help in the following ways:
- Making Pull Requests for code, tests, or docs.
- Commenting on open issues and pull requests.
- Helping to answer questions on the mailing list.
If you want to become an official maintainer, start by helping out.
Later, when you think you’re ready, get in touch with one of the maintainers, and they will initiate a vote.
Release Process
This process includes virtualenv, since pip releases necessitate a virtualenv release.
As an example, the instructions assume we’re releasing pip-1.4, and virtualenv-1.10.
- Upgrade setuptools, if needed:
- Upgrade setuptools in
virtualenv/develop
using the Refresh virtualenv process.- Create a pull request against
pip/develop
with a modified.travis.yml
file that installs virtualenv fromvirtualenv/develop
, to confirm the travis builds are still passing.
- Create Release branches:
- Create
pip/release-1.4
branch.- In
pip/develop
, changepip.version
to ‘1.5.dev1’.- Create
virtualenv/release-1.10
branch.- In
virtualenv/develop
, changevirtualenv.version
to ‘1.11.dev1’.
- Prepare “rcX”:
- In
pip/release-1.4
, changepip.version
to ‘1.4rcX’, and tag with ‘1.4rcX’.- Build a pip sdist from
pip/release-1.4
, and build it intovirtualenv/release-1.10
using the Refresh virtualenv process.- In
virtualenv/release-1.10
, changevirtualenv.version
to ‘1.10rcX’, and tag with ‘1.10rcX’.
- Announce
pip-1.4rcX
andvirtualenv-1.10rcX
with the RC Install Instructions and elicit feedback. - Apply fixes to ‘rcX’:
- Apply fixes to
pip/release-1.4
andvirtualenv/release-1.10
- Periodically merge fixes to
pip/develop
andvirtualenv/develop
- Repeat #4 thru #6 if needed.
- Final Release:
- In
pip/release-1.4
, changepip.version
to ‘1.4’, and tag with ‘1.4’.- Merge
pip/release-1.4
topip/master
.- Build a pip sdist from
pip/release-1.4
, and load it intovirtualenv/release-1.10
using the Refresh virtualenv process.- Merge
vitualenv/release-1.10
tovirtualenv/develop
.- In
virtualenv/release-1.10
, changevirtualenv.version
to ‘1.10’, and tag with ‘1.10’.- Merge
virtualenv/release-1.10
tovirtualenv/master
- Build and upload pip and virtualenv sdists to PyPI.
Refresh virtualenv
- Update the embedded versions of pip and setuptools in
virtualenv_support
. - Run
bin/rebuild-script.py
to rebuild virtualenv based on the latest versions.
RC Install Instructions
$ curl -L -O https://github.com/pypa/virtualenv/archive/1.10rc1.tar.gz $ echo "<md5sum value> 1.10rc1.tar.gz" | md5sum -c 1.10rc1.tar.gz: OK $ tar zxf 1.10rc1.tar.gz $ python virtualenv-1.10rc1/virtualenv.py myVE $ myVE/bin/pip install SomePackage
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论