diff mbox

.travis.yml: migrate to container builds

Message ID 1452854709-12855-1-git-send-email-alex.bennee@linaro.org
State Superseded
Headers show

Commit Message

Alex Bennée Jan. 15, 2016, 10:45 a.m. UTC
This moves the Travis tests from their old legacy VM
infrastructure (which only seems to run 5-6 jobs at once) to their new
container based approach.

The principle difference is there is no sudo in the containers so all
packages are installed using the apt add-on. This means one of the build
combinations can be dropped as it was only for checking the build with
additional packages.

I've disabled the user-space tracing build until the dependant packages
go through the Travis package white-listing process.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

---
 .travis.yml | 49 +++++++++++++++++++++++++++++++++----------------
 1 file changed, 33 insertions(+), 16 deletions(-)

-- 
2.6.4

Comments

Alex Bennée Jan. 19, 2016, 7:22 a.m. UTC | #1
David Gibson <david@gibson.dropbear.id.au> writes:

> On Fri, Jan 15, 2016 at 10:45:09AM +0000, Alex Bennée wrote:

>> This moves the Travis tests from their old legacy VM

>> infrastructure (which only seems to run 5-6 jobs at once) to their new

>> container based approach.

>>

>> The principle difference is there is no sudo in the containers so all

>> packages are installed using the apt add-on. This means one of the build

>> combinations can be dropped as it was only for checking the build with

>> additional packages.

>>

>> I've disabled the user-space tracing build until the dependant packages

>> go through the Travis package white-listing process.

>>

>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

>

> Tested-by: David Gibson <david@gibson.dropbear.id.au>

>

> Is it safe to just drop that build combination, or should we instead

> be doing something else to test the build _without_ those extra

> packages?


Hmm, currently there doesn't seem to be a way to do this with the Travis
infrastructure as the packages are no longer part of a matrix.

>

>

> [snip]

>> @@ -86,10 +103,10 @@ matrix:

>>      - env: TARGETS=i386-softmmu,x86_64-softmmu

>>             EXTRA_CONFIG="--enable-trace-backends=ftrace"

>>        compiler: gcc

>> -    - env: TARGETS=i386-softmmu,x86_64-softmmu

>> -          EXTRA_PKGS="liblttng-ust-dev liburcu-dev"

>> -          EXTRA_CONFIG="--enable-trace-backends=ust"

>> -      compiler: gcc

>> +    # UST backend disabled until liblttng-ust-dev pkg white-listed

>> +    #- env: TARGETS=i386-softmmu,x86_64-softmmu

>> +    #       EXTRA_CONFIG="--enable-trace-backends=ust"

>> +    #  compiler: gcc

>

> This comment is a bit confusing to me, since the apt addon package

> list already seems to include liblttng-ust-dev.


It's in the list but still awaiting whitelisting by Travis:

https://github.com/travis-ci/apt-package-whitelist/issues/2258

>

>>      - env: TARGETS=i386-softmmu,x86_64-softmmu

>>             EXTRA_CONFIG="--enable-modules"

>>        compiler: gcc



--
Alex Bennée
diff mbox

Patch

diff --git a/.travis.yml b/.travis.yml
index 6ca0260..2fef5dc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,9 +1,37 @@ 
+sudo: false
 language: c
 python:
   - "2.4"
 compiler:
   - gcc
   - clang
+addons:
+  apt:
+    packages:
+      - libaio-dev
+      - libattr1-dev
+      - libbrlapi-dev
+      - libcap-ng-dev
+      - libgnutls-dev
+      - libgtk-3-dev
+      - libiscsi-dev
+      - liblttng-ust-dev
+      - libncurses5-dev
+      - libnss3-dev
+      - libpixman-1-dev
+      - libpng12-dev
+      - librados-dev
+      - libsdl1.2-dev
+      - libseccomp-dev
+      - libspice-protocol-dev
+      - libspice-server-dev
+      - libssh2-1-dev
+      - liburcu-dev
+      - libusb-1.0-0-dev
+      - libvte-2.90-dev
+      - sparse
+      - uuid-dev
+
 notifications:
   irc:
     channels:
@@ -14,11 +42,6 @@  env:
   global:
     - TEST_CMD=""
     - 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:
     # Group major targets together with their linux-user counterparts
     - TARGETS=alpha-softmmu,alpha-linux-user
@@ -43,8 +66,6 @@  git:
 before_install:
   - wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
   - git submodule update --init --recursive
-  - sudo apt-get update -qq
-  - sudo apt-get install -qq ${CORE_PKGS} ${NET_PKGS} ${GUI_PKGS} ${EXTRA_PKGS}
 before_script:
   - ./configure --target-list=${TARGETS} --enable-debug-tcg ${EXTRA_CONFIG}
 script:
@@ -64,16 +85,12 @@  matrix:
     - env: TARGETS=i386-softmmu,x86_64-softmmu
            EXTRA_CONFIG="--enable-debug --enable-tcg-interpreter"
       compiler: gcc
-    # All the extra -dev packages
-    - env: TARGETS=i386-softmmu,x86_64-softmmu
-           EXTRA_PKGS="libaio-dev libcap-ng-dev libattr1-dev libbrlapi-dev uuid-dev libusb-1.0.0-dev"
-      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
+    # Sparse
     - env: TARGETS=i386-softmmu,x86_64-softmmu
-           EXTRA_PKGS="sparse"
            EXTRA_CONFIG="--enable-sparse"
       compiler: gcc
     # All the trace backends (apart from dtrace)
@@ -86,10 +103,10 @@  matrix:
     - env: TARGETS=i386-softmmu,x86_64-softmmu
            EXTRA_CONFIG="--enable-trace-backends=ftrace"
       compiler: gcc
-    - env: TARGETS=i386-softmmu,x86_64-softmmu
-          EXTRA_PKGS="liblttng-ust-dev liburcu-dev"
-          EXTRA_CONFIG="--enable-trace-backends=ust"
-      compiler: gcc
+    # UST backend disabled until liblttng-ust-dev pkg white-listed
+    #- env: TARGETS=i386-softmmu,x86_64-softmmu
+    #       EXTRA_CONFIG="--enable-trace-backends=ust"
+    #  compiler: gcc
     - env: TARGETS=i386-softmmu,x86_64-softmmu
            EXTRA_CONFIG="--enable-modules"
       compiler: gcc