Run mypy checks in test workflow and on push (via pre-commit)

- Run mypy on git push (not every commit) but for all files
  - Running it on pre-commit, doesn't make sense as mypy wants to look
    at all files, not just diff files
  - But this is too time consuming to run every commit, so run on push

- Update development section documentation on installing, manually
  running pre-commit for validation that includes running mypy checks
This commit is contained in:
Debanjum Singh Solanky 2023-02-17 14:29:12 -06:00
parent 5c0d340970
commit fd0a2f55f8
3 changed files with 15 additions and 6 deletions

View file

@ -50,7 +50,7 @@ jobs:
run: pip install --upgrade .[dev] run: pip install --upgrade .[dev]
- name: Validate Application - name: Validate Application
run: pre-commit run: pre-commit run --hook-stage manual --all
- name: Test Application - name: Test Application
run: pytest run: pytest

View file

@ -5,7 +5,7 @@ repos:
- id: black - id: black
- repo: https://github.com/pre-commit/pre-commit-hooks - repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0 rev: v4.4.0
hooks: hooks:
- id: end-of-file-fixer - id: end-of-file-fixer
- id: trailing-whitespace - id: trailing-whitespace
@ -14,3 +14,12 @@ repos:
- id: check-json - id: check-json
- id: check-toml - id: check-toml
- id: check-yaml - id: check-yaml
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.0.0
hooks:
- id: mypy
stages: [push, manual]
pass_filenames: false
args:
- --config-file=pyproject.toml

View file

@ -414,13 +414,13 @@ conda activate khoj
### Validate ### Validate
#### Before Make Changes #### Before Make Changes
1. Install Pre-Commit Validation Hook 1. Install Git Hooks for Validation
```shell ```shell
pre-commit install pre-commit install -t pre-push -t pre-commit
``` ```
- This ensures standard code formatting fixes and other checks run automatically on every commit - This ensures standard code formatting fixes and other checks run automatically on every commit and push
- Note 1: If [pre-commit](https://pre-commit.com/#intro) didn't already get installed, [install it](https://pre-commit.com/#install) via `pip install pre-commit` - Note 1: If [pre-commit](https://pre-commit.com/#intro) didn't already get installed, [install it](https://pre-commit.com/#install) via `pip install pre-commit`
- Note 2: To run the pre-commit changes manually, use `pre-commit run --all` before creating PR - Note 2: To run the pre-commit changes manually, use `pre-commit run --hook-stage manual --all` before creating PR
#### Before Creating PR #### Before Creating PR