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 <abolo...@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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to