diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2969183..dc182ad 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,25 @@ # Contributing -To make contributions to this charm, you'll need a working [development setup](https://juju.is/docs/sdk/dev-setup). +## Overview + +This documents explains the processes and practices recommended for contributing enhancements to +this operator. + +- Generally, before developing enhancements to this charm, you should consider [opening an issue + ](https://github.com/jnsgruk/zinc-k8s-operator/issues) 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 Mattermost public channel](https://chat.charmhub.io/charmhub/channels/charm-dev) + or [Discourse](https://discourse.charmhub.io/). +- Familiarising yourself with the [Charmed Operator Framework](https://juju.is/docs/sdk) 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 administrators this charm. +- Please help us out in ensuring easy to review branches by rebasing your pull request branch onto + the `main` branch. This also avoids merge commits and creates a linear Git commit history. + +## Developing You can use the environments created by `tox` for development: @@ -9,20 +28,18 @@ tox --notest -e unit source .tox/unit/bin/activate ``` -## Testing - -This project uses `tox` for managing test environments. There are some pre-configured environments -that can be used for linting and formatting code when you're preparing contributions to the charm: +### Testing ```shell tox -e fmt # update your code according to linting rules tox -e lint # code style tox -e unit # unit tests +tox -e scenario # scenario tests tox -e integration # integration tests -tox # runs 'lint' and 'unit' environments +tox # runs 'lint', 'scenario' and 'unit' environments ``` -## Build the charm +## Build charm Build the charm in this git repository using: @@ -30,4 +47,14 @@ Build the charm in this git repository using: charmcraft pack ``` -