summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/build_sandbox.sh7
-rwxr-xr-xscripts/start_sandbox.sh21
2 files changed, 15 insertions, 13 deletions
diff --git a/scripts/build_sandbox.sh b/scripts/build_sandbox.sh
index 24291e7c..f14a3d4b 100755
--- a/scripts/build_sandbox.sh
+++ b/scripts/build_sandbox.sh
@@ -30,11 +30,14 @@ SKIP_NPM_INSTALL_BUILD=false
while getopts "sd" opt; do
case ${opt} in
s) SKIP_NPM_INSTALL_BUILD=true ;;
- d) DOCKERFILE=Dockerfile-dev ;;
+ d)
+ DOCKERFILE=Dockerfile-dev
+ IMAGE+="-dev"
+ ;;
\?)
echo "usage: $(basename "$0") [-s] [-d]"
echo " -s: skip npm install + npm run build"
- echo " -d: use Dockerfile-dev"
+ echo " -d: build dev image (using Dockerfile-dev)"
exit 1
;;
esac
diff --git a/scripts/start_sandbox.sh b/scripts/start_sandbox.sh
index 18e81bde..89046fbe 100755
--- a/scripts/start_sandbox.sh
+++ b/scripts/start_sandbox.sh
@@ -23,28 +23,27 @@ fi
CMD=$(scripts/sandbox_command.sh)
IMAGE=gemini-code-sandbox
DEBUG_PORT=9229
-
-# stop if image is missing
-if ! $CMD images -q "$IMAGE" | grep -q .; then
- echo "ERROR: $IMAGE is missing. Try \`npm run build\` with sandboxing enabled."
- exit 1
-fi
-
PROJECT=$(basename "$PWD")
WORKDIR=/sandbox/$PROJECT
CLI_PATH=/usr/local/share/npm-global/lib/node_modules/\@gemini-code/cli
-# if project is gemini-code, then run CLI from $WORKDIR/packages/cli
-# note this means the global installation is not required in this case
+# if project is gemini-code, then switch to -dev image & run CLI from $WORKDIR/packages/cli
if [[ "$PROJECT" == "gemini-code" ]]; then
+ IMAGE+="-dev"
CLI_PATH="$WORKDIR/packages/cli"
elif [ -n "${DEBUG:-}" ]; then
- # refuse to debug using global installation
- # (requires a separate attach config in launch.json, see comments there around remoteRoot)
+ # refuse to debug using global installation for now (can be added later)
+ # (requires a separate attach config, see comments in launch.json around remoteRoot)
echo "ERROR: debugging is sandbox is not supported when target/root is not gemini-code"
exit 1
fi
+# stop if image is missing
+if ! $CMD images -q "$IMAGE" | grep -q .; then
+ echo "ERROR: $IMAGE is missing. Try \`npm run build\` with sandboxing enabled."
+ exit 1
+fi
+
# use interactive tty mode and auto-remove container on exit
run_args=(-it --rm)