Vmeda.Online/.github/scripts/functions.sh

92 lines
2.0 KiB
Bash
Raw Normal View History

#!/bin/bash
function check_success_exit {
if [ $? -ne 0 ]; then
print_error "$1"
exit 1
elif [ "$#" -gt 1 ]; then
print_ok "$2"
fi
}
function check_success {
if [ $? -ne 0 ]; then
print_error "$1"
elif [ "$#" -gt 1 ]; then
print_ok "$2"
fi
}
function print_success {
if [ $? -ne 0 ]; then
print_message "$1"
$3=0
else
print_ok "$2"
fi
}
function print_error {
echo " ERROR: $1"
}
function print_ok {
echo " OK: $1"
echo
}
function print_message {
echo "-------- $1"
echo
}
function print_title {
stepnumber=$(($stepnumber + 1))
echo
echo "$stepnumber $1"
echo '=================='
}
function telegram_notify {
if [ ! -z $TELEGRAM_APIKEY ] && [ ! -z $TELEGRAM_CHATID ] ; then
MESSAGE="Travis error: $1%0ABranch: $TRAVIS_BRANCH%0ARepo: $TRAVIS_REPO_SLUG"
URL="https://api.telegram.org/bot$TELEGRAM_APIKEY/sendMessage"
curl -s -X POST $URL -d chat_id=$TELEGRAM_CHATID -d text="$MESSAGE"
fi
}
function notify_on_error_exit {
if [ $? -ne 0 ]; then
print_error "$1"
telegram_notify "$1"
exit 1
fi
}
function get_behat_plugin_changes_diff {
# Grab hashes from app repository
currenthash=`git rev-parse HEAD`
initialhash=`git rev-list HEAD | tail -n 1`
# Move into plugin repository to find previous hash
cd tmp/local_moodleappbehat
i=0
previoushash=""
totalcommits=`git log --oneline | wc -l`
repositoryname=`echo $GITHUB_REPOSITORY | sed "s/\\//\\\\\\\\\\//"`
((totalcommits--))
while [ $i -lt $totalcommits ] && [[ -z $previoushash ]]; do
previoushash=`git rev-list --format=%B --max-count=1 HEAD~$i | grep -o "https:\/\/github\.com\/$repositoryname\/compare\/[^.]\+\.\.\.[^.]\+" | sed "s/https:\/\/github\.com\/$repositoryname\/compare\/[^.]\+\.\.\.//"`
((i++))
done
if [[ -z $previoushash ]]; then
previoushash=$initialhash
fi
echo "$previoushash...$currenthash"
}