Overview¶
A maintainer should be polite and respectful towards every member of the community in order to make opsdroid a great project for both newbies and veterans in open source.
Responsibilities
Responding to issues and PRs (even just to say thanks and we’ll look into it)
Reviewing and merging Pull Requests
Providing support on matrix
Engaging in discussions on how to grow and shape opsdroid
Promote the project (blogging, tweeting, speaking at events, etc)
Make regular contributions and tackle old issues
Other important things
Jacob, the creator of opsdroid, is the one to cut releases for now
If in doubt about a PR please mention @opsdroid/maintainers and ask for a review
Reviewing and Merging Pull Requests¶
As a maintainer one of the tasks that you have to take on will be reviewing pull requests and merge them if it meets the criteria.
Criteria for merging a PR
You didn’t write it yourself
The PR template criteria are met (has tests, is documented, etc)
The existing tests pass and coverage remains the same
It is related to an open issue
It moves us towards our core aims
Depending on the pull request, coverage might drop a bit. If that is the case, as a maintainer you should ask that a test is created to bump the coverage back up. You might need to give some guidance as to how to properly test the code in the PR.
If a PR is not related to an open issue, then it’s a proposal for the project. Jacob, the creator of opsdroid, and the community should give feedback and discuss the Pull Request either in the PR itself, an issue or in the Matrix channel.
When merging a PR into opsdroid main branch you should take a few things into consideration.
Use Squash and Merge option when merging a PR into opsdroid’s master branch
The title of the merge will be included in the release notes of a new opsdroid version, so the title should make sense.
Remove unnecessary stuff from the description. If it takes 4 commits to get the tests to pass those lines should be deleted.
Updating Requirements¶
Pyup-bot will check for new versions of the modules needed to run opsdroid that can be found on the requirements.txt when a new version is released, pyup-bot will automatically create the PR to update the modules.
Pyup-bot pull requests should be treated like any other pull request when merging them into opsdroid’s master branch. As long the tests pass, you can squash and merge the PR into the master branch.
Maintainer scripts¶
This project contains a directory called scripts
which are simple python scripts for use by maintainers when working on opsdroid. Each directory contains the script itself, a README and other supporting files. See the individual README files for more information.
These scripts may have dependencies so you should run pip install -r requirements_dev.txt
from the root of the project.