openwisp / openwisp/docker-openwisp
[bug/ci] Make auto-install.sh capable of running in non-interactive mode
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 209
- Forks
- 125
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 24
Description
Describe the bug
When running deploy/auto-install.sh in a CI environment (GitHub Actions) with input piped via heredoc or printf, the script hangs waiting for user input. This appears to be due to prompts reading from /dev/tty instead of standard input, which is not available in non-interactive environments. As a result, automation steps that previously worked now get stuck indefinitely.
Steps To Reproduce
See https://github.com/openwisp/docker-openwisp/pull/487.
- Set up a GitHub Actions job on
ubuntu-24.04runner. - Run a step that pipes input to
auto-install.sh, for example:printf "edge\n./.env\n" | sudo -E ./deploy/auto-install.sh - Observe that the script starts, prints the welcome message, but hangs at the first prompt for input.
Expected behavior
The script should:
Accept piped input from stdin in addition to /dev/tty.
Or allow passing all required inputs via command-line arguments or environment variables (e.g., --version, --env-file) so it can run fully non-interactively in CI environments.
System Information:
OS: Ubuntu 24.04 LTS (GitHub Actions ubuntu-24.04 runner)
Docker version: 27.0.3, build 7d4bcd8
Browser: N/A
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with deploy/auto-install.sh and reproduce the hang in a GitHub Actions Ubuntu 24.04 step using the printf command from the issue. Trace how prompts read from /dev/tty versus stdin; done means the required inputs can be supplied non-interactively without hanging, while preserving the existing interactive behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, github-actions, shell
- Domain
- ci-cd, devops, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100