moto/CONTRIBUTING.md

40 lines
1.6 KiB
Markdown

# Table of Contents
- [Contributing code](#contributing-code)
- [Development Guide](#development-guide)
* [TLDR](#tldr)
* [Linting](#linting)
- [Maintainers](#maintainers)
# Contributing code
Moto has a [Code of Conduct](https://github.com/getmoto/moto/blob/master/CODE_OF_CONDUCT.md), you can expect to be treated with respect at all times when interacting with this project.
# Development Guide
Please see our documentation for information on how to contribute:
https://docs.getmoto.org/en/latest/docs/contributing
## TLDR
Moto has a [Makefile](./Makefile) which has some helpful commands for getting set up.
You should be able to run `make init` to install the dependencies and then `make test` to run the tests.
*NB. On first run, some tests might take a while to execute, especially the Lambda ones, because they may need to download a Docker image before they can execute.*
## Linting
Ensure that the correct version of ruff is installed (see `requirements-dev.txt`). Different versions of ruff will return different results.
Run `make lint` to verify whether your code confirms to the guidelines.
Use `make format` to automatically format your code, if it does not conform to `ruff`'s rules.
# Maintainers
## Releasing a new version of Moto
* Ensure the CHANGELOG document mentions the new release, and lists all significant changes.
* Go to the dedicated [Release Action](https://github.com/getmoto/moto/actions/workflows/release.yml) in our CI
* Click 'Run workflow' on the top right
* Provide the version you want to release
* That's it - everything else is automated.