Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Contributing

When contributing to this repository, please first discuss the change you wish to make via issue with the owners of this repository before making a change.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding CONTRIBUTING.md!

I would say prior discussion is not necessary for all pull requests.
It would imho make sense if the planned pulled request introduced breaking changes or new features requiring lots of dev work.


## Pull Request Process

1. Ensure any install or build dependencies are removed before the end of the layer when doing a
build.
Comment on lines +7 to +8
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you explain what you mean here?

2. Update the README.md with details of changes to the interface, this includes new environment
variables, exposed ports, useful file locations and container parameters.
3. Update the `CHANGELOG.md` file with your changes under the `[Unreleased]` section.

## Development Setup

1. Install `pipenv`.
2. Install dependencies with `pipenv install --dev`.

## Running Checks

Before submitting a pull request, please run the following checks to ensure your code is clean and passes all tests.

### Code Formatting

Run `black` to format your code:

```bash
pipenv run black .
```

### Linting

Run `pylint` to check for code style issues:

```bash
pipenv run pylint systemctl_mqtt
pipenv run pylint tests/*
```

### Static Type Checking

Run `mypy` to check for type errors:

```bash
pipenv run mypy systemctl_mqtt tests
```

### Testing

Run `pytest` to run the test suite:

```bash
pipenv run pytest --cov=systemctl_mqtt --cov-report=term-missing --cov-fail-under=100
```
Loading