2021-10-02 22:21:10 +00:00
# Table of Contents
- [Contributing code ](#contributing-code )
2021-11-08 23:04:44 +00:00
- [Development Guide ](#development-guide )
* [TLDR ](#tldr )
2021-10-02 22:21:10 +00:00
* [Linting ](#linting )
- [Maintainers ](#maintainers )
2020-06-19 10:44:43 +00:00
# Contributing code
2017-02-27 00:55:19 +00: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 21:17:24 +00:00
2021-11-08 23:04:44 +00:00
# Development Guide
Please see our documentation for information on how to contribute:
https://docs.getmoto.org/en/latest/docs/contributing
## TLDR
2019-07-09 01:42:24 +00:00
2020-06-19 10:44:43 +00: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 15:36:41 +00:00
## Linting
2020-06-19 10:44:43 +00:00
2022-04-19 22:18:28 +00:00
Ensure that the correct version of ruff is installed (see `requirements-dev.txt` ). Different versions of ruff 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 `ruff` 's rules.
2020-06-19 10:44:43 +00:00
2020-09-02 08:59:26 +00:00
2021-10-02 22:21:10 +00:00
# Maintainers
2017-11-20 21:17:24 +00:00
2021-10-02 22:21:10 +00:00
## Releasing a new version of Moto
2017-11-20 21:17:24 +00: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.