Adding pre-commit
Introduced changes: - pre-commit config and rules - Add pre-commit to pep8 gate, Flake8 is covered in the pre-commit hooks. - Applying fixes for pre-commit compliance in all code. Also commit hash will be used instead of version tags in pre-commit to prevend arbitrary code from running in developer's machines. pre-commit will be used to: - trailing whitespace; - Replaces or checks mixed line ending (mixed-line-ending); - Forbid files which have a UTF-8 byte-order marker (check-byte-order-marker); - Checks that non-binary executables have a proper shebang (check-executables-have-shebangs); - Check for files that contain merge conflict strings (check-merge-conflict); - Check for debugger imports and py37+ breakpoint() calls in python source (debug-statements); - Attempts to load all yaml files to verify syntax (check-yaml); - Run flake8 checks (flake8) (local) For further details about tests please refer to: https://github.com/pre-commit/pre-commit-hooks Change-Id: I04e73b8a70d32fec3e6131526e0bed0be8599c28 Signed-off-by: Moisés Guimarães de Medeiros <moguimar@redhat.com>
This commit is contained in:
parent
ed1659a5e3
commit
b1122e81ab
35
.pre-commit-config.yaml
Normal file
35
.pre-commit-config.yaml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# We from the Oslo project decided to pin repos based on the
|
||||||
|
# commit hash instead of the version tag to prevend arbitrary
|
||||||
|
# code from running in developer's machines. To update to a
|
||||||
|
# newer version, run `pre-commit autoupdate` and then replace
|
||||||
|
# the newer versions with their commit hash.
|
||||||
|
|
||||||
|
default_language_version:
|
||||||
|
python: python3
|
||||||
|
|
||||||
|
repos:
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: ebc15addedad713c86ef18ae9632c88e187dd0af # v3.1.0
|
||||||
|
hooks:
|
||||||
|
- id: trailing-whitespace
|
||||||
|
# Replaces or checks mixed line ending
|
||||||
|
- id: mixed-line-ending
|
||||||
|
args: ['--fix', 'lf']
|
||||||
|
exclude: '.*\.(svg)$'
|
||||||
|
# Forbid files which have a UTF-8 byte-order marker
|
||||||
|
- id: check-byte-order-marker
|
||||||
|
# Checks that non-binary executables have a proper shebang
|
||||||
|
- id: check-executables-have-shebangs
|
||||||
|
# Check for files that contain merge conflict strings.
|
||||||
|
- id: check-merge-conflict
|
||||||
|
# Check for debugger imports and py37+ breakpoint()
|
||||||
|
# calls in python source
|
||||||
|
- id: debug-statements
|
||||||
|
- id: check-yaml
|
||||||
|
files: .*\.(yaml|yml)$
|
||||||
|
- repo: https://gitlab.com/pycqa/flake8
|
||||||
|
rev: 181bb46098dddf7e2d45319ea654b4b4d58c2840 # 3.8.3
|
||||||
|
hooks:
|
||||||
|
- id: flake8
|
||||||
|
additional_dependencies:
|
||||||
|
- hacking>=3.0.1,<3.1.0
|
6
doc/source/conf.py
Executable file → Normal file
6
doc/source/conf.py
Executable file → Normal file
@ -1,4 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
# Copyright (C) 2020 Red Hat, Inc.
|
||||||
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
# You may obtain a copy of the License at
|
# You may obtain a copy of the License at
|
||||||
@ -22,7 +24,6 @@ sys.path.insert(0, os.path.abspath('../..'))
|
|||||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||||
extensions = [
|
extensions = [
|
||||||
'sphinx.ext.autodoc',
|
'sphinx.ext.autodoc',
|
||||||
#'sphinx.ext.intersphinx',
|
|
||||||
'openstackdocstheme',
|
'openstackdocstheme',
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -76,6 +77,3 @@ latex_documents = [
|
|||||||
u'%s Documentation' % project,
|
u'%s Documentation' % project,
|
||||||
u'OpenStack Foundation', 'manual'),
|
u'OpenStack Foundation', 'manual'),
|
||||||
]
|
]
|
||||||
|
|
||||||
# Example configuration for intersphinx: refer to the Python standard library.
|
|
||||||
#intersphinx_mapping = {'http://docs.python.org/': None}
|
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
# Copyright (C) 2020 Red Hat, Inc.
|
||||||
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
# You may obtain a copy of the License at
|
# You may obtain a copy of the License at
|
||||||
|
@ -18,3 +18,5 @@ reno>=3.1.0 # Apache-2.0
|
|||||||
|
|
||||||
# Bandit security code scanner
|
# Bandit security code scanner
|
||||||
bandit>=1.6.0,<1.7.0 # Apache-2.0
|
bandit>=1.6.0,<1.7.0 # Apache-2.0
|
||||||
|
|
||||||
|
pre-commit>=2.6.0 # MIT
|
||||||
|
2
tox.ini
2
tox.ini
@ -21,7 +21,7 @@ deps =
|
|||||||
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
||||||
-r{toxinidir}/test-requirements.txt
|
-r{toxinidir}/test-requirements.txt
|
||||||
commands =
|
commands =
|
||||||
flake8
|
pre-commit run -a
|
||||||
# Run security linter
|
# Run security linter
|
||||||
bandit -r oslo_rootwrap tests -n5 --skip B404
|
bandit -r oslo_rootwrap tests -n5 --skip B404
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user