From 1f761aed2fccd953507b591bf35d9f7dbacec19f Mon Sep 17 00:00:00 2001 From: Joshua Ogunyinka Date: Wed, 10 Jan 2024 13:42:33 +0000 Subject: [PATCH 1/2] Pre-commit hook for doorstop --- .pre-commit-hooks.yaml | 20 ++++++++++++++++++++ git_hooks/check_unreviewed_requirements.sh | 8 ++++++++ 2 files changed, 28 insertions(+) create mode 100644 .pre-commit-hooks.yaml create mode 100755 git_hooks/check_unreviewed_requirements.sh diff --git a/.pre-commit-hooks.yaml b/.pre-commit-hooks.yaml new file mode 100644 index 000000000..d0c315ffc --- /dev/null +++ b/.pre-commit-hooks.yaml @@ -0,0 +1,20 @@ +# expected stages: commit, commit-msg, manual, merge-commit, post-checkout, post-commit, post-merge, post-rewrite, prepare-commit-msg, push + + - id: check-doorstop-errors + args: ["-W"] + name: check for doorstop errors + description: ensures the changes introduces no errors + entry: doorstop + language: python + verbose: true + pass_filenames: false + stages: [commit, push, manual] + + - id: check-unreviewed-items + name: ensure that all requirements are reviewed before being committed + description: ensure that all documents/requirements are reviewed before being committed + entry: git_hooks/check_unreviewed_requirements.sh + language: script + verbose: true + pass_filenames: false + stages: [merge-commit, manual] diff --git a/git_hooks/check_unreviewed_requirements.sh b/git_hooks/check_unreviewed_requirements.sh new file mode 100755 index 000000000..c94069797 --- /dev/null +++ b/git_hooks/check_unreviewed_requirements.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +output="$(doorstop -W 2>&1 | grep 'unreviewed changes')" + +if [ -n "$output" ]; then + echo "$output" + exit 1 +fi From ddbe061e52c1e2ff08bd7a9066b987071713a6fa Mon Sep 17 00:00:00 2001 From: Joshua Ogunyinka Date: Mon, 11 Dec 2023 13:02:32 +0000 Subject: [PATCH 2/2] Adjust doorstop build system to poetry.core.xxyy --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index d0cd6264d..e5f84d51b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -108,4 +108,4 @@ profile = "black" [build-system] requires = ["poetry>=0.12"] -build-backend = "poetry.masonry.api" +build-backend = "poetry.core.masonry.api"