Move flake8 as a pre-commit local target.

The goal here is to avoid conflicts between flake8 and hacking version each
2 days.

Inspired from nova's approach[1].

The flake8 version to install will be determined by hacking and
requirements[2] will stay aligned instead of relying on different versions.

[1] https://opendev.org/openstack/nova/src/branch/master/.pre-commit-config.yaml#L26-L35
[2] https://opendev.org/openstack/hacking/src/branch/master/requirements.txt#L1

Change-Id: Id33601ce5949950e4791052ea34a4bf4b0e02158
This commit is contained in:
Daniel Bengtsson 2021-03-23 13:08:49 +01:00
parent d8534850d9
commit b11d9e8ab6

View File

@ -1,15 +1,15 @@
---
# We from the Oslo project decided to pin repos based on the # We from the Oslo project decided to pin repos based on the
# commit hash instead of the version tag to prevend arbitrary # commit hash instead of the version tag to prevend arbitrary
# code from running in developer's machines. To update to a # code from running in developer's machines. To update to a
# newer version, run `pre-commit autoupdate` and then replace # newer version, run `pre-commit autoupdate` and then replace
# the newer versions with their commit hash. # the newer versions with their commit hash.
default_language_version: default_language_version:
python: python3 python: python3
repos: repos:
- repo: https://github.com/pre-commit/pre-commit-hooks - repo: https://github.com/pre-commit/pre-commit-hooks
rev: ebc15addedad713c86ef18ae9632c88e187dd0af # v3.1.0 rev: 9136088a246768144165fcc3ecc3d31bb686920a # v3.3.0
hooks: hooks:
- id: trailing-whitespace - id: trailing-whitespace
# Replaces or checks mixed line ending # Replaces or checks mixed line ending
@ -27,9 +27,13 @@ repos:
- id: debug-statements - id: debug-statements
- id: check-yaml - id: check-yaml
files: .*\.(yaml|yml)$ files: .*\.(yaml|yml)$
- repo: https://gitlab.com/pycqa/flake8 - repo: local
rev: 181bb46098dddf7e2d45319ea654b4b4d58c2840 # 3.8.3
hooks: hooks:
- id: flake8 - id: flake8
name: flake8
additional_dependencies: additional_dependencies:
- hacking>=3.2.0,<3.3.0 - hacking>=3.2.0,<3.3.0
language: python
entry: flake8
files: '^.*\.py$'
exclude: '^(doc|releasenotes|tools)/.*$'