From nobody Fri May 3 14:53:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 148758815669361.37966469691446; Mon, 20 Feb 2017 02:55:56 -0800 (PST) Received: from localhost ([::1]:37422 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cfldL-0001lb-8n for importer@patchew.org; Mon, 20 Feb 2017 05:55:55 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53383) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cflZD-0006iD-HM for qemu-devel@nongnu.org; Mon, 20 Feb 2017 05:51:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cflZB-0006LN-Fh for qemu-devel@nongnu.org; Mon, 20 Feb 2017 05:51:39 -0500 Received: from mail-wr0-x22a.google.com ([2a00:1450:400c:c0c::22a]:33846) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cflZB-0006Ks-6c for qemu-devel@nongnu.org; Mon, 20 Feb 2017 05:51:37 -0500 Received: by mail-wr0-x22a.google.com with SMTP id z61so61481849wrc.1 for ; Mon, 20 Feb 2017 02:51:37 -0800 (PST) Received: from zen.linaro.local ([81.128.185.34]) by smtp.gmail.com with ESMTPSA id d75sm8825741wmd.25.2017.02.20.02.51.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Feb 2017 02:51:34 -0800 (PST) Received: from zen.linaroharston (localhost [127.0.0.1]) by zen.linaro.local (Postfix) with ESMTP id EC1BB3E014D; Mon, 20 Feb 2017 10:51:39 +0000 (GMT) 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=ToJI48wpYt2cSHGncWIWs3TYvd4E/KCjfqEfpPY0T+I=; b=B0jC9JVIAgV20S9+0tMWYmfHQD2eYy4p3JzdAGcAfiqah+dsgZZbq5BoyfrAJK+Y/g VaWIRHsujsXABh2Rgrsqneg6ITiUYd5hE6EeuYeZxv6QknYkebnlVylrO3ivfMMElOQC SHpQ5MCx4noReYCahN0JPPkRBIDfURQQSO2h0= 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=ToJI48wpYt2cSHGncWIWs3TYvd4E/KCjfqEfpPY0T+I=; b=H3Gjyql41AJxBynwlO8XMYV6KYO9tbyA5rDwJysJwmFPprijOnQ4m1hX3PiTVssIxI h2N4gTgFjHIPnkQ0rudVoIRaalmZVSx7kSahf3MywWlPof2qW/UfKWgVBVyov2ldN1LX U7suLiI+if9msHR4mpzM8o5PWrHjlrIZ5tVcei31/VyLe9vZ3xsPjoQrrtQA3z6KkAda GboUTDri2qQwPMyJzvdBqSRrDV2Z0ct9y2B5NhBzTCX42xvb4bsSftqVuiecXPD55wuu 9kKAtk9N965GLu9aBVUmkshD/lu2dCDkhvNiC2Wman8yWh0iy8basIjrG24uQSXzo4mP 60mw== X-Gm-Message-State: AMke39lKeyEnTE/uwG9sKx/SSgCtFT15ZBptNCuRFbY28e/m15QzakZY9vgA7cnYL1ox0Jid X-Received: by 10.223.167.138 with SMTP id j10mr12437219wrc.178.1487587896012; Mon, 20 Feb 2017 02:51:36 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: famz@redhat.com Date: Mon, 20 Feb 2017 10:51:36 +0000 Message-Id: <20170220105139.21581-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170220105139.21581-1-alex.bennee@linaro.org> References: <20170220105139.21581-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c0c::22a Subject: [Qemu-devel] [PATCH v5 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=20Benn=C3=A9e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 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=3Darmhf DEB_TYPE=3Dstable ./tests/docker/docker.py build \ -u --include-executable=3Darm-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=3Dalex: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=3D1 Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Fam Zheng Tested-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- 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) v5 - fix whitespace damage in Makefile - hide error messages from id when adding user - minor re-phrasing of NOUSER line --- tests/docker/Makefile.include | 2 ++ tests/docker/docker.py | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index 3f15d5aea8..3b5ffecb04 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=3D$(EXECUTABLE)),\ "BUILD","$*") =20 @@ -99,6 +100,7 @@ docker: @echo ' (default is 1)' @echo ' DEBUG=3D1 Stop and drop to shell in the created c= ontainer' @echo ' before running the command.' + @echo ' NOUSER Define to disable adding current user to = containers passwd.' @echo ' NOCACHE=3D1 Ignore cache when build images.' @echo ' EXECUTABLE=3D Include executable in image.' =20 diff --git a/tests/docker/docker.py b/tests/docker/docker.py index 37d83199e7..9fd32ab5fa 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 =20 =20 DEVNULL =3D open(os.devnull, 'wb') @@ -149,13 +150,21 @@ class Docker(object): labels =3D json.loads(resp)[0]["Config"].get("Labels", {}) return labels.get("com.qemu.dockerfile-checksum", "") =20 - def build_image(self, tag, docker_dir, dockerfile, quiet=3DTrue, argv= =3DNone): + def build_image(self, tag, docker_dir, dockerfile, + quiet=3DTrue, user=3DFalse, argv=3DNone): if argv =3D=3D None: argv =3D [] =20 tmp_df =3D tempfile.NamedTemporaryFile(dir=3Ddocker_dir, suffix=3D= ".docker") tmp_df.write(dockerfile) =20 + if user: + uid =3D os.getuid() + uname =3D getpwuid(uid).pw_name + tmp_df.write("\n") + tmp_df.write("RUN id %s 2>/dev/null || useradd -u %d -U %s" % + (uname, uid, uname)) + tmp_df.write("\n") tmp_df.write("LABEL com.qemu.dockerfile-checksum=3D%s" % _text_checksum(dockerfile)) @@ -225,6 +234,9 @@ class BuildCommand(SubCommand): help=3D"""Specify a binary that will be copied= to the container together with all its dependent libraries""") + parser.add_argument("--add-current-user", "-u", dest=3D"user", + action=3D"store_true", + help=3D"Add the current user to image's passwd= ") parser.add_argument("tag", help=3D"Image Tag") parser.add_argument("dockerfile", @@ -261,7 +273,7 @@ class BuildCommand(SubCommand): docker_dir) =20 dkr.build_image(tag, docker_dir, dockerfile, - quiet=3Dargs.quiet, argv=3Dargv) + quiet=3Dargs.quiet, user=3Dargs.user, argv=3Da= rgv) =20 rmtree(docker_dir) =20 --=20 2.11.0 From nobody Fri May 3 14:53:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1487588269857969.1921617472833; Mon, 20 Feb 2017 02:57:49 -0800 (PST) Received: from localhost ([::1]:37427 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cflfA-0002yf-FY for importer@patchew.org; Mon, 20 Feb 2017 05:57:48 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53423) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cflZG-0006oB-H6 for qemu-devel@nongnu.org; Mon, 20 Feb 2017 05:51:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cflZF-0006Np-1J for qemu-devel@nongnu.org; Mon, 20 Feb 2017 05:51:42 -0500 Received: from mail-wm0-x235.google.com ([2a00:1450:400c:c09::235]:34418) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cflZE-0006NG-O8 for qemu-devel@nongnu.org; Mon, 20 Feb 2017 05:51:40 -0500 Received: by mail-wm0-x235.google.com with SMTP id 196so21563784wmm.1 for ; Mon, 20 Feb 2017 02:51:40 -0800 (PST) Received: from zen.linaro.local ([81.128.185.34]) by smtp.gmail.com with ESMTPSA id u189sm12949537wmu.1.2017.02.20.02.51.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Feb 2017 02:51:34 -0800 (PST) Received: from zen.linaroharston (localhost [127.0.0.1]) by zen.linaro.local (Postfix) with ESMTP id 0CB203E0190; Mon, 20 Feb 2017 10:51:40 +0000 (GMT) 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=IGINJRhCmW1vuPGuNIJUgpNJYt9PZusJjMFsTvW9PaY=; b=BkIqPUhAN6H0R+fCLwfk/8tpCcQ16kUjlLSS/C+4NEiAAkDbZjyrIikxQpS4A52XYt CW7UCaWBCk1iB4Z+vXpT7q98SIxfAWAy4BTV7BaH8x4euHDXfdBHQRxsD7IbVUJUGaiz +RqnOgnoQa+IqNxR4UadPaaMMsOMPWTt/xlRs= 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=IGINJRhCmW1vuPGuNIJUgpNJYt9PZusJjMFsTvW9PaY=; b=UV4H7S1zenGtZKK7PVkC6dMH4HuEi1bbG12Lif6pj0/t701TV1bkPeJFp+7zvwT22l flvVwxdEawKPX7GMQKlkFUV4RQG1Ly5jvBCrUXH2kIXpfWXK2EvCRpRSfbHHqywK+viK JG+5ENyv4/sudaoRg1LFcGTXbp/raA9OENqe3G07NHczpH8nZ9YhlHckmr9zyL14idxI NUIk8epCNQfkia/xrrPy+cWjR8jN+bYDLjpk/3/fwaWtFIFExWcBJ8CBuT69A/cy3vKj Yg6vw2D/95NZlWqk/lmR5rUqoxuSwl4S5ZzdjnPsVGocSNyv2cyMhj5FypC7HIpEVyOG 51Bg== X-Gm-Message-State: AMke39lfnDZK8EvRndmSqlQJKZinY3urbFzWXeFgKSwczUAkHe2zMgBETSNr/tYzDW8bErHU X-Received: by 10.28.60.66 with SMTP id j63mr10272109wma.74.1487587899510; Mon, 20 Feb 2017 02:51:39 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: famz@redhat.com Date: Mon, 20 Feb 2017 10:51:37 +0000 Message-Id: <20170220105139.21581-3-alex.bennee@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170220105139.21581-1-alex.bennee@linaro.org> References: <20170220105139.21581-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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 v5 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=20Benn=C3=A9e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 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=3D"aarch64-softmmu,aarch64-linux-user" Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Fam Zheng Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- 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 v5 - s/dependacies/dependencies/ - add r-b --- 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 diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index 3b5ffecb04..03eda37bf4 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=3D$(EXECUTABLE)),\ "BUILD","$*") =20 +# 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=3D"--enable-werror \ ${TARGET_LIST:+--target-list=3D${TARGET_LIST}} \ --prefix=3D$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/doc= ker/dockerfiles/debian-arm64-cross.docker new file mode 100644 index 0000000000..592b5d7055 --- /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 dependencies +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=3Daarch64-linux-gnu- diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker b/tests/doc= ker/dockerfiles/debian-armhf-cross.docker new file mode 100644 index 0000000000..668d60aeb3 --- /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 dependencies +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=3Darm-linux-gnueabihf- diff --git a/tests/docker/dockerfiles/debian.docker b/tests/docker/dockerfi= les/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 tar= gets +# to build distro with a selection of cross compilers for building test bi= naries. +# +# 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/s= ources.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.l= ist + +# Install common build utilities +RUN apt update +RUN apt install -yy build-essential clang --=20 2.11.0 From nobody Fri May 3 14:53:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1487587993421448.73492365711627; Mon, 20 Feb 2017 02:53:13 -0800 (PST) Received: from localhost ([::1]:37403 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cflai-0007pw-3m for importer@patchew.org; Mon, 20 Feb 2017 05:53:12 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53402) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cflZE-0006iF-AX for qemu-devel@nongnu.org; Mon, 20 Feb 2017 05:51:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cflZD-0006Mj-IQ for qemu-devel@nongnu.org; Mon, 20 Feb 2017 05:51:40 -0500 Received: from mail-wr0-x232.google.com ([2a00:1450:400c:c0c::232]:33126) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cflZD-0006MB-C3 for qemu-devel@nongnu.org; Mon, 20 Feb 2017 05:51:39 -0500 Received: by mail-wr0-x232.google.com with SMTP id 35so21321389wrw.0 for ; Mon, 20 Feb 2017 02:51:39 -0800 (PST) Received: from zen.linaro.local ([81.128.185.34]) by smtp.gmail.com with ESMTPSA id u189sm12949541wmu.1.2017.02.20.02.51.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Feb 2017 02:51:34 -0800 (PST) Received: from zen.linaroharston (localhost [127.0.0.1]) by zen.linaro.local (Postfix) with ESMTP id 1E1C63E01F8; Mon, 20 Feb 2017 10:51:40 +0000 (GMT) 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=posLnifYdbUYOiIpqWdFUmBTpFYMDxFlz7Y/x86qHys=; b=MAhSFeWvikyHZ1QvKncc773ykRCfpg8xyXn7JlDiD9lYjUzv7MrUY2T0M2YAx92OCD mgFqQ5CqiWiHlFIS+MmhChjDYdooTIlDjr9tMn08EqgWwk7YZZyXOB1LKEVQfOVA0xJS ZeQssB9CpETC9TswWToBR10Z1YKrazgsoxhuI= 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=posLnifYdbUYOiIpqWdFUmBTpFYMDxFlz7Y/x86qHys=; b=S+FphoDy46Aw2afyVp4t8Ool4KuGCnkdHMXOL40D00cdiKICfQbQ+BS96JTY8Zsrkb x1TpG0R6F4DKojzCs4dnfuNkPQPiULPC55Y+izReFLHr++nwtUp0ZIXaOmVgsoMOoEcA EKsmYTWzJMfvsw6KvRfuqoYgX2oUh/Zo6278tH0fwqJU7J7ZCprJCH3LphB5j+xyPnOH nWgOzHZsDjxpd1MOGqotRuFeiC/sLF4vTnUZInRDqZPM6EjYKAMsoDwU5lO7izesqLwn uehk+C7JGmR58ckkQuXXYoBKs7Q0HLMe5CrnhjzdNZnS+23T5mH8bYYU7RDwj/I0T0WX iALw== X-Gm-Message-State: AMke39lXYU+cLx+L0uz9yC403lAlY8/8m64QDh1r3ytiMZtbct+GxMuNbZOc2TbFsbeeyaCy X-Received: by 10.223.161.25 with SMTP id o25mr7976869wro.136.1487587898192; Mon, 20 Feb 2017 02:51:38 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: famz@redhat.com Date: Mon, 20 Feb 2017 10:51:38 +0000 Message-Id: <20170220105139.21581-4-alex.bennee@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170220105139.21581-1-alex.bennee@linaro.org> References: <20170220105139.21581-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c0c::232 Subject: [Qemu-devel] [PATCH v5 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=20Benn=C3=A9e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 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=C3=A9e Reviewed-by: Fam Zheng --- v3 - reduce matrix to armhf/arm64 which currently work - use the make docker-image-* build stanzas - add TARGET_LIST to each build v5 - add .shippable to MAINTAINER - drop centos6 build, shippable guests still need to be apt based --- .shippable.yml | 19 +++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 20 insertions(+) create mode 100644 .shippable.yml diff --git a/.shippable.yml b/.shippable.yml new file mode 100644 index 0000000000..1a1fd7a91d --- /dev/null +++ b/.shippable.yml @@ -0,0 +1,19 @@ +language: c +env: + matrix: + - IMAGE=3Ddebian-armhf-cross + TARGET_LIST=3Darm-softmmu,arm-linux-user + - IMAGE=3Ddebian-arm64-cross + TARGET_LIST=3Daarch64-softmmu,aarch64-linux-user +build: + pre_ci: + - make docker-image-${IMAGE} + pre_ci_boot: + image_name: qemu + image_tag: ${IMAGE} + pull: false + options: "-e HOME=3D/root" + ci: + - unset CC + - ./configure ${QEMU_CONFIGURE_OPTS} --target-list=3D${TARGET_LIST} + - make -j2 diff --git a/MAINTAINERS b/MAINTAINERS index fb57d8eb45..6dcbebf072 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1804,6 +1804,7 @@ M: Alex Benn=C3=A9e L: qemu-devel@nongnu.org S: Supported F: .travis.yml +F: .shippable.yml =20 Documentation ------------- --=20 2.11.0 From nobody Fri May 3 14:53:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1487587989737164.37185372605313; Mon, 20 Feb 2017 02:53:09 -0800 (PST) Received: from localhost ([::1]:37402 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cflae-0007my-AE for importer@patchew.org; Mon, 20 Feb 2017 05:53:08 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53384) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cflZD-0006iE-Hl for qemu-devel@nongnu.org; Mon, 20 Feb 2017 05:51:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cflZC-0006Lp-9E for qemu-devel@nongnu.org; Mon, 20 Feb 2017 05:51:39 -0500 Received: from mail-wr0-x236.google.com ([2a00:1450:400c:c0c::236]:33120) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cflZC-0006LI-3n for qemu-devel@nongnu.org; Mon, 20 Feb 2017 05:51:38 -0500 Received: by mail-wr0-x236.google.com with SMTP id 35so21321085wrw.0 for ; Mon, 20 Feb 2017 02:51:37 -0800 (PST) Received: from zen.linaro.local ([81.128.185.34]) by smtp.gmail.com with ESMTPSA id j80sm12998366wmd.14.2017.02.20.02.51.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Feb 2017 02:51:34 -0800 (PST) Received: from zen.linaroharston (localhost [127.0.0.1]) by zen.linaro.local (Postfix) with ESMTP id 2EAB33E0297; Mon, 20 Feb 2017 10:51:40 +0000 (GMT) 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=2yP2Z3e8octTwOUcRuugFR3JXurqHzgSKwPEZpzh6KQ=; b=AzThgIjvl6WpaTCkdR+qi0zef90ubRJu447U20ARyw8GJQGlsE7a3DBs3s4W9LBujZ /WznzDTf1tG+Q1/bPa1kza/PMHi/F8PGqrbXEuBpey65rP7EkMpQRvvlJhp2hTm+PFd/ wHuCswZln9h5QSgi1PdatE7zdJ3q/87YYF4Ys= 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=2yP2Z3e8octTwOUcRuugFR3JXurqHzgSKwPEZpzh6KQ=; b=thSinYmkFoi56cTxGMDILCltc6+PBiLDCafNPvAfOIFRimUo8HfZo0p8B4LkeuMwoL tHjwvgrGfc/XbYBy5XtMkVXh4PHRzvqAfM1RdKTJ2FswaIGi5s+mO+hu4EdV3pcpicQk FjZNt+ZAX0vjUJoqBnz6JN7D2ok+hUSwzC0bjYxAiuxFTrptAuA9p59WvMI7JAzl88OG obqO+ayMm9v/4JrGn8fUhKO2T/09gt2ilVEZ8PdVBjrZ83vkuyPgcz2iE9Pr1oszVWyO sYFIvWC6clhZlwHGfdPj/Wl+0BcyEyCjGWcSKuZrRm7SNtfhSJ2eNjNGXOZ0btOJMnsf ctEA== X-Gm-Message-State: AMke39nEYfSoVErwFAksixPDO6JtA8Pyum0V1mvSgP5ffXK/KBINYvP5DTjU9aZmrEx7+QvE X-Received: by 10.223.181.129 with SMTP id c1mr60214wre.147.1487587896969; Mon, 20 Feb 2017 02:51:36 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: famz@redhat.com Date: Mon, 20 Feb 2017 10:51:39 +0000 Message-Id: <20170220105139.21581-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170220105139.21581-1-alex.bennee@linaro.org> References: <20170220105139.21581-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c0c::236 Subject: [Qemu-devel] [PATCH v5 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=20Benn=C3=A9e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 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. Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Fam Zheng --- v4 - fix merge fail (.shippable.yml) --- MAINTAINERS | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 6dcbebf072..d3782691dc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1801,10 +1801,14 @@ F: docs/block-replication.txt Build and test automation ------------------------- M: Alex Benn=C3=A9e +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/ =20 Documentation ------------- @@ -1813,9 +1817,3 @@ M: Daniel P. Berrange S: Odd Fixes F: docs/build-system.txt =20 -Docker testing --------------- -Docker based testing framework and cases -M: Fam Zheng -S: Maintained -F: tests/docker/ --=20 2.11.0