2021-10-02 22:21:10 +00:00
# Table of Contents
- [Contributing code ](#contributing-code )
2021-11-08 22:04:44 -01:00
- [Development Guide ](#development-guide )
* [TLDR ](#tldr )
2021-10-02 22:21:10 +00:00
* [Linting ](#linting )
- [Maintainers ](#maintainers )
2020-06-19 11:44:43 +01:00
# Contributing code
2017-02-26 19:55:19 -05:00
2023-01-07 11:35:14 +00:00
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.
2017-11-20 13:17:24 -08:00
2021-11-08 22:04:44 -01:00
# Development Guide
Please see our documentation for information on how to contribute:
https://docs.getmoto.org/en/latest/docs/contributing
## TLDR
2019-07-08 20:42:24 -05:00
2020-06-19 11:44:43 +01:00
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.*
2020-04-22 16:36:41 +01:00
## Linting
2020-06-19 11:44:43 +01:00
2022-04-20 00:18:28 +02:00
Ensure that the correct version of black is installed (see `requirements-dev.txt` ). Different versions of black will return different results.
2021-10-02 22:21:10 +00:00
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 `black` 's rules.
2020-06-19 11:44:43 +01:00
2020-09-02 17:59:26 +09:00
2021-10-02 22:21:10 +00:00
# Maintainers
2017-11-20 13:17:24 -08:00
2021-10-02 22:21:10 +00:00
## Releasing a new version of Moto
2017-11-20 13:17:24 -08:00
2021-10-02 22:21:10 +00:00
* Ensure the CHANGELOG document mentions the new release, and lists all significant changes.
2023-01-07 11:35:14 +00:00
* Go to the dedicated [Release Action ](https://github.com/getmoto/moto/actions/workflows/release.yml ) in our CI
2021-10-02 22:21:10 +00:00
* Click 'Run workflow' on the top right
* Provide the version you want to release
* That's it - everything else is automated.