summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo van Kemenade <hugovk@users.noreply.github.com>2023-01-16 17:52:25 +0200
committerHugo van Kemenade <hugovk@users.noreply.github.com>2023-01-16 18:03:33 +0200
commit8a8047438ef9c3a7ec4ea1fff34ffa3e497c9a06 (patch)
treeb76039d9ebb1b0789449b51dfea93b41a9259ae1
parent496c69c5328b366ff3b86e25652683e528eec034 (diff)
downloadgitpython-8a8047438ef9c3a7ec4ea1fff34ffa3e497c9a06.tar.gz
Lint with Flake8 via pre-commit
-rw-r--r--.github/workflows/cygwin-test.yml15
-rw-r--r--.github/workflows/lint.yml14
-rw-r--r--.github/workflows/pythonpackage.yml12
-rw-r--r--.pre-commit-config.yaml19
-rw-r--r--README.md2
-rw-r--r--test-requirements.txt5
6 files changed, 40 insertions, 27 deletions
diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml
index 16b42f89..0018e7df 100644
--- a/.github/workflows/cygwin-test.yml
+++ b/.github/workflows/cygwin-test.yml
@@ -1,16 +1,12 @@
name: test-cygwin
-on:
- push:
- branches:
- main
- pull_request:
- branches:
- main
+on: [push, pull_request, workflow_dispatch]
jobs:
build:
runs-on: windows-latest
+ strategy:
+ fail-fast: false
env:
CHERE_INVOKING: 1
SHELLOPTS: igncr
@@ -47,11 +43,6 @@ jobs:
# If we rewrite the user's config by accident, we will mess it up
# and cause subsequent tests to fail
cat test/fixtures/.gitconfig >> ~/.gitconfig
- - name: Lint with flake8
- shell: bash.exe -eo pipefail -o igncr "{0}"
- run: |
- set -x
- /usr/bin/python -m flake8
- name: Test with pytest
shell: bash.exe -eo pipefail -o igncr "{0}"
run: |
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
new file mode 100644
index 00000000..c78a4053
--- /dev/null
+++ b/.github/workflows/lint.yml
@@ -0,0 +1,14 @@
+name: Lint
+
+on: [push, pull_request, workflow_dispatch]
+
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
+ with:
+ python-version: "3.x"
+ - uses: pre-commit/action@v3.0.0
diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml
index 5373dace..6d6c6795 100644
--- a/.github/workflows/pythonpackage.yml
+++ b/.github/workflows/pythonpackage.yml
@@ -3,11 +3,7 @@
name: Python package
-on:
- push:
- branches: [ main ]
- pull_request:
- branches: [ main ]
+on: [push, pull_request, workflow_dispatch]
permissions:
contents: read
@@ -17,6 +13,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
+ fail-fast: false
matrix:
python-version: [3.7, 3.8, 3.9, "3.10", "3.11"]
@@ -47,11 +44,6 @@ jobs:
# and cause subsequent tests to fail
cat test/fixtures/.gitconfig >> ~/.gitconfig
- - name: Lint with flake8
- run: |
- set -x
- flake8
-
- name: Check types with mypy
# With new versions of pypi new issues might arise. This is a problem if there is nobody able to fix them,
# so we have to ignore errors until that changes.
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 00000000..581cb69b
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -0,0 +1,19 @@
+repos:
+ - repo: https://github.com/PyCQA/flake8
+ rev: 6.0.0
+ hooks:
+ - id: flake8
+ additional_dependencies:
+ [
+ flake8-bugbear==22.12.6,
+ flake8-comprehensions==3.10.1,
+ flake8-typing-imports==1.14.0,
+ ]
+ exclude: ^doc|^git/ext/|^test/
+
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: v4.4.0
+ hooks:
+ - id: check-merge-conflict
+ - id: check-toml
+ - id: check-yaml
diff --git a/README.md b/README.md
index 54a735e5..82c5c9e0 100644
--- a/README.md
+++ b/README.md
@@ -107,7 +107,7 @@ with MINGW's.
Ensure testing libraries are installed.
In the root directory, run: `pip install -r test-requirements.txt`
-To lint, run: `flake8`
+To lint, run: `pre-commit run --all-files`
To typecheck, run: `mypy -p git`
diff --git a/test-requirements.txt b/test-requirements.txt
index 6549f0fa..6c6d5706 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -3,10 +3,7 @@ mypy
black
-flake8
-flake8-bugbear
-flake8-comprehensions
-flake8-typing-imports
+pre-commit
virtualenv