🔄 synced file(s) with OpenIMSDK/Open-IM-Server

🤖 kubbot to synchronize the warehouse
dev_1
kubbot 2 years ago
parent 8cb1b2a759
commit 347ba720da
  1. 13
      scripts/githooks/commit-msg
  2. 69
      scripts/githooks/pre-commit
  3. 16
      scripts/githooks/pre-push

@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Copyright © 2023 OpenIMSDK. # Copyright © 2023 OpenIMSDK.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
@ -55,10 +56,7 @@ test "" = "$(grep '^Signed-off-by: ' "$1" |
exit 1 exit 1
} }
# TODO: go-gitlint dir set ./tools/go-gitlint \
GITLINT_DIR="./_output/tools/go-gitlint"
$GITLINT_DIR \
--msg-file=$1 \ --msg-file=$1 \
--subject-regex="^(build|chore|ci|docs|feat|feature|fix|perf|refactor|revert|style|test)(.*)?:\s?.*" \ --subject-regex="^(build|chore|ci|docs|feat|feature|fix|perf|refactor|revert|style|test)(.*)?:\s?.*" \
--subject-maxlen=150 \ --subject-maxlen=150 \
@ -68,10 +66,7 @@ $GITLINT_DIR \
if [ $? -ne 0 ] if [ $? -ne 0 ]
then then
if ! command -v $GITLINT_DIR &>/dev/null; then printError "Please fix your commit message to match OpenIM coding standards"
printError "$GITLINT_DIR not found. Please run 'make tools' OR 'make tools.verify.go-gitlint' make verto install it." printError "https://OpenIM.gitbook.io/docs/essential-documentation/contribute-to-OpenIM/software-contributions/submitting-code/code-submission-guidelines#commit-message-guidelines"
fi
printError "Please fix your commit message to match kubecub coding standards"
printError "https://gist.github.com/cubxxw/126b72104ac0b0ca484c9db09c3e5694#file-githook-md"
exit 1 exit 1
fi fi

@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Copyright © 2023 OpenIMSDK. # Copyright © 2023 OpenIMSDK.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
@ -13,21 +14,6 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# #
# ==============================================================================
# This is a pre-commit hook that ensures attempts to commit files that are
# are larger than $limit to your _local_ repo fail, with a helpful error message.
# You can override the default limit of 2MB by supplying the environment variable:
# GIT_FILE_SIZE_LIMIT=50000000 git commit -m "test: this commit is allowed file sizes up to 50MB"
#
# ==============================================================================
#
LC_ALL=C
local_branch="$(git rev-parse --abbrev-ref HEAD)"
valid_branch_regex="^(main|master|develop)$|(feature|feat|release|hotfix|test|bug|ci|style|)\/[a-z0-9._-]+$|^HEAD$"
YELLOW="\e[93m" YELLOW="\e[93m"
GREEN="\e[32m" GREEN="\e[32m"
@ -35,25 +21,23 @@ RED="\e[31m"
ENDCOLOR="\e[0m" ENDCOLOR="\e[0m"
printMessage() { printMessage() {
printf "${YELLOW}openim : $1${ENDCOLOR}\n" printf "${YELLOW}OpenIM : $1${ENDCOLOR}\n"
} }
printSuccess() { printSuccess() {
printf "${GREEN}openim : $1${ENDCOLOR}\n" printf "${GREEN}OpenIM : $1${ENDCOLOR}\n"
} }
printError() { printError() {
printf "${RED}openim : $1${ENDCOLOR}\n" printf "${RED}OpenIM : $1${ENDCOLOR}\n"
} }
printMessage "Running local openim pre-commit hook." printMessage "Running local OpenIM pre-commit hook."
#flutter format . #flutter format .
# https://gist.github.com/cubxxw/126b72104ac0b0ca484c9db09c3e5694#file-githook-md ##https://gist.github.com/benmccallum/28e4f216d9d72f5965133e6c43aaff6e
# TODO! GIT_FILE_SIZE_LIMIT=50000000 git commit -m "test: this commit is allowed file sizes up to 50MB" # TODO! GIT_FILE_SIZE_LIMIT=42000000 git commit -m "This commit is allowed file sizes up to 42MB"
# Maximum file size limit in bytes limit=$(( 2 * 2**20 )) # 2MB
limit=${GIT_FILE_SIZE_LIMIT:-2000000} # Default 2MB
limitInMB=$(( $limit / 1000000 ))
function file_too_large(){ function file_too_large(){
filename=$0 filename=$0
@ -62,51 +46,24 @@ function file_too_large(){
cat <<HEREDOC cat <<HEREDOC
File $filename is $filesize MB, which is larger than github's maximum File $filename is $filesize MB, which is larger than github's maximum
file size (2 MB). We will not be able to push this file to GitHub. file size (1 MB). We will not be able to push this file to GitHub.
Commit aborted Commit aborted
HEREDOC HEREDOC
git status
} }
# Move to the repo root so git files paths make sense
repo_root=$( git rev-parse --show-toplevel )
cd $repo_root
empty_tree=$( git hash-object -t tree /dev/null ) empty_tree=$( git hash-object -t tree /dev/null )
if git rev-parse --verify HEAD > /dev/null 2>&1 if git rev-parse --verify HEAD > /dev/null 2>&1
then then
against=HEAD against=HEAD
else else
against="$empty_tree" against=empty_tree
fi fi
# Set split so that for loop below can handle spaces in file names by splitting on line breaks
IFS='
'
shouldFail=false
for file in $( git diff-index --cached --name-only $against ); do for file in $( git diff-index --cached --name-only $against ); do
file_size=$(([ ! -f $file ] && echo 0) || (ls -la $file | awk '{ print $5 }')) file_size=$( ls -la $file | awk '{ print $5 }')
if [ "$file_size" -gt "$limit" ]; then if [ "$file_size" -gt "$limit" ]; then
printError "File $file is $(( $file_size / 10**6 )) MB, which is larger than our configured limit of $limitInMB MB" file_too_large $filename $file_size
shouldFail=true
fi
done
if $shouldFail
then
printMessage "If you really need to commit this file, you can override the size limit by setting the GIT_FILE_SIZE_LIMIT environment variable, e.g. GIT_FILE_SIZE_LIMIT=42000000 for 42MB. Or, commit with the --no-verify switch to skip the check entirely."
printError "Commit aborted"
exit 1; exit 1;
fi fi
done
if [[ ! $local_branch =~ $valid_branch_regex ]]
then
printError "There is something wrong with your branch name. Branch names in this project must adhere to this contract: $valid_branch_regex.
Your commit will be rejected. You should rename your branch to a valid name(feat/name OR bug/name) and try again."
printError "For more on this, read on: https://gist.github.com/cubxxw/126b72104ac0b0ca484c9db09c3e5694"
exit 1
fi

@ -1,20 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Copyright © 2023 OpenIMSDK.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# ==============================================================================
#
YELLOW="\e[93m" YELLOW="\e[93m"
GREEN="\e[32m" GREEN="\e[32m"

Loading…
Cancel
Save