Development¶
Obtaining a source checkout¶
Our Git repository is maintained on Github at pyinvoke/invoke. Please follow their instructions for cloning (or forking, then cloning, which is best if you intend to contribute back) the repository there.
Once downloaded, install the repo itself + its development dependencies by
running pip install -r dev-requirements.txt
.
Submitting bug reports or patches¶
We follow contribution-guide.org for all of our development - please go there for details on submitting patches, which branch(es) to work out of, and so on. Our issue tracker is on our GitHub page.
Changelog location¶
Invoke’s changelog lives in sites/www/changelog.rst
and is formatted
using the Releases Sphinx plugin.
Running management tasks¶
Invoke uses itself for project management and has a number of tasks you can
see with inv --list
. Some specific tasks of note:
test
andintegration
: Runs the primary and integration test suites, respectively. (Most of the time you can ignoreintegration
- it’s mostly for use by CI systems or once-in-a-while sanity checks locally.)
www
anddocs
(and their subtasks likedocs.browse
): Builds the WWW site and the API docs, respectively.
Another good resource is to skim our .travis.yml
file for the commands it
executes - if submissions don’t pass all of those commands to some degree, they
won’t pass Travis’ CI builds either!