[Tarantool-patches] [PATCH 2/3] github-ci: add init option for containers

Artem Starshov artemreyt at tarantool.org
Tue Dec 29 19:25:34 MSK 2020


From: Alexander Turenko <alexander.turenko at tarantool.org>

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 fixed by adding --init option, when image launched.

Co-authored-by: Artem Starshov <artemreyt at tarantool.org>
---
 .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'
 
     steps:
       - uses: actions/checkout at 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 }}
diff --git a/.github/workflows/debug_coverage.yml b/.github/workflows/debug_coverage.yml
index e671484d7..6787a2e91 100644
--- a/.github/workflows/debug_coverage.yml
+++ b/.github/workflows/debug_coverage.yml
@@ -18,7 +18,11 @@ jobs:
       fail-fast: false
 
     # image built by .gitlab.mk instructions and targets from .travis.mk
-    container: docker.io/tarantool/testing:debian-stretch
+    container:
+      image: docker.io/tarantool/testing:debian-stretch
+      # We lean on reaping processes by the init process (PID 1)
+      # in tests.
+      options: '--init'
 
     steps:
       - uses: actions/checkout at v1
diff --git a/.github/workflows/luacheck.yml b/.github/workflows/luacheck.yml
index 0a5af13b3..511265466 100644
--- a/.github/workflows/luacheck.yml
+++ b/.github/workflows/luacheck.yml
@@ -18,7 +18,11 @@ jobs:
       fail-fast: false
 
     # image built by .gitlab.mk instructions and targets from .travis.mk
-    container: docker.io/tarantool/testing:debian-stretch
+    container:
+      image: docker.io/tarantool/testing:debian-stretch
+      # We lean on reaping processes by the init process (PID 1)
+      # in tests.
+      options: '--init'
 
     steps:
       - uses: actions/checkout at v1
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index ebd85cba3..b6fea6dbc 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -18,7 +18,11 @@ jobs:
       fail-fast: false
 
     # image built by .gitlab.mk instructions and targets from .travis.mk
-    container: docker.io/tarantool/testing:debian-stretch
+    container:
+      image: docker.io/tarantool/testing:debian-stretch
+      # We lean on reaping processes by the init process (PID 1)
+      # in tests.
+      options: '--init'
 
     steps:
       - uses: actions/checkout at v1
diff --git a/.github/workflows/release_asan_clang11.yml b/.github/workflows/release_asan_clang11.yml
index a3885bc27..346f9f0ee 100644
--- a/.github/workflows/release_asan_clang11.yml
+++ b/.github/workflows/release_asan_clang11.yml
@@ -18,7 +18,11 @@ jobs:
       fail-fast: false
 
     # image built by .gitlab.mk instructions and targets from .travis.mk
-    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'
 
     steps:
       - uses: actions/checkout at v2.3.4
diff --git a/.github/workflows/release_clang.yml b/.github/workflows/release_clang.yml
index a94c8840a..42decd5da 100644
--- a/.github/workflows/release_clang.yml
+++ b/.github/workflows/release_clang.yml
@@ -18,7 +18,11 @@ jobs:
       fail-fast: false
 
     # image built by .gitlab.mk instructions and targets from .travis.mk
-    container: docker.io/tarantool/testing:debian-stretch
+    container:
+      image: docker.io/tarantool/testing:debian-stretch
+      # We lean on reaping processes by the init process (PID 1)
+      # in tests.
+      options: '--init'
 
     steps:
       - uses: actions/checkout at v1
diff --git a/.github/workflows/release_lto.yml b/.github/workflows/release_lto.yml
index c9905f226..526f19974 100644
--- a/.github/workflows/release_lto.yml
+++ b/.github/workflows/release_lto.yml
@@ -18,7 +18,11 @@ jobs:
       fail-fast: false
 
     # image built by .gitlab.mk instructions and targets from .travis.mk
-    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'
 
     steps:
       - uses: actions/checkout at v2.3.4
diff --git a/.github/workflows/release_lto_clang11.yml b/.github/workflows/release_lto_clang11.yml
index d57b15f3a..4a10712de 100644
--- a/.github/workflows/release_lto_clang11.yml
+++ b/.github/workflows/release_lto_clang11.yml
@@ -18,7 +18,11 @@ jobs:
       fail-fast: false
 
     # image built by .gitlab.mk instructions and targets from .travis.mk
-    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'
 
     steps:
       - uses: actions/checkout at v2.3.4
-- 
2.28.0



More information about the Tarantool-patches mailing list