From 9cc7e8ce3770d59f0028bfc6c83a0a206db6f514 Mon Sep 17 00:00:00 2001 From: Colm Bhandal Date: Mon, 16 Oct 2023 16:02:44 +0100 Subject: [PATCH] Contributing file (#95) * Contributing file * Update CONTRIBUTING.md Co-authored-by: Orfeas Kourkakis --------- Co-authored-by: Orfeas Kourkakis --- CONTRIBUTING.md | 64 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..08572db --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,64 @@ +# Contributing + +## Overview + +This document outlines the processes and practices recommended for contributing enhancements to `metacontroller-operator`. + +## Talk to us First + +Before developing enhancements to this charm, you should [open an issue](/../../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 [MLOps Mattermost public channel](https://chat.charmhub.io/charmhub/channels/mlops-documentation) or on [Discourse](https://discourse.charmhub.io/). + +## Pull Requests + +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. + +All pull requests require review before being merged. Code review typically examines: + - code quality + - test coverage + - user experience for Juju administrators of this charm. + +## Recommended Knowledge + +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. + +## Build Charm + +To build `metacontroller-operator` run: + +```shell +charmcraft pack +``` + +## Developing + +You can use the environments created by `tox` for development. For example, to load the `unit` environment into your shell, run: + +```shell +tox --notest -e unit +source .tox/unit/bin/activate +``` + +### Testing + +Use tox for testing. For example to test the `integration` environment, run: + +```shell +tox -e integration +``` + +See `tox.ini` for all available environments. + +### Deploy + +```bash +# Create a model +juju add-model dev +# Enable DEBUG logging +juju model-config logging-config="=INFO;unit=DEBUG" +# Deploy the charm +juju deploy ./metacontroller-operator_ubuntu-20.04-amd64.charm --trust +``` + +## Canonical Contributor Agreement + +Canonical welcomes contributions to this charm. Please check out our [contributor agreement](https://ubuntu.com/legal/contributors) if you're interested in contributing. \ No newline at end of file