Files
thrillwiki_django_no_react/debug-setup-automation.sh
pacnpal f4f8ec8f9b Configure PostgreSQL with PostGIS support
- Updated database settings to use dj_database_url for environment-based configuration
- Added dj-database-url dependency
- Configured PostGIS backend for spatial data support
- Set default DATABASE_URL for production PostgreSQL connection
2025-08-19 18:51:33 -04:00

91 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
#
# Debug version of setup-automation.sh to identify non-interactive mode failures
#
set -e
# Enable verbose debugging
set -x
echo "DEBUG: Script started at $(date)"
echo "DEBUG: Arguments received: $*"
echo "DEBUG: Total argument count: $#"
# Test the exact command that's failing
echo "DEBUG: Testing setup-automation.sh with --non-interactive flag"
echo "DEBUG: NON_INTERACTIVE environment variable before: ${NON_INTERACTIVE:-unset}"
# Simulate the command line parsing logic from setup-automation.sh
echo "DEBUG: Parsing command line arguments..."
command="${1:-setup}"
echo "DEBUG: Initial command: $command"
# Parse options (mimicking the main script logic)
while [[ $# -gt 0 ]]; do
echo "DEBUG: Processing argument: $1"
case "$1" in
--non-interactive)
export NON_INTERACTIVE="true"
echo "DEBUG: NON_INTERACTIVE flag set to: $NON_INTERACTIVE"
shift
;;
--force-rebuild)
export FORCE_REBUILD="true"
echo "DEBUG: FORCE_REBUILD flag set to: $FORCE_REBUILD"
shift
;;
--debug)
export CONFIG_DEBUG="true"
echo "DEBUG: CONFIG_DEBUG flag set to: $CONFIG_DEBUG"
shift
;;
-h|--help)
echo "DEBUG: Help requested"
exit 0
;;
-*)
echo "DEBUG: Unknown option: $1"
exit 1
;;
*)
echo "DEBUG: Breaking on non-option argument: $1"
break
;;
esac
done
# Update command after option parsing (this might be the bug)
command="${1:-setup}"
echo "DEBUG: Final command after parsing: $command"
echo "DEBUG: Remaining arguments: $*"
echo "DEBUG: NON_INTERACTIVE environment variable after parsing: ${NON_INTERACTIVE:-unset}"
# Test the specific condition that shows the interactive banner
echo "DEBUG: Testing banner condition..."
if [[ "$NON_INTERACTIVE" != "true" ]]; then
echo "DEBUG: BANNER WOULD BE SHOWN - this is the problem!"
echo "DEBUG: NON_INTERACTIVE value: '$NON_INTERACTIVE'"
echo "DEBUG: Comparison result: '$NON_INTERACTIVE' != 'true'"
else
echo "DEBUG: Banner would be suppressed (correct behavior)"
fi
# Test what happens when we call the actual script
echo "DEBUG: Now calling actual setup-automation.sh with timeout..."
echo "DEBUG: Command will be: timeout 10s bash scripts/vm/setup-automation.sh setup --non-interactive"
# Add timeout to prevent hanging
if timeout 10s bash scripts/vm/setup-automation.sh setup --non-interactive 2>&1; then
echo "DEBUG: Script completed successfully"
else
exit_code=$?
echo "DEBUG: Script failed with exit code: $exit_code"
if [[ $exit_code -eq 124 ]]; then
echo "DEBUG: Script timed out (likely hanging on interactive prompt)"
fi
fi
echo "DEBUG: Debug script completed at $(date)"