Part of Eyevinn/osaas-deploy-manager#1562 (item A), sibling of the php-runner ticket for the same bug (linked from php-runner#7-equivalent — see Eyevinn/osaas-deploy-manager#1562 for the original repro, which was reproduced on php-runner; this repo has the identical unguarded pattern).
Root cause (verified against main)
scripts/docker-entrypoint.sh:261-264:
if [ -f "setup.sh" ]; then
echo "Running setup.sh..."
chmod +x setup.sh
./setup.sh
fi
No timeout wrapper — identical defect to the php-runner instance of this bug (php-runnerscripts/docker-entrypoint.sh:198-202, from which this mechanism was originally copied per that file's own comment "Mirrors python-runner's mechanism"). If setup.sh never exits, the build hangs indefinitely in building status with no terminal failure.
Acceptance criteria
- Wrap the
setup.sh invocation with timeout <N>s (match whatever value the php-runner fix lands on for consistency across runners — check that PR before implementing).
- On timeout or non-zero exit, treat as terminal failure using this repo's existing terminal-failure pattern (kill loading server / serve the failed error page) — follow whatever pattern this file already uses for other build-step failures (e.g. dependency install failure), matching the php-runner fix's approach.
- Add/update a test covering: setup.sh exceeding the timeout resolves to a terminal failed state, not an indefinite hang.
E2E impact
No existing e2e coverage for this. Tracked centrally in a linked osaas-e2e-tests issue alongside the php-runner sibling.
Part of Eyevinn/osaas-deploy-manager#1562 (item A), sibling of the php-runner ticket for the same bug (linked from php-runner#7-equivalent — see Eyevinn/osaas-deploy-manager#1562 for the original repro, which was reproduced on php-runner; this repo has the identical unguarded pattern).
Root cause (verified against
main)scripts/docker-entrypoint.sh:261-264:No timeout wrapper — identical defect to the php-runner instance of this bug (php-runner
scripts/docker-entrypoint.sh:198-202, from which this mechanism was originally copied per that file's own comment "Mirrors python-runner's mechanism"). Ifsetup.shnever exits, the build hangs indefinitely inbuildingstatus with no terminal failure.Acceptance criteria
setup.shinvocation withtimeout <N>s(match whatever value the php-runner fix lands on for consistency across runners — check that PR before implementing).E2E impact
No existing e2e coverage for this. Tracked centrally in a linked
osaas-e2e-testsissue alongside the php-runner sibling.