Contributing to the project
Contributing to the opsdroid ecosystem is strongly encouraged. You can do this by creating modules to be used by opsdroid or by contributing to the project itself.
Workflow
All contributors to the project, including jacobtomlinson, contribute using the following process:
- Fork the main project to your own account
- Work on your changes on a feature branch
- Create a pull request back to the main project
- Tests and test coverage will be checked automatically
- A project maintainer will review and merge the pull request
Developing
# clone the repo
git clone https://github.com/opsdroid/opsdroid.git
cd opsdroid
# install project dependancies
pip install -r requirements.txt
# run opsdroid
python -m opsdroid
Running the tests
# install test runner
pip install -U tox
# run tests
tox
Developing in containers
Developing in containers can be a great way to ensure that opsdroid will run in a clean python environment and that all dependancies are captured.
# build the container
docker build -t opsdroid/opsdroid:myfeature .
# run opsdroid
docker run --rm -ti -v $(pwd):/usr/src/app opsdroid/opsdroid:myfeature
Running the tests
# run tests
docker run --rm -ti -v $(pwd):/usr/src/app opsdroid/opsdroid:myfeature tox