mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	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:
		
							
								
								
									
										4
									
								
								.github/workflows/production-suite.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/production-suite.yml
									
									
									
									
										vendored
									
									
								
							@@ -133,7 +133,9 @@ jobs:
 | 
			
		||||
            os: bullseye
 | 
			
		||||
 | 
			
		||||
    name: ${{ matrix.name  }}
 | 
			
		||||
    container: ${{ matrix.docker_image }}
 | 
			
		||||
    container:
 | 
			
		||||
      image: ${{ matrix.docker_image }}
 | 
			
		||||
      options: --init
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    needs: production_build
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user