Adding pre-commit configuration #23
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi there,
after issue #22 I thought an easy way of preventing pushing such errors to pypi would be to automatically run the unittests on every commit.
This can either be done using CI/CD using a GitHub ci-cd pipline which could be run after every commit by GitHub in the cloud.
Alternatively, they can be run locally before every commit. A great tool to do this easily is pre-commit.
It allows to install pre-commit hooks into your local git infrastructure to run any number of commands before any commit.
If any of them fail, the commit will be aborted and the issue can be resolved locally.
This PR adds a basic pre-commit configuration including checking:
python -m unittest discover.To make them discoverable, I added a dunder-init file in tests.
However, at the moment the unittests use relative file paths that break when running them from the project root folder.
Additionally, they are pretty slow. If unittests should be run on every commit, the tests would have to be faster than they currently are, or alternatively be curated to only include fast ones.
Please check this out before accepting this PR!
Fast setup for pre-commit:
Install it by using
pip install pre-commit.Then type
pre-commit installto install the hooks them into the local git repository.Run the hooks on the entire project by using
pre-commit run -a.By default, commits will only run on changed files instead of the entire project.
You can manually run the hooks on only changed files using
pre-commit run.