summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2020-09-22 11:41:04 +0000
committerGerrit Code Review <review@openstack.org>2020-09-22 11:41:04 +0000
commit12e73eaf436ad7ff2db62f4621a9f74dbba07d00 (patch)
tree1913c30b3f2bcef9c9b6ce99d61556c5fd9406e8
parent47d76c448a2905ac5a6fb43760cd13d00c5ff542 (diff)
parent2f4cb354f773d1236289bd7e0e00cdc5cea30020 (diff)
downloadoslotest-12e73eaf436ad7ff2db62f4621a9f74dbba07d00.tar.gz
Merge "Adding pre-commit"
-rw-r--r--.pre-commit-config.yaml35
-rw-r--r--[-rwxr-xr-x]doc/source/conf.py1
-rw-r--r--test-requirements.txt2
-rwxr-xr-xtools/oslo_run_pre_release_tests7
-rw-r--r--tox.ini2
5 files changed, 43 insertions, 4 deletions
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 0000000..9d94556
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -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
diff --git a/doc/source/conf.py b/doc/source/conf.py
index 789874b..6d034ed 100755..100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
+# Copyright (C) 2020 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
diff --git a/test-requirements.txt b/test-requirements.txt
index 758471d..60dd8fd 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -11,3 +11,5 @@ coverage!=4.4,>=4.0 # Apache-2.0
oslo.config>=5.2.0 # Apache-2.0
stestr>=2.0.0
+
+pre-commit>=2.6.0 # MIT
diff --git a/tools/oslo_run_pre_release_tests b/tools/oslo_run_pre_release_tests
index 4fc0d5c..378a0db 100755
--- a/tools/oslo_run_pre_release_tests
+++ b/tools/oslo_run_pre_release_tests
@@ -26,8 +26,7 @@ import pkg_resources
def find_all_projects(repo_root):
- """Scan the checked out repositories for all available projects.
- """
+ """Scan the checked out repositories for all available projects."""
pattern = os.path.join(repo_root, 'openstack/*')
candidates = glob.glob(pattern)
prefix_len = len(repo_root)
@@ -39,7 +38,9 @@ def find_all_projects(repo_root):
def find_consuming_projects(lib_name, repo_root, projects):
- """Filter the list of projects to only include entries that use the library.
+ """Filter the list of projects
+
+ Filter the list of projects to only include entries that use the library.
"""
for p in projects:
consumer = False
diff --git a/tox.ini b/tox.ini
index fb4cfd8..391314c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -12,7 +12,7 @@ deps =
commands = stestr run --slowest {posargs}
[testenv:pep8]
-commands = flake8
+commands = pre-commit run -a
[testenv:cover]
setenv =