add pre-push hook

This commit is contained in:
Kay Marquardt (Gnadelwartz) 2019-04-18 21:02:06 +02:00
parent ebd9e6fb9f
commit 8bb14ec909
20 changed files with 55 additions and 24 deletions

View File

@ -99,4 +99,4 @@ Bashbot is not more (in)secure as any other Bot written in any other language, w
If you feel that there's something missing or if you found a bug, feel free to submit a pull request! If you feel that there's something missing or if you found a bug, feel free to submit a pull request!
#### $$VERSION$$ v0.60-0-gf5162e2 #### $$VERSION$$ 0.70-dev-2-gebd9e6f

View File

@ -17,8 +17,8 @@ Prerequisites
Depends on http://github.com/tmux/tmux[tmux]. Uses Depends on http://github.com/tmux/tmux[tmux]. Uses
http://github.com/dominictarr/JSON.sh[JSON.sh]. http://github.com/dominictarr/JSON.sh[JSON.sh].
For full UTF-8 support you need Most complete link:doc/4_expert.md#Bashbot-UTF-8-Support[UTF-8 support
link:doc/4_expert.md#UTF-8-Support[python on your system] (optional). for bashbot] is availible if phyton is installed (optional).
Bashbot https://github.com/topkecleon/telegram-bot-bash[Documentation] Bashbot https://github.com/topkecleon/telegram-bot-bash[Documentation]
and https://github.com/topkecleon/telegram-bot-bash/releases[Downloads] and https://github.com/topkecleon/telegram-bot-bash/releases[Downloads]
@ -161,5 +161,5 @@ That's it!
If you feel that there's something missing or if you found a bug, feel If you feel that there's something missing or if you found a bug, feel
free to submit a pull request! free to submit a pull request!
latexmath:[\[VERSION\]] v0.60-0-gf5162e2 latexmath:[\[VERSION\]] 0.70-dev-2-gebd9e6f
++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++

View File

@ -7,7 +7,7 @@
# This file is public domain in the USA and all free countries. # This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
# #
#### $$VERSION$$ v0.60-0-gf5162e2 #### $$VERSION$$ 0.70-dev-2-gebd9e6f
SHELL=/bin/sh SHELL=/bin/sh

View File

@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
# description: Start or stop telegram-bash-bot # description: Start or stop telegram-bash-bot
# #
#### $$VERSION$$ v0.60-0-gf5162e2 #### $$VERSION$$ 0.70-dev-2-gebd9e6f
# shellcheck disable=SC2009 # shellcheck disable=SC2009
# shellcheck disable=SC2181 # shellcheck disable=SC2181

View File

@ -10,7 +10,7 @@
# This file is public domain in the USA and all free countries. # This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
# #
#### $$VERSION$$ v0.60-0-gf5162e2 #### $$VERSION$$ 0.70-dev-2-gebd9e6f
# #
# Exit Codes: # Exit Codes:
# - 0 sucess (hopefully) # - 0 sucess (hopefully)

2
calc
View File

@ -3,7 +3,7 @@
# This file is public domain in the USA and all free countries. # This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#### $$VERSION$$ v0.60-0-gf5162e2 #### $$VERSION$$ 0.70-dev-2-gebd9e6f
# adjust your language setting here # adjust your language setting here
# https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment # https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment

View File

@ -4,7 +4,7 @@
# This file is public domain in the USA and all free countries. # This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
# #
#### $$VERSION$$ v0.60-0-gf5162e2 #### $$VERSION$$ 0.70-dev-2-gebd9e6f
# #
# shellcheck disable=SC2154 # shellcheck disable=SC2154
# shellcheck disable=SC2034 # shellcheck disable=SC2034

View File

@ -61,5 +61,5 @@ group. This step is up to you actually.
#### [Next Getting started](2_usage.md) #### [Next Getting started](2_usage.md)
#### $$VERSION$$ v0.60-0-gf5162e2 #### $$VERSION$$ 0.70-dev-2-gebd9e6f

View File

@ -159,5 +159,5 @@ send_action "${CHAT[ID]}" "action"
#### [Prev Create Bot](1_firstbot.md) #### [Prev Create Bot](1_firstbot.md)
#### [Next Advanced Usage](3_advanced.md) #### [Next Advanced Usage](3_advanced.md)
#### $$VERSION$$ v0.60-0-gf5162e2 #### $$VERSION$$ 0.70-dev-2-gebd9e6f

View File

@ -156,5 +156,5 @@ answer_inline_query "$iQUERY_ID" "cached_sticker" "identifier for the sticker"
#### [Prev Advanced Usage](3_advanced.md) #### [Prev Advanced Usage](3_advanced.md)
#### [Next Expert Use](4_expert.md) #### [Next Expert Use](4_expert.md)
#### $$VERSION$$ v0.60-0-gf5162e2 #### $$VERSION$$ 0.70-dev-2-gebd9e6f

