From ffad19f94c1e56d32e03b93269f8d8d66fb64446 Mon Sep 17 00:00:00 2001 From: Andrea Bolognani Date: Thu, 15 Aug 2019 14:06:14 +0200 Subject: [PATCH] ci: Move everything to a separate directory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We're going to have a few more CI-related files in a second, and it makes sense to have a separate directory for them rather than littering the root directory. $(CI_SCRATCHDIR) can now also be created inside the CI directory, and as a bonus the make rune necessary to start CI builds without running configure first becomes shorter. Signed-off-by: Andrea Bolognani Reviewed-by: Ján Tomko --- .gitignore | 2 +- .travis.yml | 8 ++++---- Makefile.am | 4 ++-- Makefile.ci => ci/Makefile | 17 ++++++++--------- 4 files changed, 15 insertions(+), 16 deletions(-) rename Makefile.ci => ci/Makefile (96%) diff --git a/.gitignore b/.gitignore index dd5d35c762..82495e8692 100644 --- a/.gitignore +++ b/.gitignore @@ -44,7 +44,7 @@ /autom4te.cache /build-aux/* /build/ -/ci-tree/ +/ci/scratch/ /confdefs.h /config.cache /config.guess diff --git a/.travis.yml b/.travis.yml index afddbe093e..e475af34cf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,28 +22,28 @@ matrix: - IMAGE="ubuntu-18" - MAKE_ARGS="syntax-check distcheck" script: - - make -f Makefile.ci ci-build@$IMAGE CI_MAKE_ARGS="$MAKE_ARGS" + - make -C ci/ ci-build@$IMAGE CI_MAKE_ARGS="$MAKE_ARGS" - services: - docker env: - IMAGE="centos-7" - MAKE_ARGS="syntax-check distcheck" script: - - make -f Makefile.ci ci-build@$IMAGE CI_MAKE_ARGS="$MAKE_ARGS" + - make -C ci/ ci-build@$IMAGE CI_MAKE_ARGS="$MAKE_ARGS" - services: - docker env: - IMAGE="fedora-30" - MINGW="mingw32" script: - - make -f Makefile.ci ci-build@$IMAGE CI_CONFIGURE="$MINGW-configure" + - make -C ci/ ci-build@$IMAGE CI_CONFIGURE="$MINGW-configure" - services: - docker env: - IMAGE="fedora-30" - MINGW="mingw64" script: - - make -f Makefile.ci ci-build@$IMAGE CI_CONFIGURE="$MINGW-configure" + - make -C ci/ ci-build@$IMAGE CI_CONFIGURE="$MINGW-configure" - compiler: clang language: c os: osx diff --git a/Makefile.am b/Makefile.am index 27c49280c4..b743b4b08b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -35,7 +35,6 @@ EXTRA_DIST = \ libvirt-qemu.pc.in \ libvirt-lxc.pc.in \ libvirt-admin.pc.in \ - Makefile.ci \ Makefile.nonreentrant \ autogen.sh \ cfg.mk \ @@ -51,6 +50,7 @@ EXTRA_DIST = \ build-aux/prohibit-duplicate-header.pl \ build-aux/useless-if-before-free \ build-aux/vc-list-files \ + ci/Makefile \ $(NULL) pkgconfigdir = $(libdir)/pkgconfig @@ -123,4 +123,4 @@ gen-AUTHORS: fi ci-%: - $(MAKE) -f Makefile.ci $@ + $(MAKE) -C ci/ $@ diff --git a/Makefile.ci b/ci/Makefile similarity index 96% rename from Makefile.ci rename to ci/Makefile index b5d328ee8c..fd15fbc32e 100644 --- a/Makefile.ci +++ b/ci/Makefile @@ -1,16 +1,15 @@ # -*- makefile -*- # vim: filetype=make -# Figure out name and path to this file. This isn't -# portable but we only care for modern GNU make -CI_MAKEFILE = $(abspath $(firstword $(MAKEFILE_LIST))) +# The root directory of the libvirt.git checkout +CI_GIT_ROOT = $(shell git rev-parse --show-toplevel) + +# The root directory for all CI-related contents +CI_ROOTDIR = $(CI_GIT_ROOT)/ci # The directory holding content on the host that we will # expose to the container. -CI_SCRATCHDIR = $(shell pwd)/ci-tree - -# The root directory of the libvirt.git checkout -CI_GIT_ROOT = $(shell git rev-parse --show-toplevel) +CI_SCRATCHDIR = $(CI_ROOTDIR)/scratch # The directory holding the clone of the git repo that # we will expose to the container @@ -182,7 +181,7 @@ ci-prepare-tree: ci-check-engine cp /etc/group $(CI_SCRATCHDIR); \ echo "Cloning $(CI_GIT_ROOT) to $(CI_HOST_SRCDIR)"; \ git clone $(CI_GIT_ARGS) $(CI_GIT_ROOT) $(CI_HOST_SRCDIR) || exit 1; \ - for mod in $$(git submodule | awk '{ print $$2 }') ; \ + for mod in $$(git submodule | awk '{ print $$2 }' | sed -E 's,^../,,g') ; \ do \ test -f $(CI_GIT_ROOT)/$$mod/.git || continue ; \ echo "Cloning $(CI_GIT_ROOT)/$$mod to $(CI_HOST_SRCDIR)/$$mod"; \ @@ -225,7 +224,7 @@ ci-build@%: ci-prepare-tree @test "$(CI_CLEAN)" = "1" && rm -rf $(CI_SCRATCHDIR) || : ci-check@%: - $(MAKE) -f $(CI_MAKEFILE) ci-build@$* CI_MAKE_ARGS="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 -- GitLab