|
| 1 | +Contributing |
| 2 | +============ |
| 3 | + |
| 4 | +First of all, **thank you** for contributing, **you are awesome**! |
| 5 | + |
| 6 | +Here are a few rules to follow in order to ease code reviews, and discussions before |
| 7 | +maintainers accept and merge your work. |
| 8 | + |
| 9 | +You MUST run the quality & test suites. |
| 10 | + |
| 11 | +You SHOULD write (or update) unit tests. |
| 12 | + |
| 13 | +You SHOULD write documentation. |
| 14 | + |
| 15 | +Please, write [commit messages that make sense](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html), |
| 16 | +and [rebase your branch](https://git-scm.com/book/en/v2/Git-Branching-Rebasing) before submitting your Pull Request. |
| 17 | + |
| 18 | +One may ask you to [squash your commits](https://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html) |
| 19 | +too. This is used to "clean" your Pull Request before merging it (we don't want |
| 20 | +commits such as `fix tests`, `fix 2`, `fix 3`, etc.). |
| 21 | + |
| 22 | +Thank you! |
| 23 | + |
| 24 | +## Running the quality & test suites |
| 25 | + |
| 26 | +Tests suite uses Docker environments in order to be idempotent to OS's. More than this |
| 27 | +PHP version is written inside the Dockerfile; this assures to test the bundle with |
| 28 | +the same resources. No need to have PHP installed. |
| 29 | + |
| 30 | +You only need Docker set it up. |
| 31 | + |
| 32 | +To allow testing environments more smooth we implemented **Makefile**. |
| 33 | +You have two commands available: |
| 34 | + |
| 35 | +```bash |
| 36 | +make quality |
| 37 | +``` |
| 38 | + |
| 39 | +```bash |
| 40 | +make tests |
| 41 | +``` |
| 42 | + |
| 43 | +## Deprecations notices |
| 44 | + |
| 45 | +When a feature should be deprecated, or when you have a breaking change for a future version, please : |
| 46 | +* [Fill an issue](https://github.com/cleverage/flysystem-process-bundle/issues/new) |
| 47 | +* Add TODO comments with the following format: `@TODO deprecated v2.0` |
| 48 | +* Trigger a deprecation error: `@trigger_error('This feature will be deprecated in v2.0', E_USER_DEPRECATED);` |
| 49 | + |
| 50 | +You can check which deprecation notice is triggered in tests |
| 51 | +* `make bash` |
| 52 | +* `SYMFONY_DEPRECATIONS_HELPER=0 ./vendor/bin/phpunit` |
0 commit comments