feat(scripts/develop.sh): add --debug flag to develop.sh (#12423)

Adds a `--debug` flag to `scripts/develop.sh` that will start coder under `dlv debug` instead.
You can then use e.g. the following launch snippet to connect dlv:
```
    {
      "name": "Delve Remote",
      "type": "go",
      "request": "attach",
      "mode": "remote",
      "port": 12345,
    }
```

You can also run invididual CLI commands under dlv e.g.

```
debug=1 scripts/coder-dev.sh list
```

Also sets CGO_ENABLED=0 in develop.sh by default.
This commit is contained in:
Cian Johnston
2024-03-05 13:29:08 +00:00
committed by GitHub
parent 8585863d0e
commit 61db293b33
2 changed files with 15 additions and 3 deletions
+7 -2
View File
@@ -14,11 +14,12 @@ source "${SCRIPT_DIR}/lib.sh"
set -euo pipefail
CODER_DEV_ACCESS_URL="${CODER_DEV_ACCESS_URL:-http://127.0.0.1:3000}"
debug=0
DEFAULT_PASSWORD="SomeSecurePassword!"
password="${CODER_DEV_ADMIN_PASSWORD:-${DEFAULT_PASSWORD}}"
use_proxy=0
args="$(getopt -o "" -l access-url:,use-proxy,agpl,password: -- "$@")"
args="$(getopt -o "" -l access-url:,use-proxy,agpl,debug,password: -- "$@")"
eval set -- "$args"
while true; do
case "$1" in
@@ -38,6 +39,10 @@ while true; do
use_proxy=1
shift
;;
--debug)
debug=1
shift
;;
--)
shift
break
@@ -136,7 +141,7 @@ fatal() {
trap 'fatal "Script encountered an error"' ERR
cdroot
start_cmd API "" "${CODER_DEV_SHIM}" server --http-address 0.0.0.0:3000 --swagger-enable --access-url "${CODER_DEV_ACCESS_URL}" --dangerous-allow-cors-requests=true "$@"
DEBUG_DELVE="${debug}" start_cmd API "" "${CODER_DEV_SHIM}" server --http-address 0.0.0.0:3000 --swagger-enable --access-url "${CODER_DEV_ACCESS_URL}" --dangerous-allow-cors-requests=true "$@"
echo '== Waiting for Coder to become ready'
# Start the timeout in the background so interrupting this script