homeserver/roles/robertdebock.bootstrap/CONTRIBUTING.md

76 lines
2.8 KiB
Markdown

# [Please contribute](#please-contribute)
You can really make a difference by:
- [Making an issue](https://help.github.com/articles/creating-an-issue/). A well described issue helps a lot. (Have a look at the [known issues](https://github.com/search?q=user%3Arobertdebock+is%3Aissue+state%3Aopen).)
- [Making a pull request](https://services.github.com/on-demand/github-cli/open-pull-request-github) when you see the error in code.
I'll try to help and take every contribution seriously.
It's a great opportunity for me to learn how you use the role and also an opportunity to get into the habit of contributing to open source software.
## [Step by step](#step-by-step)
Here is how you can help, a lot of steps are related to GitHub, not specifically my roles.
### [1. Make an issue.](#1-make-an-issue)
When you spot an issue, [create an issue](https://github.com/robertdebock/ansible-role-bootstrap/issues).
Making the issue help me and others to find similar problems in the future.
### [2. Fork the project.](#2-fork-the-project)
On the top right side of [the repository on GitHub](https://github.com/robertdebock/ansible-role-bootstrap), click `fork`. This copies everything to your GitHub namespace.
### [3. Make the changes](#3-make-the-changes)
In you own GitHub namespace, make the required changes.
I typically do that by cloning the repository (in your namespace) locally:
```
git clone git@github.com:YOURNAMESPACE/ansible-role-bootstrap.git
```
Now you can start to edit on your laptop.
### [4. Optionally: test your changes](#4-optionally-test-your-changes)
Install [molecule](https://molecule.readthedocs.io/en/stable/) and [Tox](https://tox.readthedocs.io/):
```
pip install molecule tox ansible-lint docker
```
And run `molecule test`. If you want to test a specific distribution, set `image` and optionally `tag`:
```
image=centos tag=7 molecule test
```
Once it start to work, you can test multiple version of Ansible:
```
image=centos tag=7 tox
```
### [5. Optionally: Regenerate all dynamic content](#5-optionally-regenerate-all-dynamic-content)
You can use [Ansible Generator](https://github.com/robertdebock/ansible-generator) to regenerate all dynamic content.
If you don't do it, I'll do it later for you.
### [6. Make a pull request](#6-make-a-pull-request)
[GitHub](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork) on pull requests.
In the comment-box, you can [refer to the issue number](https://help.github.com/en/github/writing-on-github/autolinked-references-and-urls) by using #123, where 123 is the issue number.
### [7. Wait](#7-wait)
Now I'll get a message that you've added some code. Thank you, really.
CI starts to test your changes. You can follow the progress on Travis.
Please consider [sponsoring me](https://github.com/sponsors/robertdebock).