atst/script/include/run_setup
dandds beabd2ce72 Remove the scriptz submodule and hard-commit the files.
The submodule is a leftover from when this project was intended to work
as a series of microservices. It was meant to provide common
functionality to the builds for every microservice. That's no longer the
case, and the submodule is a pain-point both in on-boarding new
developers and running the Docker build.
2019-07-14 16:01:13 -04:00

74 lines
1.8 KiB
Plaintext

# setup: Set up application for the first time after cloning, or set it
# back to the initial first unused state.
# Load setup functions
source ./script/include/setup_functions.inc.sh
## Set option defaults
# If CREATE_VENV is not set, set it to "true"
if [ -z "${CREATE_VENV+is_set}" ]; then
CREATE_VENV="true"
fi
# If INSTALL_SASS is not set, set it to "false"
if [ -z "${INSTALL_SASS+is_set}" ]; then
INSTALL_SASS="false"
fi
# If PIP_VERSION is not set, set it to "10.*"
if [ -z "${PIP_VERSION+is_set}" ]; then
PIP_VERSION="10.*"
fi
# If RESET_DB is not set, set it to "false"
if [ -z "${RESET_DB+is_set}" ]; then
RESET_DB="false"
fi
# If KEEP_EXISTING_VENV is not set, set it to "false"
if [ -z "${KEEP_EXISTING_VENV+is_set}" ]; then
KEEP_EXISTING_VENV="false"
fi
## Main
# Remove any existing node modules as part of initial app setup or reset
rm -rf ./node_modules
if [ "${CREATE_VENV}" = "true" ]; then
# Ensure pipenv is installed
if ! pipenv --version >/dev/null 2>&1 ; then
echo "ERROR: pipenv is malfunctioning or not present"
exit 1
fi
python_version=$(grep python_version ./Pipfile | cut -d '"' -f 2)
if ! check_for_existing_virtual_environment "${python_version}" || \
[ "${KEEP_EXISTING_VENV}" = "false" ]
then
create_virtual_environment "${python_version}"
fi
pip_install "pip==${PIP_VERSION}" "--upgrade"
fi
if [ "${INSTALL_SASS}" = "true" ]; then
install_sass
fi
# Install application dependencies
./script/bootstrap
if [ "${RESET_DB}" = "true" ]; then
# Fetch postgres settings and set them as ENV vars
source ./script/get_db_settings
if [ -n "${PGDATABASE}" ]; then
echo "Resetting database ${PGDATABASE}..."
# Reset the db
reset_db "${PGDATABASE}"
else
echo "ERROR: RESET_DB is set, but PGDATABASE is not!"
echo "Skipping database reset..."
fi
fi