-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add pre-commit config to primary PPT project. (#471)
* Add smoke test failure notification to lincc-dev channel. * Add pre-commit config to primary PPT project.
- Loading branch information
1 parent
1a4729b
commit 5fb640b
Showing
2 changed files
with
104 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
repos: | ||
# Prevents committing directly branches named 'main' and 'master'. | ||
- repo: https://github.com/pre-commit/pre-commit-hooks | ||
rev: v4.4.0 | ||
hooks: | ||
- id: no-commit-to-branch | ||
name: Prevent main branch commits | ||
description: Prevent the user from committing directly to the primary branch. | ||
- id: check-added-large-files | ||
name: Check for large files | ||
description: Prevent the user from committing very large files. | ||
args: ['--maxkb=500'] | ||
# Verify that pyproject.toml is well formed | ||
- repo: https://github.com/abravalheri/validate-pyproject | ||
rev: v0.12.1 | ||
hooks: | ||
- id: validate-pyproject | ||
name: Validate pyproject.toml | ||
description: Verify that pyproject.toml adheres to the established schema. | ||
# Verify that GitHub workflows are well formed | ||
- repo: https://github.com/python-jsonschema/check-jsonschema | ||
rev: 0.28.0 | ||
hooks: | ||
- id: check-github-workflows | ||
args: ["--verbose"] | ||
# Automatically sort the imports used in .py files | ||
- repo: https://github.com/pycqa/isort | ||
rev: 5.12.0 | ||
hooks: | ||
- id: isort | ||
name: Run isort | ||
description: Sort and organize imports in .py and .pyi files. | ||
types_or: [python, pyi] | ||
# Analyze the tests code style and report code that doesn't adhere. | ||
- repo: local | ||
hooks: | ||
- id: pylint | ||
name: pylint (python files in tests/ and benchmarks/) | ||
entry: pylint | ||
language: system | ||
types: [python] | ||
files: ^(tests|benchmarks)/ | ||
args: | ||
[ | ||
"-rn", # Only display messages | ||
"-sn", # Don't display the score | ||
] | ||
# Analyze the code style and report code that doesn't adhere. | ||
- repo: https://github.com/psf/black | ||
rev: 23.7.0 | ||
hooks: | ||
- id: black-jupyter | ||
name: Format code using black | ||
types_or: [python, pyi, jupyter] | ||
# It is recommended to specify the latest version of Python | ||
# supported by your project here, or alternatively use | ||
# pre-commit's default_language_version, see | ||
# https://pre-commit.com/#top_level-default_language_version | ||
language_version: python3.10 | ||
# Make sure Sphinx can build the documentation without issues. | ||
- repo: local | ||
hooks: | ||
- id: sphinx-build | ||
name: Build documentation with Sphinx | ||
entry: sphinx-build | ||
language: system | ||
always_run: true | ||
exclude_types: [file, symlink] | ||
args: | ||
[ | ||
"-T", # Show full trace back on exception | ||
"-E", # Don't use saved env. always read all files. | ||
"-b", # Flag to select which builder to use | ||
"html", # Use the HTML builder | ||
"-d", # Flag for cached environment and doctrees | ||
"./docs/_build/doctrees", # directory | ||
"./docs", # Source directory of documents | ||
"./_readthedocs", # Output directory for rendered documents. | ||
] | ||
# Run unit tests, verify that they pass. Note that coverage is run against | ||
# the ./src directory here because that is what will be committed. In the | ||
# github workflow script, the coverage is run against the installed package | ||
# and uploaded to Codecov by calling pytest like so: | ||
# `python -m pytest --cov=<package_name> --cov-report=xml` | ||
- repo: local | ||
hooks: | ||
- id: pytest-check | ||
name: Run unit tests | ||
description: Run unit tests with pytest. | ||
entry: bash -c "if python -m pytest --co -qq; then python -m pytest --cov=./src --cov-report=html; fi" | ||
language: system | ||
pass_filenames: false | ||
always_run: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters