local: ./run-ci-tests.sh .PHONY: local after_success: ./ci-after-success.sh .PHONY: after_success target-suffix = ifdef CLANG target-suffix = -clang endif TARGETS := alpine fedora-rawhide archlinux ZDTM_OPTS := UNAME := $(shell uname -m) export UNAME CONTAINER_RUNTIME := docker export CONTAINER_RUNTIME alpine: ZDTM_OPTS=-x zdtm/static/sched_policy00 ifeq ($(GITHUB_ACTIONS),true) # GitHub Actions does not give us a real TTY and errors out with # 'the input device is not a TTY' if using '-t' CONTAINER_TERMINAL := -i else CONTAINER_TERMINAL := -it endif export CONTAINER_TERMINAL # Here we assume that any CPU architecture besides x86_64 is running in containers # that may not support running docker with '--privileged'. ifeq ($(UNAME),x86_64) CONTAINER_OPTS := --rm $(CONTAINER_TERMINAL) --privileged --userns=host --cgroupns=host -v /lib/modules:/lib/modules --tmpfs /run else CONTAINER_OPTS := --rm -v /lib/modules:/lib/modules --tmpfs /run endif ifeq ($(CONTAINER_RUNTIME),podman) # Podman limits the number of processes in a container using cgroups. # Disable it as it breaks the thread-bomb test CONTAINER_OPTS += --pids-limit=-1 CONTAINER_OPTS += --ulimit nproc=-1:-1 endif export ZDTM_OPTS export ZDTM_SHARD_INDEX export ZDTM_SHARD_COUNT $(TARGETS): $(MAKE) -C ../build $@$(target-suffix) $(CONTAINER_RUNTIME) run \ --env-file docker.env \ -v `pwd`/../../:/criu \ $(if $(ZDTM_OPTS),-e ZDTM_OPTS) \ $(if $(ZDTM_SHARD_INDEX),-e ZDTM_SHARD_INDEX) \ $(if $(ZDTM_SHARD_COUNT),-e ZDTM_SHARD_COUNT) \ $(if $(CLANG),-e CC=clang -e HOSTCC=clang) \ $(CONTAINER_OPTS) \ criu-$@ scripts/ci/run-ci-tests.sh fedora-asan: $(MAKE) -C ../build $@$(target-suffix) $(CONTAINER_RUNTIME) run $(CONTAINER_OPTS) -v `pwd`/../../:/criu criu-$@ ./scripts/ci/asan.sh $(ZDTM_OPTS) docker-test: ./docker-test.sh podman-test: ./podman-test.sh java-test: ./java-test.sh check-commit: (cd ../.. && git clean -dfx) ($(MAKE) -j $$(nproc) -C ../.. && \ echo "Commit $$(git rev-parse --short HEAD) built successfully") || \ (echo "Build failed for $$(git rev-list -n 1 --pretty HEAD)" && \ exit 1) .PHONY: check-commit loongarch64-qemu-test: ./loongarch64-qemu-test.sh .PHONY: loongarch64-qemu-test %: $(MAKE) -C ../build $@$(target-suffix)