|
| 1 | +# How to contribute |
| 2 | + |
| 3 | +We are really glad you're reading this, because we need volunteer developers |
| 4 | +to help this project come to fruition. |
| 5 | + |
| 6 | +Here are some important resources: |
| 7 | + |
| 8 | + * [OpenStack contribution guide](https://docs.openstack.org/contributors/index.html) |
| 9 | + * Bugs? [GitHub issues](https://github.com/openstack-experimental/keystone/issues) |
| 10 | + * IRC: chat.oftc.net channel [#openstack-keystone](https://docs.openstack.org/contributors/common/irc.html). |
| 11 | + We're spread across the globe, hopefully close to your TZ. |
| 12 | + |
| 13 | +## Testing |
| 14 | + |
| 15 | +We try to implement unit and functional testing for every piece of the |
| 16 | +functionality. In the federation area we try to ensure that we have a |
| 17 | +real functional tests for every available provider. |
| 18 | + |
| 19 | +## Submitting changes |
| 20 | + |
| 21 | +Please send a [GitHub Pull Request](https://github.com/openstack-experimental/keystone/pull/new/main) |
| 22 | +with a clear list of what you've done (read more about |
| 23 | +[pull requests](http://help.github.com/pull-requests/)). Please follow our |
| 24 | +coding conventions (below) and make sure all of your commits are atomic |
| 25 | +(one feature per commit). |
| 26 | + |
| 27 | +Since our target for the project is to become official OpenStack project we |
| 28 | +would require Signed-off in the commit message sometime soon. |
| 29 | + |
| 30 | +Always write a clear log message for your commits. One-line messages are fine |
| 31 | +for small changes, but bigger changes should look like this: |
| 32 | + |
| 33 | + $ git commit -s -m "A brief summary of the commit |
| 34 | + > |
| 35 | + > A paragraph describing what changed and its impact." |
| 36 | + |
| 37 | +## Coding conventions |
| 38 | + |
| 39 | +Start reading our code and hopefully it is reasonable well documented. If not |
| 40 | +than please help us |
| 41 | + |
| 42 | +* Use "Result<." and "?" to properly propagate errors |
| 43 | +* Pass by reference when receiver is not supposed to take ownership |
| 44 | +* "thiserror" is used to define internal errors. Ensure that enough context |
| 45 | + information is available in the error. |
0 commit comments