-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
2 changed files
with
150 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# Contributing | ||
|
||
## Overview | ||
|
||
This document outlines the processes and practices recommended for contributing enhancements to `jupyter_controller`. | ||
|
||
## 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 `jupyter_controller` run: | ||
|
||
```shell | ||
charmcraft pack | ||
``` | ||
|
||
## Developing | ||
|
||
You can use the environments created by `tox` for development. For example, to load the `lint` environment into your shell, run: | ||
|
||
```shell | ||
tox --notest -e lint | ||
source .tox/lint/bin/activate | ||
``` | ||
|
||
### Testing | ||
|
||
Use tox for testing. For example to test test, run: | ||
|
||
```shell | ||
tox -e test | ||
``` | ||
|
||
See `tox.ini` for all available environments. | ||
|
||
### Deploy | ||
|
||
```bash | ||
# Create a model | ||
juju add-model dev | ||
# Enable DEBUG logging | ||
juju model-config logging-config="<root>=INFO;unit=DEBUG" | ||
# Deploy the charm | ||
juju deploy ./jupyter_controller_ubuntu-20.04-amd64.charm \ | ||
--resource oci-image=$(yq '.resources."oci-image"."upstream-source"' metadata.yaml) | ||
``` | ||
|
||
## Updating the charm for new versions of the workload | ||
|
||
To upgrade the source and resources of this charm, you must: | ||
|
||
1. Bump the `oci-image` in `metadata.yaml` | ||
1. Update the charm source for any changes, such as: | ||
- YAML manifests in `src/` and/or any Kubernetes resource in `pod_spec` | ||
- New or changed configurations passed to pebble workloads or through `pod.set_spec` | ||
1. Ensure integration and unit tests are passing; fix/adapt them otherwise | ||
|
||
## 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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
# Contributing | ||
|
||
## Overview | ||
|
||
This document outlines the processes and practices recommended for contributing enhancements to `jupyter_ui`. | ||
|
||
## 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 `jupyter_ui` run: | ||
|
||
```shell | ||
charmcraft pack | ||
``` | ||
|
||
## Developing | ||
|
||
You can use the environments created by `tox` for development. For example, to load the `lint` environment into your shell, run: | ||
|
||
```shell | ||
tox --notest -e lint | ||
source .tox/lint/bin/activate | ||
``` | ||
|
||
### Testing | ||
|
||
Use tox for testing. For example to test test, run: | ||
|
||
```shell | ||
tox -e test | ||
``` | ||
|
||
See `tox.ini` for all available environments. | ||
|
||
### Deploy | ||
|
||
```bash | ||
# Create a model | ||
juju add-model dev | ||
# Enable DEBUG logging | ||
juju model-config logging-config="<root>=INFO;unit=DEBUG" | ||
# Deploy the charm | ||
juju deploy ./jupyter_ui_ubuntu-20.04-amd64.charm \ | ||
--resource oci-image=$(yq '.resources."oci-image"."upstream-source"' metadata.yaml) | ||
``` | ||
|
||
## Updating the charm for new versions of the workload | ||
|
||
To upgrade the source and resources of this charm, you must: | ||
|
||
1. Bump the `oci-image` in `metadata.yaml` | ||
1. Update the charm source for any changes, such as: | ||
- YAML manifests in `src/` and/or any Kubernetes resource in `pod_spec` | ||
- New or changed configurations passed to pebble workloads or through `pod.set_spec` | ||
1. Ensure integration and unit tests are passing; fix/adapt them otherwise | ||
|
||
## 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. |