All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 0/0] .travis.yml: basic compile and check recipies and minor fixes
@ 2013-10-03  8:58 alex.bennee
  2013-10-03  8:58 ` [Qemu-devel] [PATCH 1/2] .travis.yml: basic compile and check recipes alex.bennee
  2013-10-03  8:58 ` [Qemu-devel] [PATCH 2/2] .gitmodules: use upstream SeaBIOS repo to fix submodule init alex.bennee
  0 siblings, 2 replies; 6+ messages in thread
From: alex.bennee @ 2013-10-03  8:58 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, stefanha

Hi,

While testing after Peter's review comments Travis detected a
regression in the tree due to the updating of SeaBIOS (also found by a
bunch of others in the following days) which I take to be a good
indication of the usefulness of these tests.

v4:
  - split debug build for with/without TCG interpreter
  - add simple patch to use SeaBIOS upstream repo
  - I've left ust commented out, there are patches to remove/replace
  it pending on the mailing list.

Alex Bennée (2):
      .travis.yml: basic compile and check recipes
      .gitmodules: use upstream SeaBIOS repo to fix submodule init

 .gitmodules |  2 +-
 .travis.yml | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+), 1 deletion(-)

  

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Qemu-devel] [PATCH 1/2] .travis.yml: basic compile and check recipes
  2013-10-03  8:58 [Qemu-devel] [PATCH v4 0/0] .travis.yml: basic compile and check recipies and minor fixes alex.bennee
@ 2013-10-03  8:58 ` alex.bennee
  2013-10-03  8:58 ` [Qemu-devel] [PATCH 2/2] .gitmodules: use upstream SeaBIOS repo to fix submodule init alex.bennee
  1 sibling, 0 replies; 6+ messages in thread
From: alex.bennee @ 2013-10-03  8:58 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, stefanha

From: Alex Bennée <alex@bennee.com>

This adds a build matrix definition for travis-ci.org continuous
integration service. It is usable on any public repository hosted on
GitHub. Once you have created an account signed into Travis you can
enable it on selected projects via travis-ci.org/profile. Alternatively
you can configure the service hooks on GitHub via the repository
Settings tab,then Service Hooks and selecting Travis.

Once setup Travis will automatically test every push as well as any pull
requests submitted to that repository.

The build matrix is currently split by target architecture (see TARGETS
environment variable) because a full build of QEMU can take some time.
This way you get quick feedback for any obvious errors. The additional
environment variables exist to allow additional builds to tweak the
environment. These are:

EXTRA_CONFIG - extra terms passed to configure
EXTRA_PKGS - extra dev packages to install
TEST_CMD - default "make check", can be overridden

I've confined the additional stuff to x86/x86_64 for convenience.

As Travis supports clang the main builds are done twice (once for gcc
and once for clang). However clang is disabled for the debug/trace
builds for the purposes of brevity.

Other wrinkles:

 * The lttng user-space tracing back-end is disabled
   (it is currently horribly broken)
 * The ftrace back-end doesn't run "make check"
   (it requires a mounted debugfs to work)
 * There are two debug enabled build (with and without TCG interpreter)

Signed-off-by: Alex Bennée <alex@bennee.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 .travis.yml | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)
 create mode 100644 .travis.yml

diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..15d36b1
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,69 @@
+language: c
+compiler:
+  - gcc
+  - clang
+env:
+  global:
+    - TEST_CMD="make check"
+    - EXTRA_CONFIG=""
+    # Development packages, EXTRA_PKGS saved for additional builds
+    - CORE_PKGS="libusb-1.0-0-dev libiscsi-dev librados-dev libncurses5-dev"
+    - NET_PKGS="libseccomp-dev libgnutls-dev libssh2-1-dev  libspice-server-dev libspice-protocol-dev libnss3-dev"
+    - GUI_PKGS="libgtk-3-dev libvte-2.90-dev libsdl1.2-dev libpng12-dev libpixman-1-dev"
+    - EXTRA_PKGS=""
+  matrix:
+  - TARGETS=alpha-softmmu,alpha-linux-user
+  - TARGETS=arm-softmmu,arm-linux-user
+  - TARGETS=cris-softmmu
+  - TARGETS=i386-softmmu,x86_64-softmmu
+  - TARGETS=lm32-softmmu
+  - TARGETS=m68k-softmmu 
+  - TARGETS=microblaze-softmmu,microblazeel-softmmu
+  - TARGETS=mips-softmmu,mips64-softmmu,mips64el-softmmu,mipsel-softmmu
+  - TARGETS=moxie-softmmu
+  - TARGETS=or32-softmmu,
+  - TARGETS=ppc-softmmu,ppc64-softmmu,ppcemb-softmmu
+  - TARGETS=s390x-softmmu
+  - TARGETS=sh4-softmmu,sh4eb-softmmu
+  - TARGETS=sparc-softmmu,sparc64-softmmu
+  - TARGETS=unicore32-softmmu
+  - TARGETS=xtensa-softmmu,xtensaeb-softmmu
+before_install:
+  - git submodule update --init --recursive
+  - sudo apt-get update -qq
+  - sudo apt-get install -qq ${CORE_PKGS} ${NET_PKGS} ${GUI_PKGS} ${EXTRA_PKGS}
+script: "./configure --target-list=${TARGETS} ${EXTRA_CONFIG} && make && ${TEST_CMD}"
+matrix:
+  # We manually include a number of additional build for non-standard bits
+  include:
+    # Debug related options
+    - env: TARGETS=i386-softmmu,x86_64-softmmu
+           EXTRA_CONFIG="--enable-debug"
+      compiler: gcc
+    - env: TARGETS=i386-softmmu,x86_64-softmmu
+           EXTRA_CONFIG="--enable-debug --enable-tcg-interpreter"
+      compiler: gcc
+    # Currently configure doesn't force --disable-pie
+    - env: TARGETS=i386-softmmu,x86_64-softmmu
+           EXTRA_CONFIG="--enable-gprof --enable-gcov --disable-pie"
+      compiler: gcc
+    - env: TARGETS=i386-softmmu,x86_64-softmmu
+           EXTRA_PKGS="sparse"
+           EXTRA_CONFIG="--enable-sparse"
+      compiler: gcc
+    # All the trace backends (apart from dtrace)
+    - env: TARGETS=i386-softmmu,x86_64-softmmu
+           EXTRA_CONFIG="--enable-trace-backend=stderr"
+      compiler: gcc
+    - env: TARGETS=i386-softmmu,x86_64-softmmu
+           EXTRA_CONFIG="--enable-trace-backend=simple"
+      compiler: gcc
+    - env: TARGETS=i386-softmmu,x86_64-softmmu
+           EXTRA_CONFIG="--enable-trace-backend=ftrace"
+           TEST_CMD=""
+      compiler: gcc
+    # This disabled make check for the ftrace backend which needs more setting up
+    # Currently broken on 12.04 due to mis-packaged liburcu and changed API, will be pulled.
+    #- env: TARGETS=i386-softmmu,x86_64-softmmu
+    #       EXTRA_PKGS="liblttng-ust-dev liburcu-dev"
+    #       EXTRA_CONFIG="--enable-trace-backend=ust"
-- 
1.8.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Qemu-devel] [PATCH 2/2] .gitmodules: use upstream SeaBIOS repo to fix submodule init
  2013-10-03  8:58 [Qemu-devel] [PATCH v4 0/0] .travis.yml: basic compile and check recipies and minor fixes alex.bennee
  2013-10-03  8:58 ` [Qemu-devel] [PATCH 1/2] .travis.yml: basic compile and check recipes alex.bennee
@ 2013-10-03  8:58 ` alex.bennee
  2013-10-03  9:06   ` Peter Maydell
  1 sibling, 1 reply; 6+ messages in thread
From: alex.bennee @ 2013-10-03  8:58 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, stefanha

From: Alex Bennée <alex@bennee.com>

Currently master is broken as the wanted commit doesn't exist in
qemu's mirror of SeaBIOS.
---
 .gitmodules | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitmodules b/.gitmodules
index d7e3f3c..d5d5417 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -3,7 +3,7 @@
 	url = git://git.qemu.org/vgabios.git/
 [submodule "roms/seabios"]
 	path = roms/seabios
-	url = git://git.qemu.org/seabios.git/
+	url = git://git.seabios.org/seabios.git
 [submodule "roms/SLOF"]
 	path = roms/SLOF
 	url = git://git.qemu.org/SLOF.git
-- 
1.8.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] .gitmodules: use upstream SeaBIOS repo to fix submodule init
  2013-10-03  8:58 ` [Qemu-devel] [PATCH 2/2] .gitmodules: use upstream SeaBIOS repo to fix submodule init alex.bennee
@ 2013-10-03  9:06   ` Peter Maydell
  2013-10-03  9:45     ` Alex Bennée
  2013-10-10  8:51     ` Stefan Hajnoczi
  0 siblings, 2 replies; 6+ messages in thread
From: Peter Maydell @ 2013-10-03  9:06 UTC (permalink / raw)
  To: Alex Bennée; +Cc: QEMU Developers, Stefan Hajnoczi

On 3 October 2013 17:58,  <alex.bennee@linaro.org> wrote:
> From: Alex Bennée <alex@bennee.com>
>
> Currently master is broken as the wanted commit doesn't exist in
> qemu's mirror of SeaBIOS.
> ---
>  .gitmodules | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/.gitmodules b/.gitmodules
> index d7e3f3c..d5d5417 100644
> --- a/.gitmodules
> +++ b/.gitmodules
> @@ -3,7 +3,7 @@
>         url = git://git.qemu.org/vgabios.git/
>  [submodule "roms/seabios"]
>         path = roms/seabios
> -       url = git://git.qemu.org/seabios.git/
> +       url = git://git.seabios.org/seabios.git

This is wrong. QEMU's submodules should all point to
git.qemu.org. Among other things our release source
tarballs pull in the sources and it's a good way to ensure
it's all consistent and we definitely have version controlled
copies of the sources we release under our control rather
than just in an external repo.

What should actually happen is that Anthony should fix
his workflow to ensure that he doesn't commit patches
which update submodules without also updating the
qemu.org mirrors of the external repos :-)

-- PMM

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] .gitmodules: use upstream SeaBIOS repo to fix submodule init
  2013-10-03  9:06   ` Peter Maydell
@ 2013-10-03  9:45     ` Alex Bennée
  2013-10-10  8:51     ` Stefan Hajnoczi
  1 sibling, 0 replies; 6+ messages in thread
From: Alex Bennée @ 2013-10-03  9:45 UTC (permalink / raw)
  To: Peter Maydell; +Cc: QEMU Developers, Stefan Hajnoczi


peter.maydell@linaro.org writes:

> On 3 October 2013 17:58,  <alex.bennee@linaro.org> wrote:
>> From: Alex Bennée <alex@bennee.com>
>>
>> Currently master is broken as the wanted commit doesn't exist in
>> qemu's mirror of SeaBIOS.
<snip>

> This is wrong. QEMU's submodules should all point to
> git.qemu.org. Among other things our release source
> tarballs pull in the sources and it's a good way to ensure
> it's all consistent and we definitely have version controlled
> copies of the sources we release under our control rather
> than just in an external repo.

Fair enough, I'll drop the patch.

> What should actually happen is that Anthony should fix
> his workflow to ensure that he doesn't commit patches
> which update submodules without also updating the
> qemu.org mirrors of the external repos :-)

Of course once this is merged it will flag up the problem right away
(even sooner if the pull request is a github one ;-)

-- 
Alex Bennée

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] .gitmodules: use upstream SeaBIOS repo to fix submodule init
  2013-10-03  9:06   ` Peter Maydell
  2013-10-03  9:45     ` Alex Bennée
@ 2013-10-10  8:51     ` Stefan Hajnoczi
  1 sibling, 0 replies; 6+ messages in thread
From: Stefan Hajnoczi @ 2013-10-10  8:51 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Anthony Liguori, Alex Bennée, QEMU Developers, Stefan Hajnoczi

On Thu, Oct 03, 2013 at 06:06:15PM +0900, Peter Maydell wrote:
> On 3 October 2013 17:58,  <alex.bennee@linaro.org> wrote:
> > From: Alex Bennée <alex@bennee.com>
> >
> > Currently master is broken as the wanted commit doesn't exist in
> > qemu's mirror of SeaBIOS.
> > ---
> >  .gitmodules | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/.gitmodules b/.gitmodules
> > index d7e3f3c..d5d5417 100644
> > --- a/.gitmodules
> > +++ b/.gitmodules
> > @@ -3,7 +3,7 @@
> >         url = git://git.qemu.org/vgabios.git/
> >  [submodule "roms/seabios"]
> >         path = roms/seabios
> > -       url = git://git.qemu.org/seabios.git/
> > +       url = git://git.seabios.org/seabios.git
> 
> This is wrong. QEMU's submodules should all point to
> git.qemu.org.

git.qemu-project.org is the preferred domain name.

qemu.org is held by a third party.  Last year there was a DNS outage
that no core QEMU contributor could resolve because we don't have access
to the DNS.  Also, if the QEMU website IP address changes there may be a
delay updating qemu.org.

I will send patches to update the domain name.

Stefan

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-10-10  8:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-03  8:58 [Qemu-devel] [PATCH v4 0/0] .travis.yml: basic compile and check recipies and minor fixes alex.bennee
2013-10-03  8:58 ` [Qemu-devel] [PATCH 1/2] .travis.yml: basic compile and check recipes alex.bennee
2013-10-03  8:58 ` [Qemu-devel] [PATCH 2/2] .gitmodules: use upstream SeaBIOS repo to fix submodule init alex.bennee
2013-10-03  9:06   ` Peter Maydell
2013-10-03  9:45     ` Alex Bennée
2013-10-10  8:51     ` Stefan Hajnoczi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.