Files
openfoodnetwork/script/ci/includes.sh
Maikel Linke 245d900b58 Remove unused CI scripts
We used to have our own CI server, but now we are using Travis and
Semaphore. We don't need these scripts any more. And since
parallel_tests was removed in the previous commit, they are broken
anyway.
2018-10-09 17:06:59 +11:00

77 lines
2.0 KiB
Bash

function require_env_vars {
for var in "$@"; do
eval value=\$$var
echo "$var=$value"
if [ -z "$value" ]; then
echo "Environment variable $var missing."
exit 1
fi
done
}
function master_merged {
if [[ `git tag -l "$BUILDKITE_BRANCH"` != '' ]]; then
echo "'$BUILDKITE_BRANCH' is a tag."
if [[ `git tag -l --contains origin/master "$BUILDKITE_BRANCH"` != '' ]]; then
echo "This tag contains the current master."
return 0
else
echo "This tag does not contain the current master."
return 1
fi
fi
if [[ `git branch -r --merged origin/$BUILDKITE_BRANCH` == *origin/master* ]]; then
echo "This branch already has the current master merged."
return 0
fi
return 1
}
function exit_unless_master_merged {
if ! master_merged; then
echo "This branch does not have the current master merged. Please merge master and push again."
exit 1
fi
}
function succeed_if_master_merged {
if master_merged; then
exit 0
fi
}
function set_ofn_commit {
echo "Setting commit to $1"
buildkite-agent meta-data set "openfoodnetwork:git:commit" $1
}
function get_ofn_commit {
OFN_COMMIT=`buildkite-agent meta-data get "openfoodnetwork:git:commit"`
# If we don't catch this failure case, push will execute:
# git push remote :master --force
# Which will delete the master branch on the server
if [[ `expr length "$OFN_COMMIT"` == 0 ]]; then
echo 'OFN_COMMIT_NOT_FOUND'
else
echo $OFN_COMMIT
fi
}
function drop_and_recreate_database {
# Adapted from: http://stackoverflow.com/questions/12924466/capistrano-with-postgresql-error-database-is-being-accessed-by-other-users
DB=$1
shift
psql postgres $@ <<EOF
REVOKE CONNECT ON DATABASE $DB FROM public;
ALTER DATABASE $DB CONNECTION LIMIT 0;
SELECT pg_terminate_backend(procpid)
FROM pg_stat_activity
WHERE procpid <> pg_backend_pid()
AND datname='$DB';
DROP DATABASE $DB;
CREATE DATABASE $DB;
EOF
}