qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/3] Travis updates
@ 2016-04-04 17:45 Alex Bennée
  2016-04-04 17:45 ` [Qemu-devel] [PULL 1/3] .travis.yml: collapse the test matrix Alex Bennée
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Alex Bennée @ 2016-04-04 17:45 UTC (permalink / raw)
  To: peter.maydell; +Cc: Alex Bennée, qemu-devel

The following changes since commit e31f0451876aa7ada74d60304aa241506a383797:

  net: fix missing include of qapi/error.h in netmap.c (2016-04-04 15:01:14 +0100)

are available in the git repository at:

  https://github.com/stsquad/qemu.git tags/travis-pull-04042016

for you to fetch changes up to 5bdc914c1008292f3fbb5ad05026aaa5d3184435:

  .travis.yml: make -j3 (2016-04-04 16:22:37 +0100)

----------------------------------------------------------------
This pull request includes:
  - further collapse of the build matrix
  - enabling MacOSX in the build
  - make -j3 change

Other pending updates are deferred for later in the cycle.

----------------------------------------------------------------
Alex Bennée (3):
      .travis.yml: collapse the test matrix
      .travis.yml: enable OSX builds
      .travis.yml: make -j3

 .travis.yml | 82 ++++++++++++++++++-------------------------------------------
 1 file changed, 24 insertions(+), 58 deletions(-)

-- 
2.7.4

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

* [Qemu-devel] [PULL 1/3] .travis.yml: collapse the test matrix
  2016-04-04 17:45 [Qemu-devel] [PULL 0/3] Travis updates Alex Bennée
@ 2016-04-04 17:45 ` Alex Bennée
  2016-04-04 17:45 ` [Qemu-devel] [PULL 2/3] .travis.yml: enable OSX builds Alex Bennée
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Alex Bennée @ 2016-04-04 17:45 UTC (permalink / raw)
  To: peter.maydell; +Cc: Alex Bennée, qemu-devel

Remove the concept of TARGETS and build the complete target list for
each config combination. Now the matrix is just based on CONFIG stanzas
and we use the additional stuff for:

  - things that only work on one compiler (sparse, gcov, gprof)
  - combos where "make check" fails

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
---
 .travis.yml | 75 +++++++++++++++----------------------------------------------
 1 file changed, 18 insertions(+), 57 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 9e5873b..18c04af 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -42,17 +42,13 @@ notifications:
 env:
   global:
     - TEST_CMD="make check"
-    - EXTRA_CONFIG=""
   matrix:
-    # Group major targets together with their linux-user counterparts
-    - TARGETS=alpha-softmmu,alpha-linux-user,cris-softmmu,cris-linux-user,m68k-softmmu,m68k-linux-user,microblaze-softmmu,microblazeel-softmmu,microblaze-linux-user,microblazeel-linux-user
-    - TARGETS=arm-softmmu,arm-linux-user,armeb-linux-user,aarch64-softmmu,aarch64-linux-user
-    - TARGETS=i386-softmmu,i386-linux-user,x86_64-softmmu,x86_64-linux-user
-    - TARGETS=mips-softmmu,mips64-softmmu,mips64el-softmmu,mipsel-softmmu,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,mipsn32-linux-user,mipsn32el-linux-user
-    - TARGETS=or32-softmmu,or32-linux-user,ppc-softmmu,ppc64-softmmu,ppcemb-softmmu,ppc-linux-user,ppc64-linux-user,ppc64abi32-linux-user,ppc64le-linux-user
-    - TARGETS=s390x-softmmu,s390x-linux-user,sh4-softmmu,sh4eb-softmmu,sh4-linux-user,sh4eb-linux-user,sparc-softmmu,sparc64-softmmu,sparc-linux-user,sparc32plus-linux-user,sparc64-linux-user,unicore32-softmmu,unicore32-linux-user
-    # Group remaining softmmu only targets into one build
-    - TARGETS=lm32-softmmu,moxie-softmmu,tricore-softmmu,xtensa-softmmu,xtensaeb-softmmu
+    - CONFIG=""
+    - CONFIG="--enable-debug --enable-debug-tcg --enable-trace-backends=log"
+    - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb"
+    - CONFIG="--enable-modules"
+    - CONFIG="--with-coroutine=ucontext"
+    - CONFIG="--with-coroutine=sigaltstack"
 git:
   # we want to do this ourselves
   submodules: false
@@ -60,65 +56,30 @@ before_install:
   - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
   - git submodule update --init --recursive
 before_script:
-  - ./configure --target-list=${TARGETS} --enable-debug-tcg ${EXTRA_CONFIG}
+  - ./configure ${CONFIG}
 script:
   - make -j2 && ${TEST_CMD}
 matrix:
-  # We manually include a number of additional build for non-standard bits
   include:
-    # Debug related options
-    - env: TARGETS=x86_64-softmmu
-           EXTRA_CONFIG="--enable-debug"
+    # Sparse is GCC only
+    - env: CONFIG="--enable-sparse"
       compiler: gcc
-    # We currently disable "make check"
-    - env: TARGETS=alpha-softmmu
-           EXTRA_CONFIG="--enable-debug --enable-tcg-interpreter"
-           TEST_CMD=""
-      compiler: gcc
-    # Disable a few of the optional features
-    - env: TARGETS=x86_64-softmmu
-           EXTRA_CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb"
-      compiler: gcc
-    # Currently configure doesn't force --disable-pie
-    - env: TARGETS=x86_64-softmmu
-           EXTRA_CONFIG="--enable-gprof --enable-gcov --disable-pie"
-      compiler: gcc
-    # Sparse
-    - env: TARGETS=x86_64-softmmu
-           EXTRA_CONFIG="--enable-sparse"
+    # gprof/gcov are GCC features
+    - env: CONFIG="--enable-gprof --enable-gcov --disable-pie"
       compiler: gcc
-    # Modules
-    - env: TARGETS=arm-softmmu,x86_64-softmmu
-           EXTRA_CONFIG="--enable-modules"
-      compiler: gcc
-    # All the trace backends (apart from dtrace)
-    - env: TARGETS=i386-softmmu
-           EXTRA_CONFIG="--enable-trace-backends=log"
-      compiler: gcc
-    # We currently disable "make check" (until 41fc57e44ed regression fixed)
-    - env: TARGETS=x86_64-softmmu
-           EXTRA_CONFIG="--enable-trace-backends=simple"
+    # We manually include builds which we disable "make check" for
+    - env: CONFIG="--enable-debug --enable-tcg-interpreter"
            TEST_CMD=""
       compiler: gcc
-    # We currently disable "make check"
-    - env: TARGETS=x86_64-softmmu
-           EXTRA_CONFIG="--enable-trace-backends=ftrace"
+    - env: CONFIG="--enable-trace-backends=simple"
            TEST_CMD=""
       compiler: gcc
-    # We currently disable "make check"
-    - env: TARGETS=x86_64-softmmu
-           EXTRA_CONFIG="--enable-trace-backends=ust"
+    - env: CONFIG="--enable-trace-backends=ftrace"
            TEST_CMD=""
       compiler: gcc
-    # All the co-routine backends (apart from windows)
-    # We currently disable "make check"
-    - env: TARGETS=x86_64-softmmu
-           EXTRA_CONFIG="--with-coroutine=gthread"
+    - env: CONFIG="--enable-trace-backends=ust"
            TEST_CMD=""
       compiler: gcc
-    - env: TARGETS=x86_64-softmmu
-           EXTRA_CONFIG="--with-coroutine=ucontext"
-      compiler: gcc
-    - env: TARGETS=x86_64-softmmu
-           EXTRA_CONFIG="--with-coroutine=sigaltstack"
+    - env: CONFIG="--with-coroutine=gthread"
+           TEST_CMD=""
       compiler: gcc
-- 
2.7.4

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

* [Qemu-devel] [PULL 2/3] .travis.yml: enable OSX builds
  2016-04-04 17:45 [Qemu-devel] [PULL 0/3] Travis updates Alex Bennée
  2016-04-04 17:45 ` [Qemu-devel] [PULL 1/3] .travis.yml: collapse the test matrix Alex Bennée
