mirror of
https://github.com/octoleo/telegram-bot-bash.git
synced 2024-11-22 23:45:10 +00:00
65 lines
1.8 KiB
Bash
Executable File
65 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#### $$VERSION$$ v0.98-0-g5b5447e
|
|
|
|
############
|
|
# NOTE: you MUST run install-hooks.sh again when updating this file!
|
|
|
|
# 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
|
|
|
|
export HOOKDIR="dev/hooks"
|
|
LASTPUSH='.git/.lastpush'
|
|
|
|
# if any command inside script returns error, exit and return that error
|
|
set -e
|
|
|
|
echo "Running pre-commit hook"
|
|
echo "............................"
|
|
|
|
unset IFS; set -f
|
|
|
|
# check for shellcheck
|
|
if command -v shellcheck >/dev/null 2>&1; then
|
|
echo " Test all scripts with shellcheck ..."
|
|
else
|
|
echo "Error: shellcheck is not installed. Install shellcheck or delete $0"
|
|
exit 1
|
|
fi
|
|
|
|
# run shellcheck before commit
|
|
set +f
|
|
FILES="$(find ./* -name '*.sh' | grep -v 'DIST\/' | grep -v 'STANDALONE\/')"
|
|
set -f
|
|
FILES="${FILES} $(sed '/^#/d' <"dev/shellcheck.files")"
|
|
if [ "$FILES" != "" ]; then
|
|
# shellcheck disable=SC2086
|
|
shellcheck -x ${FILES} || exit 1
|
|
echo " OK"
|
|
else
|
|
# something went wrong
|
|
exit 1
|
|
fi
|
|
|
|
REMOTEVER="$(git ls-remote -t --refs 2>/dev/null | tail -1 | sed -e 's/.*\/v//' -e 's/-.*//')"
|
|
VERSION="$(git describe --tags | sed -e 's/-.*//' -e 's/v//' -e 's/,/./')"
|
|
|
|
|
|
# LOCAL version must greater than latest REMOTE release version
|
|
if (( $(echo "${VERSION} >= ${REMOTEVER}" | bc -l) )); then
|
|
# update version in bashbot files on push
|
|
set +f
|
|
[ -f "${LASTPUSH}" ] && LASTFILES="$(find ./* -newer "${LASTPUSH}")"
|
|
[ "${LASTFILES}" = "" ] && exit
|
|
echo -n " "
|
|
# shellcheck disable=SC2086
|
|
dev/version.sh ${LASTFILES} 2>/dev/null || exit 1
|
|
echo " OK"
|
|
else
|
|
echo "Error: local version ${VERSION} must be greater or equal to release version ${REMOTEVER}."
|
|
echo "use \"git tag ...\" to create a new local version"
|
|
exit 1
|
|
fi
|
|
|