diff options
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/build_sandbox.sh | 7 | ||||
| -rwxr-xr-x | scripts/start_sandbox.sh | 21 |
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) |