@ 2016-04-04 17:45 ` Alex Bennée
  2016-04-04 17:45 ` [Qemu-devel] [PULL 3/3] .travis.yml: make -j3 Alex Bennée
  2016-04-05  8:06 ` [Qemu-devel] [PULL 0/3] Travis updates Peter Maydell
  3 siblings, 0 replies; 8+ messages in thread
From: Alex Bennée @ 2016-04-04 17:45 UTC (permalink / raw)
  To: peter.maydell; +Cc: Alex Bennée, qemu-devel

Travis has support for OSX builds. Making the setup work cleanly
involves a little hacking about with the .travis.yml file but rather
than make it too messy I've pushed all the "brew" install stuff into a
support script called ./scripts/macosx-brew.sh.

Currently only the default ./configure ${CONFIG} is built as I'm not
sure what extra coverage would come from the other build stanzas.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Acked-by: Peter Maydell <peter.maydell@linaro.org>

---
v2
  - brew directly, use POSIX shell logic
---
 .travis.yml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index 18c04af..f02710d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -53,6 +53,8 @@ git:
   # we want to do this ourselves
   submodules: false
 before_install:
+  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update ; fi
+  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install libffi gettext glib pixman ; fi
   - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
   - git submodule update --init --recursive
 before_script:
@@ -83,3 +85,6 @@ matrix:
     - env: CONFIG="--with-coroutine=gthread"
            TEST_CMD=""
       compiler: gcc
+    - env: CONFIG=""
+      os: osx
+      compiler: clang
-- 
2.7.4

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

* [Qemu-devel] [PULL 3/3] .travis.yml: make -j3
  2016-04-04 17:45 [Qemu-devel] [PULL 0/3] Travis updates Alex Bennée
  2016-04-04 17:45 ` [Qemu-devel] [PULL 1/3] .travis.yml: collapse the test matrix Alex Bennée
  2016-04-04 17:45 ` [Qemu-devel] [PULL 2/3] .travis.yml: enable OSX builds Alex Bennée
@ 2016-04-04 17:45 ` Alex Bennée
  2016-04-05  8:06 ` [Qemu-devel] [PULL 0/3] Travis updates Peter Maydell
  3 siblings, 0 replies; 8+ messages in thread
From: Alex Bennée @ 2016-04-04 17:45 UTC (permalink / raw)
  To: peter.maydell; +Cc: Alex Bennée, qemu-devel

The move from Travis VMs to Containers came with a upgrade from 1.5
cores to 2. The received wisdom is -j N+1 means a core can be doing work
while other threads wait for IO to complete. This is hard to test on the
Travis infrastructure but an initial before/after eyeballing seems to
confirm it is an improvement.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
---
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index f02710d..50ac17f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -60,7 +60,7 @@ before_install:
 before_script:
   - ./configure ${CONFIG}
 script:
-  - make -j2 && ${TEST_CMD}
+  - make -j3 && ${TEST_CMD}
 matrix:
   include:
     # Sparse is GCC only
-- 
2.7.4

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

* Re: [Qemu-devel] [PULL 0/3] Travis updates
  2016-04-04 17:45 [Qemu-devel] [PULL 0/3] Travis updates Alex Bennée
                   ` (2 preceding siblings ...)
  2016-04-04 17:45 ` [Qemu-devel] [PULL 3/3] .travis.yml: make -j3 Alex Bennée
@ 2016-04-05  8:06 ` Peter Maydell
  2016-04-05  8:45   ` Alex Bennée
  2016-04-05  9:17   ` [Qemu-devel] [PULL v2 0/3] Travis updates (without changelog entries) Alex Bennée
  3 siblings, 2 replies; 8+ messages in thread
