From 188ab3069f6dcb5cc5d3c2f74668b41f00d6c3c9 Mon Sep 17 00:00:00 2001 From: Mike Lin Date: Sun, 10 Nov 2019 11:49:51 -1000 Subject: [PATCH] add CONTRIBUTING.md and PR template --- .github/pull_request_template.md | 17 +++++++++++++++++ CONTRIBUTING.md | 29 +++++++++++++++++++++++++++++ README.md | 26 ++------------------------ 3 files changed, 48 insertions(+), 24 deletions(-) create mode 100644 .github/pull_request_template.md create mode 100644 CONTRIBUTING.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..5cad5fa2 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,17 @@ + + +### Motivation +... + + +### Approach +... + +### Checklist + + +- [ ] Add appropriate test(s) to the automatic suite +- [ ] Use `make pretty` to reformat the code with [black](https://github.com/python/black) +- [ ] Use `make check` to statically check the code using [Pyre](https://pyre-check.org/) and [Pylint](https://www.pylint.org/) +- [ ] Send PR from a dedicated branch without unrelated edits +- [ ] Ensure compatibility with this project's MIT license diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..2f966c6f --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,29 @@ +# Contributing to miniwdl + +Feedback and contributions to miniwdl are welcome, via issues and pull requests on this repository. + +* The [Project board](https://github.com/chanzuckerberg/miniwdl/projects/1) shows our current prioritization of [issues](https://github.com/chanzuckerberg/miniwdl/issues) +* [Starter issues](https://github.com/chanzuckerberg/miniwdl/issues?q=is%3Aopen+is%3Aissue+label%3Astarter) are good potential entry points for new contributors + +To set up your local development environment, + +1. `git clone --recursive` this repository or your fork thereof +2. Install dependencies as illustrated in the [Dockerfile](https://github.com/chanzuckerberg/miniwdl/blob/master/Dockerfile) (OS packages + PyPI packages listed in `requirements.txt` and `requirements.dev.txt`) +3. Invoking user must have [permission to control Docker](https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user) + +To invoke the `miniwdl` command-line interface from your working repository, e.g. `python3 -m WDL check ...` or `python3 -m WDL run ...`. + +The Makefile has a few typical flows: + +- `make` or `make test` runs the full test suite with code coverage report (takes several minutes) +- `make qtest` runs most of the tests more quickly (by omitting some slower cases, and not tracking coverage) +- `make pretty` reformats the code with [black](https://github.com/python/black) +- `make check` validates the code with [Pylint](https://www.pylint.org/) and [Pyre](https://pyre-check.org/) + +To quickly run only a relevant subset of the tests, you can e.g. `python3 -m unittest -f tests/test_5stdlib.py` or `python3 -m unittest -f tests.test_5stdlib.TestStdLib.test_glob`. + +The [pull request template](https://github.com/chanzuckerberg/miniwdl/blob/master/.github/pull_request_template.md) includes a checklist for preparing your PR. Thank you! + +## Security + +Please disclose security issues responsibly by contacting security@chanzuckerberg.com. diff --git a/README.md b/README.md index 504440a6..3a94020e 100644 --- a/README.md +++ b/README.md @@ -199,31 +199,9 @@ Online Python developer documentation for the `WDL` package: [![Docs Status](htt Locally, `make doc` triggers [Sphinx](http://www.sphinx-doc.org/en/stable/) to generate the docs under `docs/_build/html/`. Or, after building the docker image, copy them out with `docker run --rm -v ~/Desktop:/io miniwdl cp -r /miniwdl/docs/_build/html /io/miniwdl_docs`. -## Contributing +## [Contributing](https://github.com/chanzuckerberg/miniwdl/blob/master/CONTRIBUTING.md) -Feedback and contributions are welcome on this repository. Please: - -1. Add appropriate tests to the automatic suite -2. Use `make pretty` to reformat the code with [black](https://github.com/python/black) -3. Ensure compatibility with this project's MIT license -4. Send pull requests from a dedicated branch without unrelated edits - -The [Project board](https://github.com/chanzuckerberg/miniwdl/projects/1) is our up-to-date tracker. - -To set up your local development environment, - -1. `git clone --recursive` this repository -2. Install dependencies as illustrated in the [Dockerfile](https://github.com/chanzuckerberg/miniwdl/blob/master/Dockerfile) (OS packages + PyPI packages listed in `requirements.txt` and `requirements.dev.txt`) -3. Invoking user must have [permission to control Docker](https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user). - -The Makefile has a few typical scripted flows: - -- `make` or `make test` runs the full test suite with code coverage report (takes several minutes) -- `make qtest` runs most of the tests more quickly (by omitting some slower cases, and not tracking coverage) -- `make pretty` reformats the code with [black](https://github.com/python/black) -- `make check` validates the code with [Pylint](https://www.pylint.org/) and [Pyre](https://pyre-check.org/) - -To quickly run only a relevant subset of the tests, you can e.g. `python3 -m unittest -f tests/test_5stdlib.py`. To invoke the command-line interface (`miniwdl` command once installed), e.g. `python3 -m WDL check ...` or `python3 -m WDL run ...`. +Feedback and contributions to miniwdl are welcome, via issues and pull requests on this repository. See [CONTRIBUTING.md](https://github.com/chanzuckerberg/miniwdl/blob/master/CONTRIBUTING.md) for guidelines and instructions to set up your development environment. ## Security