From f993e1d076b05f0bed3bc5231eca4aede9e73019 Mon Sep 17 00:00:00 2001 From: MikeWallaceDev Date: Mon, 25 Jul 2022 12:02:33 -0400 Subject: [PATCH] feat: add gitlint dependency --- .githooks/commit-msg | 9 ++++++++- .gitignore | 3 +++ frontend/scripts/install_dev_env/install_linux.sh | 12 ++++++++++-- frontend/scripts/install_dev_env/install_macos.sh | 11 +++++++---- 4 files changed, 28 insertions(+), 7 deletions(-) diff --git a/.githooks/commit-msg b/.githooks/commit-msg index 24cd55c6b6a40..cf50d88f35fcd 100755 --- a/.githooks/commit-msg +++ b/.githooks/commit-msg @@ -16,7 +16,14 @@ test "" = "$(grep '^Signed-off-by: ' "$1" | exit 1 } -npx --no -- commitlint --edit $1 +.githooks/gitlint \ + --msg-file=$1 \ + --subject-regex="^([bB]uild|[cC]hore|[cC]i|[dD]ocs|[fF]eat|[fF]eature|[fF]ix|[pP]erf|[rR]efactor|[rR]evert|[sS]tyle|[tT]est)(.*)?\s?:\s?.*" \ + --subject-maxlen=100 \ + --subject-minlen=10 \ + --body-regex=".*" \ + --body-maxlen=200 \ + --max-parents=1 if [ $? -ne 0 ] then diff --git a/.gitignore b/.gitignore index c956a0ad13b65..b4bd54c6beba1 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,6 @@ frontend/.vscode/* # Commit the highest level pubspec.lock, but ignore the others pubspec.lock !frontend/app_flowy/pubspec.lock + +# ignore tool used for commit linting +.githooks/gitlint diff --git a/frontend/scripts/install_dev_env/install_linux.sh b/frontend/scripts/install_dev_env/install_linux.sh index a580c22b19014..eafc15ae98f9d 100755 --- a/frontend/scripts/install_dev_env/install_linux.sh +++ b/frontend/scripts/install_dev_env/install_linux.sh @@ -50,6 +50,13 @@ flutter doctor printMessage "Setting up githooks." git config core.hooksPath .githooks +# Install go-gitlint +printMessage "Installing go-gitlint." +GOLINT_FILENAME="go-gitlint_1.1.0_linux_x86_64.tar.gz" +wget https://github.com/llorllale/go-gitlint/releases/download/1.1.0/${GOLINT_FILENAME} +tar -zxv --directory .githooks/. -f ${GOLINT_FILENAME} gitlint +rm ${GOLINT_FILENAME} + # Change to the frontend directory cd frontend @@ -62,8 +69,9 @@ printMessage "Installing duckscript." cargo install --force duckscript_cli # Install CommitLint -printMessage "Installing CommitLint." -npm install @commitlint/cli @commitlint/config-conventional --save-dev +printMessage "Installing go-gitlint." +wget https://github.com/llorllale/go-gitlint/releases/download/1.1.0/go-gitlint_1.1.0_linux_x86_64.tar.gz +tar -xf go-gitlint_1.1.0_linux_x86_64.tar.gz - C # Check prerequisites printMessage "Checking prerequisites." diff --git a/frontend/scripts/install_dev_env/install_macos.sh b/frontend/scripts/install_dev_env/install_macos.sh index edc0c40b26eae..26a2e5da02548 100755 --- a/frontend/scripts/install_dev_env/install_macos.sh +++ b/frontend/scripts/install_dev_env/install_macos.sh @@ -50,6 +50,13 @@ flutter doctor printMessage "Setting up githooks." git config core.hooksPath .githooks +# Install go-gitlint +printMessage "Installing go-gitlint." +GOLINT_FILENAME="go-gitlint_1.1.0_osx_x86_64.tar.gz" +wget https://github.com/llorllale/go-gitlint/releases/download/1.1.0/${GOLINT_FILENAME} +tar -zxv --directory .githooks/. -f ${GOLINT_FILENAME} gitlint +rm ${GOLINT_FILENAME} + # Change to the frontend directory cd frontend @@ -61,10 +68,6 @@ cargo install --force cargo-make printMessage "Installing duckscript." cargo install --force duckscript_cli -# Install CommitLint -printMessagae "Installing CommitLint." -npm install @commitlint/cli @commitlint/config-conventional --save-dev - # Check prerequisites printMessage "Checking prerequisites." cargo make flowy_dev