How to contribute
This document explains the processes and practices recommended for contributing enhancements to the IRC Bridge operator.
Overview
- Generally, before developing enhancements to this charm, you should consider opening an issue explaining your use case.
- If you would like to chat with us about your use-cases or proposed implementation, you can reach us at Canonical Matrix public channel or Discourse.
- Familiarizing yourself with the Charmed Operator Framework library will help you a lot when working on new features or bug fixes.
- All enhancements require review before being merged. Code review typically
examines
- code quality
- test coverage
- user experience for Juju operators of this charm.
- Please help us out in ensuring easy to review branches by rebasing your pull
request branch onto the
mainbranch. This also avoids merge commits and creates a linear Git commit history.
Developing
The code for this charm can be downloaded as follows:
git clone https://github.com/canonical/irc-bridge-operator
You can use the environments created by tox for development:
tox --notest -e unit
source .tox/unit/bin/activate
Testing
The following commands can be used to run the tests:
tox: Runs all of the basic checks (lint,unit,static, andcoverage-report).tox -e fmt: Runs formatting usingblackandisort.tox -e lint: Runs a range of static code analysis to check the code.tox -e static: Runs other checks such asbanditfor security issues.tox -e unit: Runs the unit tests.tox -e integration: Runs the integration tests.
Changelog
Please ensure that any new feature, fix, or significant change is documented by
adding an entry to the docs/CHANGELOG.md file.
To learn more about changelog best practices, visit Keep a Changelog.
Build charm
Build the charm in this git repository using:
charmcraft pack
Deploy
Refer to the README.md file.
Canonical contributor agreement
Canonical welcomes contributions to the Synapse Operator. Please check out our contributor agreement if you’re interested in contributing to the solution.