|
| 1 | +# Contributing |
| 2 | + |
| 3 | +## Introduction |
| 4 | + |
| 5 | +We appreciate your interest in considering contributing to go-redis. |
| 6 | +Community contributions mean a lot to us. |
| 7 | + |
| 8 | +## Contributions we need |
| 9 | + |
| 10 | +You may already know how you'd like to contribute, whether it's a fix for a bug you |
| 11 | +encountered, or a new feature your team wants to use. |
| 12 | + |
| 13 | +If you don't know where to start, consider improving |
| 14 | +documentation, bug triaging, and writing tutorials are all examples of |
| 15 | +helpful contributions that mean less work for you. |
| 16 | + |
| 17 | +## Your First Contribution |
| 18 | + |
| 19 | +Unsure where to begin contributing? You can start by looking through |
| 20 | +[help-wanted |
| 21 | +issues](https://github.com/redis/go-redis/issues?q=is%3Aopen+is%3Aissue+label%3ahelp-wanted). |
| 22 | + |
| 23 | +Never contributed to open source before? Here are a couple of friendly |
| 24 | +tutorials: |
| 25 | + |
| 26 | +- <http://makeapullrequest.com/> |
| 27 | +- <http://www.firsttimersonly.com/> |
| 28 | + |
| 29 | +## Getting Started |
| 30 | + |
| 31 | +Here's how to get started with your code contribution: |
| 32 | + |
| 33 | +1. Create your own fork of go-redis |
| 34 | +2. Do the changes in your fork |
| 35 | +3. If you need a development environment, run `make test`. Note: this clones and builds the latest release of [redis](https://redis.io). You also need a redis-stack-server docker, in order to run the capabilities tests. This can be started by running: |
| 36 | + ```docker run -p 6379:6379 -it redis/redis-stack-server:edge``` |
| 37 | +4. While developing, make sure the tests pass by running `make tests` |
| 38 | +5. If you like the change and think the project could use it, send a |
| 39 | + pull request |
| 40 | + |
| 41 | +To see what else is part of the automation, run `invoke -l` |
| 42 | + |
| 43 | +## Testing |
| 44 | + |
| 45 | +Call `make test` to run all tests, including linters. |
| 46 | + |
| 47 | +Continuous Integration uses these same wrappers to run all of these |
| 48 | +tests against multiple versions of python. Feel free to test your |
| 49 | +changes against all the go versions supported, as declared by the |
| 50 | +[build.yml](./.github/workflows/build.yml) file. |
| 51 | + |
| 52 | +### Troubleshooting |
| 53 | + |
| 54 | +If you get any errors when running `make test`, make sure |
| 55 | +that you are using supported versions of Docker and go. |
| 56 | + |
| 57 | +## How to Report a Bug |
| 58 | + |
| 59 | +### Security Vulnerabilities |
| 60 | + |
| 61 | +**NOTE**: If you find a security vulnerability, do NOT open an issue. |
| 62 | +Email [Redis Open Source ( <[email protected]>) ](mailto:[email protected]) instead. |
| 63 | + |
| 64 | +In order to determine whether you are dealing with a security issue, ask |
| 65 | +yourself these two questions: |
| 66 | + |
| 67 | +- Can I access something that's not mine, or something I shouldn't |
| 68 | + have access to? |
| 69 | +- Can I disable something for other people? |
| 70 | + |
| 71 | +If the answer to either of those two questions are *yes*, then you're |
| 72 | +probably dealing with a security issue. Note that even if you answer |
| 73 | +*no* to both questions, you may still be dealing with a security |
| 74 | +issue, so if you're unsure, just email [us ](mailto:[email protected]). |
| 75 | + |
| 76 | +### Everything Else |
| 77 | + |
| 78 | +When filing an issue, make sure to answer these five questions: |
| 79 | + |
| 80 | +1. What version of go-redis are you using? |
| 81 | +2. What version of redis are you using? |
| 82 | +3. What did you do? |
| 83 | +4. What did you expect to see? |
| 84 | +5. What did you see instead? |
| 85 | + |
| 86 | +## Suggest a feature or enhancement |
| 87 | + |
| 88 | +If you'd like to contribute a new feature, make sure you check our |
| 89 | +issue list to see if someone has already proposed it. Work may already |
| 90 | +be underway on the feature you want or we may have rejected a |
| 91 | +feature like it already. |
| 92 | + |
| 93 | +If you don't see anything, open a new issue that describes the feature |
| 94 | +you would like and how it should work. |
| 95 | + |
| 96 | +## Code review process |
| 97 | + |
| 98 | +The core team regularly looks at pull requests. We will provide |
| 99 | +feedback as soon as possible. After receiving our feedback, please respond |
| 100 | +within two weeks. After that time, we may close your PR if it isn't |
| 101 | +showing any activity. |
0 commit comments