.pre-commit-config.yaml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. repos:
  2. - repo: local
  3. hooks:
  4. - id: whitespace
  5. name: strip whitespace
  6. entry: find tinygrad -type f -name "*.py" -exec sed -i '' 's/ *$//' '{}' ';'
  7. language: system
  8. always_run: true
  9. pass_filenames: false
  10. - id: ruff
  11. name: ruff
  12. entry: ruff check .
  13. language: system
  14. always_run: true
  15. pass_filenames: false
  16. - id: mypy
  17. name: mypy
  18. entry: mypy tinygrad/ --strict-equality
  19. language: system
  20. always_run: true
  21. pass_filenames: false
  22. - id: docs2
  23. name: docs2
  24. entry: python3 docs/abstractions2.py
  25. language: system
  26. always_run: true
  27. pass_filenames: false
  28. - id: devicetests
  29. name: select GPU tests
  30. entry: env GPU=1 PYTHONPATH="." pytest test/test_uops.py test/test_custom_function.py test/test_search.py
  31. language: system
  32. always_run: true
  33. pass_filenames: false
  34. - id: tests
  35. name: subset of tests
  36. entry: env PYTHONPATH="." python3 -m pytest -n=4 test/unit/ test/test_ops.py test/test_dtype.py test/test_schedule.py test/test_custom_function.py test/test_assign.py test/test_symbolic_shapetracker.py
  37. language: system
  38. always_run: true
  39. pass_filenames: false
  40. - id: example
  41. name: multi device tests
  42. entry: python3 test/external/external_test_example.py
  43. language: system
  44. always_run: true
  45. pass_filenames: false
  46. - id: pylint
  47. name: pylint
  48. entry: env PYTHONPATH="." python3 -m pylint tinygrad/
  49. language: system
  50. always_run: true
  51. pass_filenames: false