X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/3e3da8eef6f4ba48da1505ad68ca0e1d788f6d6b..b39999da7f451c285befac217f1f9a685774b34d:/CONTRIBUTING.md?ds=sidebyside diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a4250f7..f2a4ee2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -34,14 +34,62 @@ If you haven't used `pipenv` before but are comfortable with virtualenvs, just r `pip install pipenv` in the virtualenv you're already using and invoke the command above from the cloned _Black_ repo. It will do the correct thing. -Before submitting pull requests, run lints and tests with: +Non pipenv install works too: ```console +$ pip install -r test_requirements +$ pip install -e .[d] +``` + +Before submitting pull requests, run lints and tests with the following commands from +the root of the black repo: + +```console +# Linting $ pre-commit run -a -$ python -m unittest + +# Unit tests +$ tox -e py + +# Optional Fuzz testing +$ tox -e fuzz + +# Optional CI run to test your changes on many popular python projects $ black-primer [-k -w /tmp/black_test_repos] ``` +### News / Changelog Requirement + +`Black` has CI that will check for an entry corresponding to your PR in `CHANGES.md`. If +you feel this PR not require a changelog entry please state that in a comment and a +maintainer can add a `skip news` label to make the CI pass. Otherwise, please ensure you +have a line in the following format: + +```md +- `Black` is now more awesome (#X) +``` + +To workout X, please use +[Next PR Number](https://ichard26.github.io/next-pr-number/?owner=psf&name=black). This +is not perfect but saves a lot of release overhead as now the releaser does not need to +go back and workout what to add to the `CHANGES.md` for each release. + +### Style Changes + +If a change would affect the advertised code style, please modify the documentation (The +_Black_ code style) to reflect that change. Patches that fix unintended bugs in +formatting don't need to be mentioned separately though. + +### Docs Testing + +If you make changes to docs, you can test they still build locally too. + +```console +$ pip install -r docs/requirements.txt +$ pip install [-e] .[d] +$ sphinx-build -a -b html -W docs/ docs/_build/ +``` + ## black-primer `black-primer` is used by CI to pull down well-known _Black_ formatted projects and see @@ -52,7 +100,7 @@ your PR. You may need to change configuration for it to pass. For more `black-primer` information visit the -[documentation](https://github.com/psf/black/blob/master/docs/black_primer.md#black-primer). +[documentation](https://github.com/psf/black/blob/master/docs/black_primer.md). ## Hygiene