--- repos: - repo: https://github.com/PyCQA/isort rev: 5.9.3 hooks: - id: isort - repo: https://github.com/python/black.git rev: 21.7b0 hooks: - id: black language_version: python3 - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.0.1 hooks: - id: end-of-file-fixer - id: trailing-whitespace - id: mixed-line-ending - id: check-byte-order-marker - id: check-executables-have-shebangs - id: check-merge-conflict - id: debug-statements - repo: https://gitlab.com/pycqa/flake8.git rev: 3.9.2 hooks: - id: flake8 additional_dependencies: - flake8-absolute-import - flake8-black>=0.1.1 language_version: python3 - repo: https://github.com/ansible/ansible-lint.git rev: v5.1.2 hooks: - id: ansible-lint always_run: true # do not add file filters here as ansible-lint does not give reliable # results when called with individual files. # https://github.com/ansible/ansible-lint/issues/611 verbose: true additional_dependencies: - ansible-core - yamllint - repo: https://github.com/openstack-dev/bashate.git rev: 2.0.0 hooks: - id: bashate entry: bashate --error . --verbose --ignore=E006,E040 # Run bashate check for all bash scripts # Ignores the following rules: # E006: Line longer than 79 columns (as many scripts use jinja # templating, this is very difficult) # E040: Syntax error determined using `bash -n` (as many scripts # use jinja templating, this will often fail and the syntax # error will be discovered in execution anyway)