From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp34.i.mail.ru (smtp34.i.mail.ru [94.100.177.94]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id B4EE34765E0 for ; Tue, 29 Dec 2020 22:25:22 +0300 (MSK) Date: Tue, 29 Dec 2020 22:25:36 +0300 From: Alexander Turenko Message-ID: <20201229192536.7yoksfk4t7mx3t63@tkn_work_nb> References: <9dab8309753f75099b4f4fdf7e8e86e66051f342.1609259010.git.artemreyt@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <9dab8309753f75099b4f4fdf7e8e86e66051f342.1609259010.git.artemreyt@tarantool.org> Subject: Re: [Tarantool-patches] [PATCH 2/3] github-ci: add init option for containers List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Artem Starshov Cc: tarantool-patches@dev.tarantool.org Pushed out of order to fix our CI to master, 2.6, 2.5 and 1.10. Made several changes as listed below. WBR, Alexander Turenko. On Tue, Dec 29, 2020 at 07:25:34PM +0300, Artem Starshov wrote: > From: Alexander Turenko > > Now we have a PID 1 zombie reaping problem, when zombie > processes launched in Docker aren't collected by init, > how it would be done if we launch it on Unix. It is a bit imprecise: 'Docker' and 'Unix' are not opposites. Changed to 'launch it on a real host'. > > It is fixed by adding --init option, when image launched. This is a bit imprecise too: a container is created/started, not an image. Changed to 'when a container is created or started'. I replaced the term 'launched', because actual commands are 'docker create' or 'docker start' (you can see it in CI logs). > > Co-authored-by: Artem Starshov Added 'Follows up #4983'. > --- > .github/workflows/coverity.yml | 6 +++++- > .github/workflows/debian_11.yml | 1 + > .github/workflows/debug_coverage.yml | 6 +++++- > .github/workflows/luacheck.yml | 6 +++++- > .github/workflows/release.yml | 6 +++++- > .github/workflows/release_asan_clang11.yml | 6 +++++- > .github/workflows/release_clang.yml | 6 +++++- > .github/workflows/release_lto.yml | 6 +++++- > .github/workflows/release_lto_clang11.yml | 6 +++++- > 9 files changed, 41 insertions(+), 8 deletions(-) > > diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml > index c8f370033..a265b3dab 100644 > --- a/.github/workflows/coverity.yml > +++ b/.github/workflows/coverity.yml > @@ -22,7 +22,11 @@ jobs: > # Image built by .gitlab.mk instructions and targets from .travis.mk. > # Also additional installation of coverity tool installation check > # exists in target deps_coverity_debian at .travis.mk file. > - container: docker.io/tarantool/testing:debian-buster > + container: > + image: docker.io/tarantool/testing:debian-buster > + # We lean on reaping processes by the init process (PID 1) > + # in tests. > + options: '--init' That wording was in my fast-try-do-not-merge commit. Reworded to make it sound a bit more elegant for me (and added the test name): | # Our testing expects that the init process (PID 1) will | # reap orphan processes. At least the following test leans | # on it: app-tap/gh-4983-tnt-e-assert-false-hangs.test.lua. > > steps: > - uses: actions/checkout@v1 > diff --git a/.github/workflows/debian_11.yml b/.github/workflows/debian_11.yml > index 06008c231..84db2644d 100644 > --- a/.github/workflows/debian_11.yml > +++ b/.github/workflows/debian_11.yml > @@ -24,6 +24,7 @@ jobs: > submodules: recursive > - name: packaging > env: > + PACKPACK_EXTRA_DOCKER_RUN_PARAMS: '--init' > AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} > AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} > AWS_S3_ENDPOINT_URL: ${{ secrets.AWS_S3_ENDPOINT_URL }} Added the comment here too.