eff4db5b27
Summary: Add --no-clone-dependencies init script argument. Reviewers: matej.gradicek Reviewed By: matej.gradicek Subscribers: buda Differential Revision: https://phabricator.memgraph.io/D136
69 lines
1.7 KiB
Bash
Executable File
69 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# read arguments
|
|
clone_dependencies=true
|
|
while [[ $# -gt 0 ]]
|
|
do
|
|
key="$1"
|
|
case $key in
|
|
--no-clone-dependencies)
|
|
clone_dependencies=false
|
|
shift # past argument
|
|
;;
|
|
*)
|
|
# unknown option
|
|
;;
|
|
esac
|
|
shift # past argument
|
|
done
|
|
|
|
# exit if any subcommand returns a non-zero status
|
|
set -e
|
|
|
|
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
|
# optional argument; if diff_id exists arcanist patch will be applied
|
|
arcanist_diff_id=${1:-""}
|
|
|
|
# install all dependencies on debian based operating systems
|
|
for pkg in git arcanist python3-virtualenv python3-pip; do
|
|
dpkg -s $pkg 2>/dev/null >/dev/null || sudo apt-get -y install $pkg
|
|
done
|
|
|
|
# TODO: use pullbot and read a password from program arg or env var
|
|
# (in order to use this script inside CI infrastructure)
|
|
|
|
# clean tests folder
|
|
tests_folder=${script_dir}/tests
|
|
mkdir -p ${tests_folder}
|
|
|
|
# clone dressipi's tests
|
|
cd ${tests_folder}
|
|
if ${clone_dependencies} ; then
|
|
rm -rf ${tests_folder}/*
|
|
git clone https://phabricator.memgraph.io/source/pilot_dressipi.git
|
|
fi
|
|
|
|
# clean dbms folder
|
|
dbms_folder=${script_dir}/dbms
|
|
mkdir -p ${dbms_folder}
|
|
|
|
# clone memgraph & checkout right commit
|
|
cd ${dbms_folder}
|
|
if ${clone_dependencies} ; then
|
|
rm -rf ${dbms_folder}/*
|
|
git clone https://phabricator.memgraph.io/diffusion/MG/memgraph.git
|
|
fi
|
|
memgraph_folder=${dbms_folder}/memgraph
|
|
cd ${memgraph_folder}
|
|
git checkout dev
|
|
# optionally apply arcanist patch
|
|
if [[ ! -z ${arcanist_diff_id} ]]; then
|
|
# nocommit is here because arc tries to commit the patch
|
|
# and it fails if user isn't set (inside CI infrastructure the user
|
|
# probably won't be defined because CI infrastructure doesn't push
|
|
# any code back to the repository)
|
|
arc parch ${arcanist_diff_id} --nocommit
|
|
fi
|
|
./init
|