View File

@ -104,5 +104,5 @@ An example crontab is provided in ```bashbot.cron```.
#### [Prev Expert Use](4_expert.md) #### [Prev Expert Use](4_expert.md)
#### [Next Best Practice](5_practice.md) #### [Next Best Practice](5_practice.md)
#### $$VERSION$$ v0.60-0-gf5162e2 #### $$VERSION$$ 0.70-dev-2-gebd9e6f

View File

@ -112,5 +112,5 @@ The second warning is about an unused variable, this is true because in our exam
#### [Prev Best Practice](5_practice.md) #### [Prev Best Practice](5_practice.md)
#### [Next Functions Reference](6_reference.md) #### [Next Functions Reference](6_reference.md)
#### $$VERSION$$ v0.60-0-gf5162e2 #### $$VERSION$$ 0.70-dev-2-gebd9e6f

View File

@ -347,5 +347,5 @@ Send Input from Telegram to waiting Interactive Chat.
#### [Prev Best Practice](5_practice.md) #### [Prev Best Practice](5_practice.md)
#### $$VERSION$$ v0.60-0-gf5162e2 #### $$VERSION$$ 0.70-dev-2-gebd9e6f

View File

@ -12,9 +12,9 @@ echo -n "Installing hooks..."
for hook in pre-commit pre-push for hook in pre-commit pre-push
do do
rm -f "$GIT_DIR/hooks/${hook}" rm -f "$GIT_DIR/hooks/${hook}"
if [ -f "test/${hook}.sh" ]; then if [ -f "hooks/${hook}.sh" ]; then
echo -n " $hook" echo -n " $hook"
ln -s "../../test/${hook}.sh" "$GIT_DIR/hooks/${hook}" ln -s "../../hooks/${hook}.sh" "$GIT_DIR/hooks/${hook}"
fi fi
done done
echo " Done!" echo " Done!"

View File

@ -18,7 +18,7 @@ echo "............................"
unset IFS; set -f unset IFS; set -f
# run shellcheck before commit # run shellcheck before commit
FILES=$(sed '/^#/d' <"test/shellcheck.files") FILES=$(sed '/^#/d' <"hooks/shellcheck.files")
if [ "$FILES" != "" ]; then if [ "$FILES" != "" ]; then
# shellcheck disable=SC2086 # shellcheck disable=SC2086
shellcheck -x ${FILES} shellcheck -x ${FILES}

31
hooks/pre-push.sh Executable file
View File

@ -0,0 +1,31 @@
#!/usr/bin/env bash
#### $$VERSION$$ 0.70-dev-0-g209c4b3
# magic to ensure that we're always inside the root of our application,
# no matter from which directory we'll run script
GIT_DIR=$(git rev-parse --git-dir)
cd "$GIT_DIR/.." || exit 1
REMOTEVER="$(git ls-remote -t --refs 2>/dev/null | tail -1 | sed 's/.*\/v//')"
VERSION="$(git describe --tags | sed -e 's/-.*//' -e 's/v//')"
echo "Running pre-push hook"
# if any command inside script returns error, exit and return that error
set -e
# let's fake failing test for now
echo "Running tests"
echo "............................"
unset IFS; set -f
# LOCAL version must greater than latest REMOTE release version
if (( $(echo "${VERSION} > ${REMOTEVER}" | bc -l) )); then
# update version in bashbot files on push
./version
else
echo "Error: local version ${VERSION} must be greater than latest release version."
echo "use \"git tag ...\" to create a local version greater than ${REMOTEVER}"
exit 1
fi

View File

@ -10,5 +10,5 @@ commands.sh
notify notify
question question
# test files # test files
test/install-hooks.sh hooks/install-hooks.sh
test/pre-commit.sh hooks/pre-commit.sh

2
notify
View File

@ -2,7 +2,7 @@
# This file is public domain in the USA and all free countries. # This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#### $$VERSION$$ v0.60-0-gf5162e2 #### $$VERSION$$ 0.70-dev-2-gebd9e6f
# adjust your language setting here # adjust your language setting here
# https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment # https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment

View File

@ -3,7 +3,7 @@
# This file is public domain in the USA and all free countries. # This file is public domain in the USA and all free countries.
# Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying) # Elsewhere, consider it to be WTFPLv2. (wtfpl.net/txt/copying)
#### $$VERSION$$ v0.60-0-gf5162e2 #### $$VERSION$$ 0.70-dev-2-gebd9e6f
# adjust your language setting here # adjust your language setting here
# https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment # https://github.com/topkecleon/telegram-bot-bash#setting-up-your-environment

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# #
#### $$VERSION$$ 0.70-dev-0-g209c4b3 #### $$VERSION$$ 0.70-dev-2-gebd9e6f
# shellcheck disable=SC2016 # shellcheck disable=SC2016
# #
# Easy Versioning in git: # Easy Versioning in git: