[libvirt] [PATCH 07/10] ci: Generalize running commands inside the container

Andrea Bolognani abologna at redhat.com
Fri Aug 16 09:49:51 UTC 2019


Both for ci-build and ci-shell we want to execute basically
the same setup and cleanup logic, the only difference being
that for the former we then run the build script and with the
latter a shell.

Rework the targets so that they both call the generic
ci-run-command rule passing an appropriate $(CI_COMMAND).

Signed-off-by: Andrea Bolognani <abologna at redhat.com>
---
 ci/Makefile | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/ci/Makefile b/ci/Makefile
index f7e31b4f97..2b5be97238 100644
--- a/ci/Makefile
+++ b/ci/Makefile
@@ -206,7 +206,7 @@ ci-prepare-tree: ci-check-engine
 		done ; \
 	fi
 
-ci-build@%: ci-prepare-tree
+ci-run-command@%: ci-prepare-tree
 	$(CI_ENGINE) run $(CI_ENGINE_ARGS) $(CI_IMAGE_PREFIX)$*$(CI_IMAGE_TAG) \
 		/bin/bash -c ' \
 		export CI_CONT_SRCDIR="$(CI_CONT_SRCDIR)"; \
@@ -215,16 +215,18 @@ ci-build@%: ci-prepare-tree
 		export CI_CONFIGURE="$(CI_CONFIGURE)"; \
 		export CI_CONFIGURE_ARGS="$(CI_CONFIGURE_ARGS)"; \
 		export CI_MAKE_ARGS="$(CI_MAKE_ARGS)"; \
-		$(CI_USER_HOME)/build || exit 1'
+		$(CI_COMMAND) || exit 1'
 	@test "$(CI_CLEAN)" = "1" && rm -rf $(CI_SCRATCHDIR) || :
 
+ci-shell@%:
+	$(MAKE) -C $(CI_ROOTDIR) ci-run-command@$* CI_COMMAND="/bin/bash"
+
+ci-build@%:
+	$(MAKE) -C $(CI_ROOTDIR) ci-run-command@$* CI_COMMAND="$(CI_USER_HOME)/build"
+
 ci-check@%:
 	$(MAKE) -C $(CI_ROOTDIR) ci-build@$* CI_MAKE_ARGS="check"
 
-ci-shell@%: ci-prepare-tree
-	$(CI_ENGINE) run $(CI_ENGINE_ARGS) $(CI_IMAGE_PREFIX)$*$(CI_IMAGE_TAG) /bin/bash
-	@test "$(CI_CLEAN)" = "1" && rm -rf $(CI_SCRATCHDIR) || :
-
 ci-help:
 	@echo "Build libvirt inside containers used for CI"
 	@echo
-- 
2.21.0




More information about the libvir-list mailing list