Skip to content

Commit

Permalink
Merge pull request #986 from python-babel/improve-contributing-instru…
Browse files Browse the repository at this point in the history
…ctions

Improve contributing instructions
  • Loading branch information
akx committed Mar 3, 2023
2 parents 92e6fab + c616775 commit 134c792
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 20 deletions.
26 changes: 23 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,25 @@ still need proper phrasing - if you'd like to help - be sure to make a PR.
Please know that we do appreciate all contributions - bug reports as well as
Pull Requests.

## PR Merge Criteria
## Setting up a development environment and running tests

After you've cloned the repository,

1. Set up a Python virtualenv (the methods vary depending on tooling and operating system)
and activate it.
2. Install Babel in editable mode with development dependencies: `pip install -e .[dev]`
3. Run `make import-cldr` to import the CLDR database.
This will download the CLDR database and convert it to a format that Babel can use.
4. Run `make test` to run the tests. You can also run e.g. `pytest --cov babel .` to
run the tests with coverage reporting enabled.

You can also use [Tox][tox] to run the tests in separate virtualenvs
for all supported Python versions; a `tox.ini` configuration (which is what the CI process
uses) is included in the repository.

## On pull requests

### PR Merge Criteria

For a PR to be merged, the following statements must hold true:

Expand All @@ -19,14 +37,16 @@ For a PR to be merged, the following statements must hold true:
To begin contributing have a look at the open [easy issues](https://github.com/python-babel/babel/issues?q=is%3Aopen+is%3Aissue+label%3Adifficulty%2Flow)
which could be fixed.

## Correcting PRs
### Correcting PRs

Rebasing PRs is preferred over merging master into the source branches again
and again cluttering our history. If a reviewer has suggestions, the commit
shall be amended so the history is not cluttered by "fixup commits".

## Writing Good Commits
### Writing Good Commits

Please see
https://api.coala.io/en/latest/Developers/Writing_Good_Commits.html
for guidelines on how to write good commits and proper commit messages.

[tox]: https://tox.wiki/en/latest/
17 changes: 3 additions & 14 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,18 +1,7 @@
test: import-cldr
python ${PYTHON_TEST_FLAGS} -m pytest ${PYTEST_FLAGS}

test-env:
virtualenv test-env
test-env/bin/pip install pytest
test-env/bin/pip install --editable .

clean-test-env:
rm -rf test-env

standalone-test: import-cldr test-env
test-env/bin/pytest tests ${PYTEST_FLAGS}

clean: clean-cldr clean-pyc clean-test-env
clean: clean-cldr clean-pyc

import-cldr:
python scripts/download_import_cldr.py
Expand All @@ -28,7 +17,7 @@ clean-pyc:
develop:
pip install --editable .

tox-test: import-cldr
tox-test:
tox

.PHONY: test develop tox-test clean-pyc clean-cldr import-cldr clean clean-test-env standalone-test
.PHONY: test develop tox-test clean-pyc clean-cldr import-cldr clean standalone-test
7 changes: 7 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,13 @@ def run(self):
# Python 3.9 and later include zoneinfo which replaces pytz
'pytz>=2015.7; python_version<"3.9"',
],
extras_require={
'dev': [
'pytest>=6.0',
'pytest-cov',
'freezegun~=1.0',
],
},
cmdclass={'import_cldr': import_cldr},
zip_safe=False,
# Note when adding extractors: builtin extractors we also want to
Expand Down
5 changes: 2 additions & 3 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@ envlist =
py{37,38}-pytz

[testenv]
extras =
dev
deps =
pytest>=6.0
pytest-cov
freezegun==0.3.12
backports.zoneinfo;python_version<"3.9"
tzdata;sys_platform == 'win32'
pytz: pytz
Expand Down

0 comments on commit 134c792

Please sign in to comment.