From: Peter Maydell @ 2016-04-05  8:06 UTC (permalink / raw)
  To: Alex Bennée; +Cc: QEMU Developers

On 4 April 2016 at 18:45, Alex Bennée <alex.bennee@linaro.org> wrote:
> The following changes since commit e31f0451876aa7ada74d60304aa241506a383797:
>
>   net: fix missing include of qapi/error.h in netmap.c (2016-04-04 15:01:14 +0100)
>
> are available in the git repository at:
>
>   https://github.com/stsquad/qemu.git tags/travis-pull-04042016
>
> for you to fetch changes up to 5bdc914c1008292f3fbb5ad05026aaa5d3184435:
>
>   .travis.yml: make -j3 (2016-04-04 16:22:37 +0100)
>
> ----------------------------------------------------------------
> This pull request includes:
>   - further collapse of the build matrix
>   - enabling MacOSX in the build
>   - make -j3 change
>
> Other pending updates are deferred for later in the cycle.

This looks good, but you've left the '---' and v2 changes notes
in the commit message for patch 2 by mistake. Can I get you to
delete those and resend? (You can just send the new cover letter,
no need to resend the patches themselves.)

thanks
-- PMM

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

* Re: [Qemu-devel] [PULL 0/3] Travis updates
  2016-04-05  8:06 ` [Qemu-devel] [PULL 0/3] Travis updates Peter Maydell
@ 2016-04-05  8:45   ` Alex Bennée
  2016-04-05  9:17   ` [Qemu-devel] [PULL v2 0/3] Travis updates (without changelog entries) Alex Bennée
  1 sibling, 0 replies; 8+ messages in thread
From: Alex Bennée @ 2016-04-05  8:45 UTC (permalink / raw)
  To: Peter Maydell; +Cc: QEMU Developers


Peter Maydell <peter.maydell@linaro.org> writes:

> On 4 April 2016 at 18:45, Alex Bennée <alex.bennee@linaro.org> wrote:
>> The following changes since commit e31f0451876aa7ada74d60304aa241506a383797:
>>
>>   net: fix missing include of qapi/error.h in netmap.c (2016-04-04 15:01:14 +0100)
>>
>> are available in the git repository at:
>>
>>   https://github.com/stsquad/qemu.git tags/travis-pull-04042016
>>
>> for you to fetch changes up to 5bdc914c1008292f3fbb5ad05026aaa5d3184435:
>>
>>   .travis.yml: make -j3 (2016-04-04 16:22:37 +0100)
>>
>> ----------------------------------------------------------------
>> This pull request includes:
>>   - further collapse of the build matrix
>>   - enabling MacOSX in the build
>>   - make -j3 change
>>
>> Other pending updates are deferred for later in the cycle.
>
> This looks good, but you've left the '---' and v2 changes notes
> in the commit message for patch 2 by mistake. Can I get you to
> delete those and resend? (You can just send the new cover letter,
> no need to resend the patches themselves.)

Doh, I'll clean that up.

I guess I need to script up my "prepare pull" step to remove those in
future.

>
> thanks
> -- PMM


--
Alex Bennée

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

* [Qemu-devel] [PULL v2 0/3] Travis updates (without changelog entries)
  2016-04-05  8:06 ` [Qemu-devel] [PULL 0/3] Travis updates Peter Maydell
  2016-04-05  8:45   ` Alex Bennée
@ 2016-04-05  9:17   ` Alex Bennée
  2016-04-05 10:03     ` Peter Maydell
  1 sibling, 1 reply; 8+ messages in thread
From: Alex Bennée @ 2016-04-05  9:17 UTC (permalink / raw)
  To: peter.maydell; +Cc: Alex Bennée, qemu-devel

The following changes since commit e31f0451876aa7ada74d60304aa241506a383797:

  net: fix missing include of qapi/error.h in netmap.c (2016-04-04 15:01:14 +0100)

are available in the git repository at:

  https://github.com/stsquad/qemu.git tags/travis-pull-05042016

for you to fetch changes up to 7436268ce7062b32af1d07a392e00f0c3ae664cd:

  .travis.yml: make -j3 (2016-04-05 10:08:15 +0100)

----------------------------------------------------------------
This pull request includes:
  - further collapse of the build matrix
  - enabling MacOSX in the build
  - make -j3 change

Other pending updates are deferred for later in the cycle.

----------------------------------------------------------------
Alex Bennée (3):
      .travis.yml: collapse the test matrix
      .travis.yml: enable OSX builds
      .travis.yml: make -j3

 .travis.yml | 82 ++++++++++++++++++-------------------------------------------
 1 file changed, 24 insertions(+), 58 deletions(-)

--
2.7.4

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

* Re: [Qemu-devel] [PULL v2 0/3] Travis updates (without changelog entries)
  2016-04-05  9:17   ` [Qemu-devel] [PULL v2 0/3] Travis updates (without changelog entries) Alex Bennée
