mirror of https://github.com/zulip/zulip.git
ci: Use an init process to reap defunct processes.
When Github Actions run in Docker, the default pid 1 entrypoint is `tail -f /dev/null`. PID 1 is responsible for propagating signals to its children, and calling `waitpid()` on defunct processes; `tail` does not do these things. This results in zombie processes piling up inside the container, which is not an issue in most contexts. However, it affects `start-stop-daemon`, which hangs when stopping daemon processes, as they are never reaped. This appears in CI as `/etc/init.d/supervisor restart` never being able to succeed. Run the docker container with `--init`, which spawns a `/sbin/docker-init` PID 1 to handle the job of an init process.
This commit is contained in:
parent
d78723b6e8
commit
2daad58afa
|
@ -142,7 +142,9 @@ jobs:
|
|||
install-command: /tmp/production-install
|
||||
|
||||
name: ${{ matrix.name }}
|
||||
container: ${{ matrix.docker_image }}
|
||||
container:
|
||||
image: ${{ matrix.docker_image }}
|
||||
options: --init
|
||||
runs-on: ubuntu-latest
|
||||
needs: production_build
|
||||
|
||||
|
@ -228,7 +230,9 @@ jobs:
|
|||
os: buster
|
||||
|
||||
name: ${{ matrix.name }}
|
||||
container: ${{ matrix.docker_image }}
|
||||
container:
|
||||
image: ${{ matrix.docker_image }}
|
||||
options: --init
|
||||
runs-on: ubuntu-latest
|
||||
needs: production_build
|
||||
|
||||
|
|
Loading…
Reference in New Issue