From 1e8f98b961e370302ba95f617ed9a7de3132b28a Mon Sep 17 00:00:00 2001 From: sarthakjdev Date: Sat, 1 Jun 2024 18:39:20 +0530 Subject: [PATCH] test: hooks Signed-off-by: sarthakjdev --- .husky/hooks/commit-msg | 26 ++++++++++++++++++++++++++ .husky/hooks/pre-commit | 11 +++++++++++ .husky/hooks/pre-push | 9 +++++++++ 3 files changed, 46 insertions(+) create mode 100755 .husky/hooks/commit-msg create mode 100755 .husky/hooks/pre-commit create mode 100755 .husky/hooks/pre-push diff --git a/.husky/hooks/commit-msg b/.husky/hooks/commit-msg new file mode 100755 index 0000000..db0a7b4 --- /dev/null +++ b/.husky/hooks/commit-msg @@ -0,0 +1,26 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + + +# check for conventional commit format +commit_msg=$(cat "$1") +# Regex to match Conventional Commit format +conventional_commit_regex='^(feat|fix|chore|docs|test|style|refactor|perf|build|ci|revert)(\(.+?\))?: .{1,}$' + +if ! [[ "$commit_msg" =~ $conventional_commit_regex ]]; then + echo "ERROR: Commit message does not adhere to Conventional Commits format:" + echo "$commit_msg" + exit 1 +fi + + +# If not a merge commit, require commit to be signed off +if [ ! -e .git/MERGE_MSG ] && ! grep -q "^Signed-off-by: " "$1"; then + echo >&2 "Commit message must be signed off with your user name and email." + echo >&2 "To sign off your commit, add the -s flag to the git commit command." + exit 1 +fi + + + + diff --git a/.husky/hooks/pre-commit b/.husky/hooks/pre-commit new file mode 100755 index 0000000..ffc3b34 --- /dev/null +++ b/.husky/hooks/pre-commit @@ -0,0 +1,11 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +branch=`git symbolic-ref HEAD` + +if [ "$branch" = "refs/heads/master" ]; then + echo "\\033[31mDirect commit to master is not allowed.\\033[0m" + exit 1 +fi + +go fmt ./... diff --git a/.husky/hooks/pre-push b/.husky/hooks/pre-push new file mode 100755 index 0000000..2a4657e --- /dev/null +++ b/.husky/hooks/pre-push @@ -0,0 +1,9 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +branch=`git symbolic-ref HEAD` + +if [ "$branch" = "refs/heads/master" ]; then + echo "\\033[31mDirect push to master is not allowed.\\033[0m" + exit 1 +fi