1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- default_install_hook_types: ["pre-commit", "pre-push"]
- exclude: >
- (?x)(
- LICENSE$|
- \.snap$|
- \.map$|
- \.map\.js$|
- ^src/sentry/static/sentry/vendor/|
- ^src/.*/locale/|
- ^src/sentry/data/
- )
- repos:
- # Many of these hooks are local because people use a variety of IDEs
- # with autoformatters that need to call out to things like `black` directly.
- # pre-commit run is not the same, and something like pre-commit exec does
- # not exist yet.
- - repo: local
- hooks:
- - id: pyupgrade
- name: pyupgrade
- entry: pyupgrade
- args: ['--py38-plus', '--keep-runtime-typing']
- language: system
- types: [python]
- # Configuration for black exists in pyproject.toml,
- # but we let pre-commit take care of the file filtering.
- - id: black
- name: black
- entry: black
- language: system
- types: [python]
- require_serial: true
- # Configuration for isort exists in pyproject.toml,
- # but we let pre-commit take care of the file filtering.
- - id: isort
- name: isort
- entry: isort
- language: system
- types: [python]
- # Configuration for flake8 exists in setup.cfg,
- # but we let pre-commit take care of the file filtering.
- - id: flake8
- name: flake8
- entry: flake8
- language: system
- types: [python]
- log_file: '.artifacts/flake8.pycodestyle.log'
- - id: lint-requirements
- name: lint-requirements
- entry: python -m tools.lint_requirements
- language: python
- files: requirements-.*\.txt$
- additional_dependencies: [packaging==21.3]
- - id: check-mypy-bypass
- name: do not bypass the type checker
- entry: '(^# *mypy: *ignore-errors|^# *type: *ignore|\bno_type_check\b)'
- language: pygrep
- types: [python]
- exclude: ^src/sentry/metrics/minimetrics.py$
- - id: prevent-push
- name: prevent pushing master
- stages: [pre-push]
- entry: bash -c 'test "$PRE_COMMIT_REMOTE_BRANCH" != "refs/heads/master"'
- always_run: true
- pass_filenames: false
- language: system
- - repo: https://github.com/pre-commit/pygrep-hooks
- rev: v1.10.0
- hooks:
- - id: python-use-type-annotations
- - repo: https://github.com/python-jsonschema/check-jsonschema
- rev: 0.24.1
- hooks:
- - id: check-github-actions
- - id: check-github-workflows
- args: [--verbose]
- - repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.3.0
- hooks:
- - id: check-case-conflict
- - id: check-executables-have-shebangs
- - id: check-merge-conflict
- - id: check-symlinks
- - id: check-yaml
- - id: end-of-file-fixer
- exclude_types: [svg]
- exclude: ^fixtures/
- - id: trailing-whitespace
- exclude_types: [svg]
- exclude: ^(fixtures/|scripts/patches/)
- - id: debug-statements
- - id: name-tests-test
- args: [--pytest-test-first]
|