fix: simplify workspace/folder handling using template variable

- Add WORKSPACE_ARG template variable to main.tf using coalesce()
- Remove conditional logic from run.sh since precondition ensures only one is set
- Much cleaner approach that leverages Terraform's template system properly
This commit is contained in:
blink-so[bot] 2025-08-21 03:52:47 +00:00
parent fef2c41480
commit 602e4a6d84
2 changed files with 4 additions and 11 deletions

View File

@ -185,6 +185,7 @@ resource "coder_script" "vscode-web" {
EXTENSIONS_DIR : var.extensions_dir, EXTENSIONS_DIR : var.extensions_dir,
FOLDER : var.folder, FOLDER : var.folder,
WORKSPACE : var.workspace, WORKSPACE : var.workspace,
WORKSPACE_ARG : coalesce(var.workspace, var.folder),
AUTO_INSTALL_EXTENSIONS : var.auto_install_extensions, AUTO_INSTALL_EXTENSIONS : var.auto_install_extensions,
SERVER_BASE_PATH : local.server_base_path, SERVER_BASE_PATH : local.server_base_path,
COMMIT_ID : var.commit_id, COMMIT_ID : var.commit_id,

View File

@ -23,17 +23,9 @@ if [ "${DISABLE_TRUST}" = true ]; then
fi fi
run_vscode_web() { run_vscode_web() {
# Determine what to pass as the workspace argument echo "👷 Running $VSCODE_WEB serve-local with workspace: ${WORKSPACE_ARG}"
WORKSPACE_ARG="" echo "Check logs at ${LOG_PATH}!"
if [ -n "$${WORKSPACE}" ]; then "$VSCODE_WEB" serve-local "$EXTENSION_ARG" "$SERVER_BASE_PATH_ARG" "$DISABLE_TRUST_ARG" --port "${PORT}" --host 127.0.0.1 --accept-server-license-terms --without-connection-token --telemetry-level "${TELEMETRY_LEVEL}" "${WORKSPACE_ARG}" > "${LOG_PATH}" 2>&1 &
WORKSPACE_ARG="$${WORKSPACE}"
elif [ -n "$${FOLDER}" ]; then
WORKSPACE_ARG="$${FOLDER}"
fi
echo "👷 Running $VSCODE_WEB serve-local with workspace: $${WORKSPACE_ARG}"
echo "Check logs at $${LOG_PATH}!"
"$VSCODE_WEB" serve-local "$EXTENSION_ARG" "$SERVER_BASE_PATH_ARG" "$DISABLE_TRUST_ARG" --port "$${PORT}" --host 127.0.0.1 --accept-server-license-terms --without-connection-token --telemetry-level "$${TELEMETRY_LEVEL}" "$${WORKSPACE_ARG}" > "$${LOG_PATH}" 2>&1 &
} }
# Check if the settings file exists... # Check if the settings file exists...