diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b4bf01d..efdec22 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -131,6 +131,10 @@ jobs: container: image: ${{ matrix.os-image }} + env: + DEBIAN_FRONTEND: noninteractive + DEBCONF_NONINTERACTIVE_SEEN: "true" + TZ: UTC steps: - name: Checkout code diff --git a/install.sh b/install.sh index c06f3af..736b0f6 100755 --- a/install.sh +++ b/install.sh @@ -65,6 +65,12 @@ if [[ "$OSTYPE" != "linux-gnu"* ]]; then exit 1 fi +# Detect CI environment and configure non-interactive mode +if [[ -n "$CI" ]] || [[ -n "$GITHUB_ACTIONS" ]] || [[ -n "$DEBIAN_FRONTEND" ]]; then + export DEBIAN_FRONTEND=noninteractive + export DEBCONF_NONINTERACTIVE_SEEN=true +fi + print_header "Reticulum BLE Interface Installer" echo diff --git a/tests/test_installer.sh b/tests/test_installer.sh index fff8d3b..c78eba2 100755 --- a/tests/test_installer.sh +++ b/tests/test_installer.sh @@ -4,6 +4,14 @@ set -e +# Configure non-interactive mode for CI/container environments +export DEBIAN_FRONTEND=noninteractive +export DEBCONF_NONINTERACTIVE_SEEN=true +export TZ=UTC + +# Pre-configure timezone to prevent interactive prompts +ln -fs /usr/share/zoneinfo/UTC /etc/localtime + echo "=== Testing install.sh on fresh system ===" echo "OS: $(cat /etc/os-release | grep PRETTY_NAME | cut -d= -f2 | tr -d '"')" echo "" @@ -11,7 +19,10 @@ echo "" # Step 1: Install prerequisites (what a user would have) echo "Step 1: Installing base prerequisites..." apt-get update -qq -apt-get install -y sudo python3 python3-pip git +apt-get install -y -q \ + -o DPkg::Pre-Install-Pkgs::=/bin/true \ + -o DPkg::Post-Install-Pkgs::=/bin/true \ + sudo python3 python3-pip git # Install Reticulum (prerequisite for BLE interface) echo "Installing Reticulum..."