mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-07-18 09:05:10 +00:00
The scripts installing dependencies are now copied and executed before copying the full source tree. This allows to cache the dependency installation layers as long as these scripts remain unchanged. Previously, copying the entire repository invalidated the cache on every source change. While our CI intentionally doesn't preserve cached layers across independent runs, the changes in this patch help with local testing when investigating issues. Examples: - sudo -E make -C scripts/ci alpine GCC=1 - sudo -E make -C scripts/ci alpine CLANG=1 Suggested-by: Andrei Vagin <avagin@google.com> Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
26 lines
954 B
Cheetah
26 lines
954 B
Cheetah
ARG CC=gcc
|
|
|
|
# On Ubuntu, kernel modules such as ip_tables and xt_mark may not be loaded by default
|
|
# We need to install kmod to enable iptables to load these modules for us.
|
|
COPY contrib/dependencies/apt-packages.sh /criu/contrib/dependencies/apt-packages.sh
|
|
COPY contrib/apt-install /criu/contrib/apt-install
|
|
WORKDIR /criu
|
|
RUN /criu/contrib/apt-install "$CC" && /criu/contrib/dependencies/apt-packages.sh
|
|
|
|
COPY . /criu
|
|
|
|
RUN git clean -dfx && date && \
|
|
# Check single object build
|
|
make -j $(nproc) CC="$CC" criu/parasite-syscall.o && \
|
|
# Compile criu
|
|
make -j $(nproc) CC="$CC" && \
|
|
date && \
|
|
# Check that "make mrproper" works
|
|
make mrproper && ! git clean -ndx --exclude=scripts/build \
|
|
--exclude=.config --exclude=test | grep .
|
|
|
|
# Re-compile criu and compile tests for 'make docker-test'
|
|
RUN make -j $(nproc) CC="$CC" && \
|
|
date && make -j $(nproc) CC="$CC" -C test/zdtm && date
|
|
|
|
#RUN make test/compel/handle_binary && ./test/compel/handle_binary
|