From 165d4da8d1513ca3909cde2ed642d9c80fb425e4 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Fri, 4 Oct 2024 10:22:10 +0200 Subject: [PATCH] Run libseccomp tests in parallel Backport a commit that allows us to run the libseccomp tests in parallel. This lets us build runc image in 30-40 seconds instead of 4-5 minutes. The bash script uses `tail` options that is not supported in busybox tail so pull in `tail` from coreutils. Signed-off-by: Natanael Copa --- embedded-bins/runc/Dockerfile | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/embedded-bins/runc/Dockerfile b/embedded-bins/runc/Dockerfile index 7e9fb099dd32..146c42a76020 100644 --- a/embedded-bins/runc/Dockerfile +++ b/embedded-bins/runc/Dockerfile @@ -2,7 +2,7 @@ ARG BUILDIMAGE FROM $BUILDIMAGE AS build RUN apk add build-base git \ - curl linux-headers gperf bash pkgconf + curl linux-headers gperf bash pkgconf cmd:tail ENV GOPATH=/go @@ -10,11 +10,25 @@ ARG LIBSECCOMP_VERSION=2.5.5 RUN curl --proto '=https' --tlsv1.2 -L https://github.com/seccomp/libseccomp/releases/download/v$LIBSECCOMP_VERSION/libseccomp-$LIBSECCOMP_VERSION.tar.gz \ | tar -C / -zx -RUN cd /libseccomp-$LIBSECCOMP_VERSION && ./configure --sysconfdir=/etc --enable-static - -RUN make -j$(nproc) -C /libseccomp-$LIBSECCOMP_VERSION -RUN make -j$(nproc) -C /libseccomp-$LIBSECCOMP_VERSION check -RUN make -C /libseccomp-$LIBSECCOMP_VERSION install +WORKDIR /libseccomp-$LIBSECCOMP_VERSION +# tests: add basic support for running tests in parallel +RUN curl -L https://github.com/seccomp/libseccomp/commit/2380f5788c692796f75e464c61aa877e5c4eb882.patch \ + | git apply +# tests: limit the number of bpf-sim-fuzz test iterations +# https://github.com/seccomp/libseccomp/commit/5878cf2383ccedca3536f47155b13145809ae08e +# the patch didnt apply due to commit touches .travis/ +# Use sed instead +RUN sed -i -e 's/50$/5/' tests/*-sim-*.tests + +# tests: add support for the LIBSECCOMP_TSTCFG_JOBS env variable +RUN curl -L https://github.com/seccomp/libseccomp/commit/4c19425fa69cfb4f7de5225d676a26ef0b442e28.patch \ + | git apply +RUN ./configure --sysconfdir=/etc --enable-static + +RUN make -j$(nproc) +RUN make -j$(nproc) check-build +RUN make -C tests check LIBSECCOMP_TSTCFG_JOBS=$(nproc) +RUN make install ARG VERSION RUN mkdir -p $GOPATH/src/github.com/opencontainers/runc