Use pre-commit in ci

This review moves bashate check to pre-commit and also
adds other pre-commit checks for the repo.

Change-Id: I2ec26fc3036b4bfc9fa09fd088bd0e9089fae9fe
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
This commit is contained in:
Chandan Kumar (raukadah) 2025-01-28 17:49:21 +05:30
parent f384126bdc
commit 320be4174f
3 changed files with 62 additions and 16 deletions

53
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,53 @@
---
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
# whitespace
- id: trailing-whitespace
- id: mixed-line-ending
args: ['--fix', 'lf']
exclude: '.*\.(svg)$'
- id: check-byte-order-marker
# file format and permissions
- id: check-ast
- id: debug-statements
- id: check-json
files: .*\.json$
- id: check-yaml
files: .*\.(yaml|yml)$
- id: check-executables-have-shebangs
- id: check-shebang-scripts-are-executable
# git
- id: check-added-large-files
- id: check-case-conflict
- id: detect-private-key
- id: check-merge-conflict
- repo: https://github.com/Lucas-C/pre-commit-hooks
rev: v1.5.5
hooks:
- id: remove-tabs
exclude: '.*\.(svg)$'
- repo: https://opendev.org/openstack/hacking
rev: 7.0.0
hooks:
- id: hacking
additional_dependencies: []
exclude: '^(doc|releasenotes|tools)/.*$'
- repo: https://github.com/sphinx-contrib/sphinx-lint
rev: v1.0.0
hooks:
- id: sphinx-lint
args: [--enable=default-role]
files: ^doc
types: [rst]
- repo: https://github.com/PyCQA/doc8
rev: v1.1.2
hooks:
- id: doc8
- repo: https://github.com/openstack/bashate
rev: 2.1.1
hooks:
- id: bashate
entry: bashate -v -iE006,E040
types: [shell]

View File

@ -4,7 +4,8 @@ Devstack Prometheus Plugin
Overview
--------
Devstack plugin to configure prometheus, node-exporter, pushgateway and alertmanager.
Devstack plugin to configure prometheus, node-exporter, pushgateway
and alertmanager.
Usage
-----

22
tox.ini
View File

@ -8,18 +8,10 @@ usedevelop = False
install_command = pip install {opts} {packages}
[testenv:linters]
deps = bashate
allowlist_externals = bash
commands = bash -c "find {toxinidir} \
-not \( -type d -name .?\* -prune \) \
-not \( -type d -name doc -prune \) \
-type f \
-not -name \*~ \
-not -name \*.md \
\( \
-name \*.sh -or \
-name \*rc -or \
-name functions\* -or \
-wholename \*/lib/\* \
\) \
-print0 | xargs -0 bashate -v -iE006,E040"
description =
Run style checks.
skip_install = true
deps =
pre-commit
commands =
pre-commit run --all-files --show-diff-on-failure