scripts/setup_workspace.sh
#!/usr/bin/env bash
set -euo pipefail
# set -x
THIS_FILE=$(readlink -f "${BASH_SOURCE[0]}")
THIS_DIR=$(dirname "$THIS_FILE")
ROOT_DIR=$(dirname "$THIS_DIR")
WORKSPACE_DIR="$(dirname "$ROOT_DIR")"
. "$THIS_DIR/kash/kash.sh"
## Parse options
##
WORKSPACE_BRANCH=
WORKSPACE_TAG=
WORKSPACE_NODE=20
WORKSPACE_KIND=klifull
OPT_LIST="n:k:"
if [ "$CI" != true ]; then
OPT_LIST="b:n:t:k:"
fi
while getopts "$OPT_LIST" OPT; do
case $OPT in
b) # defines branch to pull
WORKSPACE_BRANCH=$OPTARG;;
n) # defines node version
WORKSPACE_NODE=$OPTARG;;
t) # defines tag to pull
WORKSPACE_TAG=$OPTARG;;
k) # workspace kind (nokli kli klifull)
WORKSPACE_KIND=$OPTARG;;
*)
;;
esac
done
begin_group "Setting up workspace ..."
if [ "$CI" = true ]; then
# workaround since repo is kApp with a 'A' and in kli file it's kapp with a 'a'
cd "$WORKSPACE_DIR"
mv "kApp" "kapp" && ln -s "kapp" "kApp"
cd ~-
else
shift $((OPTIND-1))
WORKSPACE_DIR="$1"
# unset KALISIO_DEVELOPMENT_DIR because we want kli to clone everyhting in $WORKSPACE_DIR
unset KALISIO_DEVELOPMENT_DIR
fi
setup_app_workspace \
"$ROOT_DIR" \
"$WORKSPACE_DIR" \
"$KALISIO_GITHUB_URL/kalisio/development.git" \
"$WORKSPACE_NODE" \
"workspaces/apps" \
"$WORKSPACE_KIND" \
"${WORKSPACE_TAG:-$WORKSPACE_BRANCH}"
end_group "Setting up workspace ..."