@ 2016-04-05 10:03     ` Peter Maydell
  0 siblings, 0 replies; 8+ messages in thread
From: Peter Maydell @ 2016-04-05 10:03 UTC (permalink / raw)
  To: Alex Bennée; +Cc: QEMU Developers

On 5 April 2016 at 10:17, Alex Bennée <alex.bennee@linaro.org> wrote:
> The following changes since commit e31f0451876aa7ada74d60304aa241506a383797:
>
>   net: fix missing include of qapi/error.h in netmap.c (2016-04-04 15:01:14 +0100)
>
> are available in the git repository at:
>
>   https://github.com/stsquad/qemu.git tags/travis-pull-05042016
>
> for you to fetch changes up to 7436268ce7062b32af1d07a392e00f0c3ae664cd:
>
>   .travis.yml: make -j3 (2016-04-05 10:08:15 +0100)
>
> ----------------------------------------------------------------
> This pull request includes:
>   - further collapse of the build matrix
>   - enabling MacOSX in the build
>   - make -j3 change
>
> Other pending updates are deferred for later in the cycle.
>
> ----------------------------------------------------------------
> Alex Bennée (3):
>       .travis.yml: collapse the test matrix
>       .travis.yml: enable OSX builds
>       .travis.yml: make -j3

Applied, thanks.

-- PMM

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

end of thread, other threads:[~2016-04-05 10:03 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-04 17:45 [Qemu-devel] [PULL 0/3] Travis updates Alex Bennée
2016-04-04 17:45 ` [Qemu-devel] [PULL 1/3] .travis.yml: collapse the test matrix Alex Bennée
2016-04-04 17:45 ` [Qemu-devel] [PULL 2/3] .travis.yml: enable OSX builds Alex Bennée
2016-04-04 17:45 ` [Qemu-devel] [PULL 3/3] .travis.yml: make -j3 Alex Bennée
2016-04-05  8:06 ` [Qemu-devel] [PULL 0/3] Travis updates Peter Maydell
2016-04-05  8:45   ` Alex Bennée
2016-04-05  9:17   ` [Qemu-devel] [PULL v2 0/3] Travis updates (without changelog entries) Alex Bennée
2016-04-05 10:03     ` Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).