From patchwork Thu Feb 16 12:34:53 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 94062 Delivered-To: patch@linaro.org Received: by 10.140.20.99 with SMTP id 90csp2484763qgi; Thu, 16 Feb 2017 04:37:59 -0800 (PST) X-Received: by 10.200.53.247 with SMTP id l52mr1769755qtb.144.1487248679121; Thu, 16 Feb 2017 04:37:59 -0800 (PST) Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id b29si5129889qta.263.2017.02.16.04.37.59 for (version=TLS1 cipher=AES128-SHA bits=128/128); Thu, 16 Feb 2017 04:37:59 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom=qemu-devel-bounces+patch=linaro.org@nongnu.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:46153 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ceLJu-0001Tu-LH for patch@linaro.org; Thu, 16 Feb 2017 07:37:58 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48429) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ceLH4-0007pQ-Uu for qemu-devel@nongnu.org; Thu, 16 Feb 2017 07:35:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ceLH0-0001D7-0G for qemu-devel@nongnu.org; Thu, 16 Feb 2017 07:35:02 -0500 Received: from mail-wm0-x235.google.com ([2a00:1450:400c:c09::235]:36923) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ceLGz-0001Cn-Ml for qemu-devel@nongnu.org; Thu, 16 Feb 2017 07:34:57 -0500 Received: by mail-wm0-x235.google.com with SMTP id v77so14048873wmv.0 for ; Thu, 16 Feb 2017 04:34:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JcQcMUa+drUOOG/H8FQRbVp4yFgLpbqc4W1ETAVrLFE=; b=MOJSZoCZD1FwSGXV+x/sDJFeZdOs0fb1zwA/S/34rExEFoszb5e09n0qc96ScEX6G1 D8rjldQHmXMUd2Ew7D4IhyA55+0NoAt7YCwpQyr58v1UUz56ebqazvplx/Zr9O4EsYUw bxoz4CXHpKE7Xuz7OGj8BpPynZsxXie4fW9m8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JcQcMUa+drUOOG/H8FQRbVp4yFgLpbqc4W1ETAVrLFE=; b=rpfQsGf1fW6WZmvuxieA5rOAJVnYHFzM6qMP5ZKB+XQMq5OVaa2LIug0rzZSbLxsoq nKXuP8nk7zNCv2jANR2d3nKdsjK7yyzv41bSLNUqVvajjmurKLi4hl/fquxuLoWlG5Yr qQXIke2zFwFz2X4IALOVSW5M5Zc1KT65J36P6+1lwuDpLhR9HK0pmI72T2Tt2yix6iOM 6SKltOkjdSuaO6BnaMFu6j8biDmMlEXQnjDgw5tqNxexZFj6uE6upTpU2Ri0PLG+k3p7 hfbqjXL/0aTyPPlN+cJ4fgq6bjsVGRETOb7tdJ45LGi78Pc97ZAXD2QxKlXNGuLMMy3c oN+w== X-Gm-Message-State: AMke39n3BJfWVeZSXWN1a0mTEUo5pCWPFjTMTYkbPN8uG3m/K1f2Ty35s5qflP5d7qBcq81u X-Received: by 10.28.5.72 with SMTP id 69mr2182433wmf.6.1487248496479; Thu, 16 Feb 2017 04:34:56 -0800 (PST) Received: from zen.linaro.local ([81.128.185.34]) by smtp.gmail.com with ESMTPSA id 198sm75887wmn.11.2017.02.16.04.34.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 16 Feb 2017 04:34:55 -0800 (PST) Received: from zen.linaroharston (localhost [127.0.0.1]) by zen.linaro.local (Postfix) with ESMTP id 695AD3E0321; Thu, 16 Feb 2017 12:34:56 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: famz@redhat.com Date: Thu, 16 Feb 2017 12:34:53 +0000 Message-Id: <20170216123456.28621-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170216123456.28621-1-alex.bennee@linaro.org> References: <20170216123456.28621-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::235 Subject: [Qemu-devel] [PATCH v4 1/4] tests/docker: add basic user mapping support X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Currently all docker builds are done by exporting a tarball to the docker container and running the build as the containers root user. Other use cases are possible however and it is possible to map a part of users file-system to the container. This is useful for example for doing cross-builds of arbitrary source trees. For this to work smoothly the container needs to have a user created that maps cleanly to the host system. This adds a -u option to the docker script so that: DEB_ARCH=armhf DEB_TYPE=stable ./tests/docker/docker.py build \ -u --include-executable=arm-linux-user/qemu-arm \ debian:armhf ./tests/docker/dockerfiles/debian-bootstrap.docker Will build a container that can then be run like: docker run --rm -it -v /home/alex/lsrc/qemu/risu.git/:/src \ --user=alex:alex -w /src/ debian:armhf \ sh -c "make clean && ./configure -s && make" All docker containers built will add the current user unless explicitly disabled by specifying NOUSER when invoking the Makefile: make docker-image-debian-armhf-cross NOUSER=1 Signed-off-by: Alex Bennée Reviewed-by: Fam Zheng --- v2 - write the useradd directly - change long option to --add-current-user v3 - images -> image's - add r-b - add USER to Makefile v4 - s/USER/NOUSER/ and default to on - fix the add-user code to skip if user already setup (for chained images) --- tests/docker/Makefile.include | 2 ++ tests/docker/docker.py | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) -- 2.11.0 Tested-by: Philippe Mathieu-Daudé Reviewed-by: Philippe Mathieu-Daudé diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index 3f15d5aea8..4778b27ca8 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -50,6 +50,7 @@ docker-image-%: $(DOCKER_FILES_DIR)/%.docker $(call quiet-command,\ $(SRC_PATH)/tests/docker/docker.py build qemu:$* $< \ $(if $V,,--quiet) $(if $(NOCACHE),--no-cache) \ + $(if $(NOUSER),,--add-current-user) \ $(if $(EXECUTABLE),--include-executable=$(EXECUTABLE)),\ "BUILD","$*") @@ -99,6 +100,7 @@ docker: @echo ' (default is 1)' @echo ' DEBUG=1 Stop and drop to shell in the created container' @echo ' before running the command.' + @echo ' NOUSER=1 Disable adding current user to containers passwd.' @echo ' NOCACHE=1 Ignore cache when build images.' @echo ' EXECUTABLE= Include executable in image.' diff --git a/tests/docker/docker.py b/tests/docker/docker.py index 37d83199e7..d277a2268f 100755 --- a/tests/docker/docker.py +++ b/tests/docker/docker.py @@ -25,6 +25,7 @@ import signal from tarfile import TarFile, TarInfo from StringIO import StringIO from shutil import copy, rmtree +from pwd import getpwuid DEVNULL = open(os.devnull, 'wb') @@ -149,13 +150,21 @@ class Docker(object): labels = json.loads(resp)[0]["Config"].get("Labels", {}) return labels.get("com.qemu.dockerfile-checksum", "") - def build_image(self, tag, docker_dir, dockerfile, quiet=True, argv=None): + def build_image(self, tag, docker_dir, dockerfile, + quiet=True, user=False, argv=None): if argv == None: argv = [] tmp_df = tempfile.NamedTemporaryFile(dir=docker_dir, suffix=".docker") tmp_df.write(dockerfile) + if user: + uid = os.getuid() + uname = getpwuid(uid).pw_name + tmp_df.write("\n") + tmp_df.write("RUN id %s || useradd -u %d -U %s" % + (uname, uid, uname)) + tmp_df.write("\n") tmp_df.write("LABEL com.qemu.dockerfile-checksum=%s" % _text_checksum(dockerfile)) @@ -225,6 +234,9 @@ class BuildCommand(SubCommand): help="""Specify a binary that will be copied to the container together with all its dependent libraries""") + parser.add_argument("--add-current-user", "-u", dest="user", + action="store_true", + help="Add the current user to image's passwd") parser.add_argument("tag", help="Image Tag") parser.add_argument("dockerfile", @@ -261,7 +273,7 @@ class BuildCommand(SubCommand): docker_dir) dkr.build_image(tag, docker_dir, dockerfile, - quiet=args.quiet, argv=argv) + quiet=args.quiet, user=args.user, argv=argv) rmtree(docker_dir) From patchwork Thu Feb 16 12:34:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 94063 Delivered-To: patch@linaro.org Received: by 10.140.20.99 with SMTP id 90csp2486071qgi; Thu, 16 Feb 2017 04:41:54 -0800 (PST) X-Received: by 10.200.57.27 with SMTP id s27mr1628472qtb.230.1487248914239; Thu, 16 Feb 2017 04:41:54 -0800 (PST) Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id k49si5137939qtf.246.2017.02.16.04.41.54 for (version=TLS1 cipher=AES128-SHA bits=128/128); Thu, 16 Feb 2017 04:41:54 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom=qemu-devel-bounces+patch=linaro.org@nongnu.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:46175 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ceLNh-0005GP-OB for patch@linaro.org; Thu, 16 Feb 2017 07:41:53 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48426) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ceLH4-0007pN-UY for qemu-devel@nongnu.org; Thu, 16 Feb 2017 07:35:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ceLH1-0001E3-Nw for qemu-devel@nongnu.org; Thu, 16 Feb 2017 07:35:02 -0500 Received: from mail-wm0-x22f.google.com ([2a00:1450:400c:c09::22f]:35473) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ceLH1-0001DS-Ep for qemu-devel@nongnu.org; Thu, 16 Feb 2017 07:34:59 -0500 Received: by mail-wm0-x22f.google.com with SMTP id v186so65234112wmd.0 for ; Thu, 16 Feb 2017 04:34:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tv3BygV1ogTQt59GEmYrUyfXTOAxTYc63sp1GVr9Mdc=; b=c7Medsx93np6+FYAdOcWAxxTtl8/FQ1ujqIX7fa4mZsZ13940zgJOqCTHP6K4Ncf4L CyJ0F/57YfcV+xIJKwjUwHG5wcEG+aAGCNXrx0dN82pmkMynNn887c3fJr2gjw0nd7g1 06GmXlIc93srZqrDTqrDRygv6BP1+75tAbClQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=tv3BygV1ogTQt59GEmYrUyfXTOAxTYc63sp1GVr9Mdc=; b=FTHxsjtbTP7AQVlVca+toYuzbhtLaxaou0zW0wo9WimCyTbRBiW1Rzuexfd+m441Et TAS3t/iFfuhrUFEa2ckq80oWpjVaXOpBs1ibqq4Y6fXGPk89TUtk/X4i5a822a2KXPNx AAYngwWoaQvR7jzFz8GHbfmbroWViYRuXHV12Wx4q6gheYKQjgqHYkFpreJZdrDvbX1h f2lUncFCFE+MwoWs7MOf8Gt7R/z2Lg1DJxT1Yddlqif1GEkbsAzQySpfr37gFWqSy1E7 tNJI2FXb3xTtUrK0X71BKKFJsW7R4/D9QAPfhntEx8ibLmW5HFqM2dKleKR/ooDuey3g 4B6g== X-Gm-Message-State: AMke39kaqnPaOojldZo9C5HmpfHY5OJfg+qGhwBrVrXsS0nTQoYLSa2U8+S80DJ040qVy3d1 X-Received: by 10.28.64.132 with SMTP id n126mr12994224wma.107.1487248498279; Thu, 16 Feb 2017 04:34:58 -0800 (PST) Received: from zen.linaro.local ([81.128.185.34]) by smtp.gmail.com with ESMTPSA id m83sm105306wmc.33.2017.02.16.04.34.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 16 Feb 2017 04:34:56 -0800 (PST) Received: from zen.linaroharston (localhost [127.0.0.1]) by zen.linaro.local (Postfix) with ESMTP id 7DE1C3E088D; Thu, 16 Feb 2017 12:34:56 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: famz@redhat.com Date: Thu, 16 Feb 2017 12:34:54 +0000 Message-Id: <20170216123456.28621-3-alex.bennee@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170216123456.28621-1-alex.bennee@linaro.org> References: <20170216123456.28621-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::22f Subject: [Qemu-devel] [PATCH v4 2/4] new: debian docker targets for cross-compiling X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" This provides a basic Debian install with access to the emdebian cross compilers. The debian-armhf-cross and debian-arm64-cross targets build on the basic Debian image to allow cross compiling to those targets. A new environment variable (QEMU_CONFIGURE_OPTS) is set as part of the docker container and passed to the build to specify the --cross-prefix. The user still calls the build in the usual way, for example: make docker-test-build@debian-arm64-cross \ TARGET_LIST="aarch64-softmmu,aarch64-linux-user" Signed-off-by: Alex Bennée --- v2 - add clang (keep shippable happy) - rm adduser code (done direct now) - add aptitude (useful for debugging package clashes) v3 - split into debian, debian-armhf-cross and debian-aarch64-cross v4 - Add QEMU_CONFIGURE_OPTS --- tests/docker/Makefile.include | 4 ++++ tests/docker/common.rc | 2 +- tests/docker/dockerfiles/debian-arm64-cross.docker | 15 +++++++++++++ tests/docker/dockerfiles/debian-armhf-cross.docker | 15 +++++++++++++ tests/docker/dockerfiles/debian.docker | 25 ++++++++++++++++++++++ 5 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 tests/docker/dockerfiles/debian-arm64-cross.docker create mode 100644 tests/docker/dockerfiles/debian-armhf-cross.docker create mode 100644 tests/docker/dockerfiles/debian.docker -- 2.11.0 Reviewed-by: Fam Zheng Reviewed-by: Philippe Mathieu-Daudé diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index 4778b27ca8..84bdcc944a 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -54,6 +54,10 @@ docker-image-%: $(DOCKER_FILES_DIR)/%.docker $(if $(EXECUTABLE),--include-executable=$(EXECUTABLE)),\ "BUILD","$*") +# Enforce dependancies for composite images +docker-image-debian-armhf-cross: docker-image-debian +docker-image-debian-arm64-cross: docker-image-debian + # Expand all the pre-requistes for each docker image and test combination $(foreach i,$(DOCKER_IMAGES), \ $(foreach t,$(DOCKER_TESTS) $(DOCKER_TOOLS), \ diff --git a/tests/docker/common.rc b/tests/docker/common.rc index 21657e87c6..6865689bb5 100755 --- a/tests/docker/common.rc +++ b/tests/docker/common.rc @@ -29,7 +29,7 @@ build_qemu() config_opts="--enable-werror \ ${TARGET_LIST:+--target-list=${TARGET_LIST}} \ --prefix=$PWD/install \ - $EXTRA_CONFIGURE_OPTS \ + $QEMU_CONFIGURE_OPTS $EXTRA_CONFIGURE_OPTS \ $@" echo "Configure options:" echo $config_opts diff --git a/tests/docker/dockerfiles/debian-arm64-cross.docker b/tests/docker/dockerfiles/debian-arm64-cross.docker new file mode 100644 index 0000000000..ce90da943f --- /dev/null +++ b/tests/docker/dockerfiles/debian-arm64-cross.docker @@ -0,0 +1,15 @@ +# +# Docker arm64 cross-compiler target +# +# This docker target builds on the base debian image. +# +FROM qemu:debian + +# Add the foreign architecture we want and install dependacies +RUN dpkg --add-architecture arm64 +RUN apt update +RUN apt install -yy crossbuild-essential-arm64 +RUN apt-get build-dep -yy -a arm64 qemu + +# Specify the cross prefix for this image (see tests/docker/common.rc) +ENV QEMU_CONFIGURE_OPTS --cross-prefix=aarch64-linux-gnu- diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker b/tests/docker/dockerfiles/debian-armhf-cross.docker new file mode 100644 index 0000000000..e0f81a556d --- /dev/null +++ b/tests/docker/dockerfiles/debian-armhf-cross.docker @@ -0,0 +1,15 @@ +# +# Docker armhf cross-compiler target +# +# This docker target builds on the base debian image. +# +FROM qemu:debian + +# Add the foreign architecture we want and install dependacies +RUN dpkg --add-architecture armhf +RUN apt update +RUN apt install -yy crossbuild-essential-armhf +RUN apt-get build-dep -yy -a armhf qemu + +# Specify the cross prefix for this image (see tests/docker/common.rc) +ENV QEMU_CONFIGURE_OPTS --cross-prefix=arm-linux-gnueabihf- diff --git a/tests/docker/dockerfiles/debian.docker b/tests/docker/dockerfiles/debian.docker new file mode 100644 index 0000000000..52bd79938e --- /dev/null +++ b/tests/docker/dockerfiles/debian.docker @@ -0,0 +1,25 @@ +# +# Docker multiarch cross-compiler target +# +# This docker target is builds on Debian and Emdebian's cross compiler targets +# to build distro with a selection of cross compilers for building test binaries. +# +# On its own you can't build much but the docker-foo-cross targets +# build on top of the base debian image. +# +FROM debian:stable-slim + +# Setup some basic tools we need +RUN apt update +RUN apt install -yy curl aptitude + +# Setup Emdebian +RUN echo "deb http://emdebian.org/tools/debian/ jessie main" >> /etc/apt/sources.list +RUN curl http://emdebian.org/tools/debian/emdebian-toolchain-archive.key | apt-key add - + +# Duplicate deb line as deb-src +RUN cat /etc/apt/sources.list | sed "s/deb/deb-src/" >> /etc/apt/sources.list + +# Install common build utilities +RUN apt update +RUN apt install -yy build-essential clang From patchwork Thu Feb 16 12:34:55 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 94060 Delivered-To: patch@linaro.org Received: by 10.140.20.99 with SMTP id 90csp2484609qgi; Thu, 16 Feb 2017 04:37:30 -0800 (PST) X-Received: by 10.200.39.25 with SMTP id g25mr1638510qtg.228.1487248650202; Thu, 16 Feb 2017 04:37:30 -0800 (PST) Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id j54si5140453qtc.49.2017.02.16.04.37.30 for (version=TLS1 cipher=AES128-SHA bits=128/128); Thu, 16 Feb 2017 04:37:30 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom=qemu-devel-bounces+patch=linaro.org@nongnu.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:46150 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ceLJR-0000cD-M1 for patch@linaro.org; Thu, 16 Feb 2017 07:37:29 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48427) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ceLH4-0007pO-Ux for qemu-devel@nongnu.org; Thu, 16 Feb 2017 07:35:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ceLH2-0001EX-Fh for qemu-devel@nongnu.org; Thu, 16 Feb 2017 07:35:02 -0500 Received: from mail-wr0-x22b.google.com ([2a00:1450:400c:c0c::22b]:34593) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ceLH2-0001Dy-9a for qemu-devel@nongnu.org; Thu, 16 Feb 2017 07:35:00 -0500 Received: by mail-wr0-x22b.google.com with SMTP id z61so10649076wrc.1 for ; Thu, 16 Feb 2017 04:35:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=vsArJSIKc8cdIvkClPI5o05xktrtjHK+v7ZuzegonRQ=; b=blN+oPLdRpztXo1Bkp+Xd3ULLhZEeFt/ERw6UBLyMUpffSNbzWKnbtGsCqujXMwXZB BxT8auselmF3RCXyE3CI2rnosITKwPraTBlRWWyplsvBhqFYteHg0mdbwoV9P/2IoY/2 WPL9ZtDKXMej/xDy7xdMASNLOivKpY7e8ez3s= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=vsArJSIKc8cdIvkClPI5o05xktrtjHK+v7ZuzegonRQ=; b=pWZTLIvCMwWjZTsxMau4lqWfjXKyZUyfQud3p4VMoAGRkMuhVoIGwGCMNR/KC3xUuL eVGl4CYpwxS5fBPLE0WVFqSPLfabIGbA5ZG0z3FsAAARoHfBjmUP41Ii2fYIv9Kl3ru/ yXq3JlrYeW4C3ayRt07FIZey3w541mJrlLE2bE2sr6u0fuTFPZep8k/d3sd2Xh8JxLCZ 6RzOLlm7pdXiPDbCRvQ5xdYgeQXRqgJNKy70Zdlyoj/UIgz6uGt/eDgJb7TSypaWwH/n 1Loo6zwS8lbmhFzZmEiNel85iAnsej/Q8Dcc6seCaQ+dkKje6Nijm3VjLkP0I56wIfMt mqDQ== X-Gm-Message-State: AMke39m/kqiVjEs+IxxaigqyntA62DjdBUJFXku6ILV+iFgo+17w7zIUa9Djupn9q/lee3kS X-Received: by 10.223.162.211 with SMTP id t19mr2126856wra.57.1487248499161; Thu, 16 Feb 2017 04:34:59 -0800 (PST) Received: from zen.linaro.local ([81.128.185.34]) by smtp.gmail.com with ESMTPSA id o22sm8847547wro.2.2017.02.16.04.34.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 16 Feb 2017 04:34:56 -0800 (PST) Received: from zen.linaroharston (localhost [127.0.0.1]) by zen.linaro.local (Postfix) with ESMTP id 8E8D43E08F1; Thu, 16 Feb 2017 12:34:56 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: famz@redhat.com Date: Thu, 16 Feb 2017 12:34:55 +0000 Message-Id: <20170216123456.28621-4-alex.bennee@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170216123456.28621-1-alex.bennee@linaro.org> References: <20170216123456.28621-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c0c::22b Subject: [Qemu-devel] [PATCH v4 3/4] .shippable.yml: new CI provider X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Ostensibly Shippable offers a similar set of services as Travis. However they are focused on Docker container based work-flows so we can use our existing containers to run a few extra builds - in this case a bunch of cross-compiled targets on a Debian multiarch system. Signed-off-by: Alex Bennée --- v3 - reduce matrix to armhf/arm64 which currently work - use the make docker-image-* build stanzas - add TARGET_LIST to each build --- .shippable.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .shippable.yml -- 2.11.0 Reviewed-by: Fam Zheng diff --git a/.shippable.yml b/.shippable.yml new file mode 100644 index 0000000000..4de8daf341 --- /dev/null +++ b/.shippable.yml @@ -0,0 +1,21 @@ +language: c +env: + matrix: + - IMAGE=debian-armhf-cross + TARGET_LIST=arm-softmmu,arm-linux-user + - IMAGE=debian-arm64-cross + TARGET_LIST=aarch64-softmmu,aarch64-linux-user + - IMAGE=centos6 + TARGET_LIST=i386-softmmu,x86_64-softmmu +build: + pre_ci: + - make docker-image-${IMAGE} + pre_ci_boot: + image_name: qemu + image_tag: ${IMAGE} + pull: false + options: "-e HOME=/root" + ci: + - unset CC + - ./configure ${QEMU_CONFIGURE_OPTS} --target-list=${TARGET_LIST} + - make -j2 From patchwork Thu Feb 16 12:34:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 94064 Delivered-To: patch@linaro.org Received: by 10.140.20.99 with SMTP id 90csp2486221qgi; Thu, 16 Feb 2017 04:42:19 -0800 (PST) X-Received: by 10.200.50.2 with SMTP id x2mr1636449qta.291.1487248939383; Thu, 16 Feb 2017 04:42:19 -0800 (PST) Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id k28si5142519qtf.116.2017.02.16.04.42.19 for (version=TLS1 cipher=AES128-SHA bits=128/128); Thu, 16 Feb 2017 04:42:19 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom=qemu-devel-bounces+patch=linaro.org@nongnu.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:46176 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ceLO6-0005cN-Vu for patch@linaro.org; Thu, 16 Feb 2017 07:42:19 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48430) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ceLH4-0007pR-VA for qemu-devel@nongnu.org; Thu, 16 Feb 2017 07:35:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ceLH3-0001F0-9P for qemu-devel@nongnu.org; Thu, 16 Feb 2017 07:35:02 -0500 Received: from mail-wr0-x233.google.com ([2a00:1450:400c:c0c::233]:35521) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ceLH3-0001EW-4A for qemu-devel@nongnu.org; Thu, 16 Feb 2017 07:35:01 -0500 Received: by mail-wr0-x233.google.com with SMTP id c4so10649554wrd.2 for ; Thu, 16 Feb 2017 04:35:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=43MysiV2Emot76pcewxvEFMDTq4Xs1l7Ab3oaaPLgko=; b=KGtseOn80yNEMfE2WBATWEycxsX3TKLShvjf5onr/vgxfz5mo+J1flUDKBnJtHdh6w /zN4Dhr8kmnNdVorndzCSLegQNXSF9xr+/g6VFx+/y70cT65ccPcoYaKk/Y5Y2grQMqn kN+Q4YyUEEWdCplgLswVDbSgc9cLqVIw6qLf0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=43MysiV2Emot76pcewxvEFMDTq4Xs1l7Ab3oaaPLgko=; b=SyF3qRvYRJbnZDqJ37b6VkS7mKb/43Z93Kp9MQw5xytp8ZJ+L0vpQ5iBCNUpZ8xh0G 9YN3Ih+Q1ANCBeYaCBY9Ip9WVQDASY/N6qnPb3nnygFQarntbWNlILAS0K8jchPVSzFj YYDHSQj7sgHsasImHp70O8J4+Bg33rXh3QyUv0B/3YC0n/VG69mlyv9iUYipciIHziZV 4MOEzSinH7ip7gmNtm25jpDwfjSW566rKx894TCwN4tAZGtJ6E+KEE+/0CVQq2XkkXfN djRw92Ie5Z3CrjwGIg4p1WIPEisT3cAN2LYhFjLfF1QX71CcM2/uMLCX7Qg7nj/u8gxn RK0w== X-Gm-Message-State: AMke39ns0YA6VQ8Mh7JReOd/1t9ATZmEKGYZoiXw13//1ijHFp++P/yw1tbp5FkjZJS5rTHN X-Received: by 10.223.179.78 with SMTP id k14mr2381691wrd.34.1487248500022; Thu, 16 Feb 2017 04:35:00 -0800 (PST) Received: from zen.linaro.local ([81.128.185.34]) by smtp.gmail.com with ESMTPSA id g5sm8830437wrd.0.2017.02.16.04.34.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 16 Feb 2017 04:34:57 -0800 (PST) Received: from zen.linaroharston (localhost [127.0.0.1]) by zen.linaro.local (Postfix) with ESMTP id A29EB3E08F2; Thu, 16 Feb 2017 12:34:56 +0000 (GMT) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: famz@redhat.com Date: Thu, 16 Feb 2017 12:34:56 +0000 Message-Id: <20170216123456.28621-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170216123456.28621-1-alex.bennee@linaro.org> References: <20170216123456.28621-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c0c::233 Subject: [Qemu-devel] [PATCH v4 4/4] MAINTAINERS: merge Build and test automation with Docker tests X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" The docker framework is really just another piece in the build automation puzzle so lets merge it together. For added bonus I've also included the Travis and Patchew status links. The Shippable links will be added later once mainline tests have been configured and setup. Suggested-by: Fam Zheng Signed-off-by: Alex Bennée --- MAINTAINERS | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) -- 2.11.0 Reviewed-by: Fam Zheng diff --git a/MAINTAINERS b/MAINTAINERS index 7afbadaa15..4e4a3fb83c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1802,9 +1802,14 @@ F: docs/block-replication.txt Build and test automation ------------------------- M: Alex Bennée +M: Fam Zheng L: qemu-devel@nongnu.org -S: Supported +S: Maintained F: .travis.yml +F: .shippable.yml +F: tests/docker/ +W: https://travis-ci.org/qemu/qemu +W: http://patchew.org/QEMU/ Documentation ------------- @@ -1813,9 +1818,3 @@ M: Daniel P. Berrange S: Odd Fixes F: docs/build-system.txt -Docker testing --------------- -Docker based testing framework and cases -M: Fam Zheng -S: Maintained -F: tests/docker/