tripleo-ansible/.pre-commit-config.yaml
Kevin Carter 4403a163d4
Add update lint jobs using pre-commit
Pre-commit was added to run all of the lint jobs via tox. Because
this change now enforces the linters, the modules and playbooks
have been updated so they're able to pass the checks.

> Several excludes and lint ommisions have been added to the
  pre-commit config. These were added because the current code
  can not pass the basic checks in its present state. In a
  future PR updates will be made to the playbooks and modules
  and these ommissions will be removed. The goal of this PR is
  to ensure some checks are running and lay the ground work
  for future structural changes.

Change-Id: If2095741dd0e977de71f8110307aef92d4f3676c
Signed-off-by: Kevin Carter <kecarter@redhat.com>
2019-06-05 08:24:43 -05:00

51 lines
2.1 KiB
YAML

---
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.1.0
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
- id: flake8
entry: flake8 --ignore=E24,E121,E123,E124,E126,E226,E305,E402,F401,F405,E501,E704,F403,F841,W503
# TODO(cloudnull): These codes were added to pass the lint check.
# All of these ignore codes should be resolved in
# future PRs.
- id: check-yaml
files: .*\.(yaml|yml)$
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.15.0
hooks:
- id: yamllint
files: \.(yaml|yml)$
types: [file, yaml]
entry: yamllint --strict -f parsable
- repo: https://github.com/ansible/ansible-lint
rev: v4.1.0a0
hooks:
- id: ansible-lint
files: \.(yaml|yml)$
entry: >-
ansible-lint --force-color -v -x "ANSIBLE0006,ANSIBLE0007,ANSIBLE0010,ANSIBLE0012,ANSIBLE0013,ANSIBLE0016"
--exclude=tripleo_ansible/roles/openstack-operations/tasks/restore_galera.yml
--exclude=tripleo_ansible/roles/openstack-operations/tasks/restore_redis.yml
# TODO(cloudnull): These codes were added to pass the lint check.
# All of these ignore codes should be resolved in
# future PRs.
- repo: https://github.com/openstack-dev/bashate.git
rev: 0.6.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)