[U-Boot] [PATCH] travis-ci: Switch to building QEMU

Tom Rini trini at konsulko.com
Fri Dec 9 15:35:37 CET 2016


On Wed, Dec 07, 2016 at 05:46:14PM +0100, Daniel Schwierzeck wrote:
> 
> 
> Am 07.12.2016 um 17:20 schrieb Tom Rini:
> > First, there are a number of features in newer QEMU that will allow us
> > to test a wider range of platforms, so we want to use at least v2.8.0.
> > Second, making use of a PPA for QEMU fails from time to time.  So we
> > change to checking out and building a copy of QEMU when we know that we
> > are going to use test.py and need QEMU to be installed.  This adds
> > around 4 minutes per test.py job that we run.
> > 
> > Signed-off-by: Tom Rini <trini at konsulko.com>
> > ---
> >  .travis.yml | 26 +++++++++++++++++++-------
> >  1 file changed, 19 insertions(+), 7 deletions(-)
> > 
> > diff --git a/.travis.yml b/.travis.yml
> > index 79bc24263abd..31fe27467184 100644
> > --- a/.travis.yml
> > +++ b/.travis.yml
> > @@ -10,8 +10,6 @@ language: c
> >  
> >  addons:
> >    apt:
> > -    sources:
> > -    - sourceline: 'ppa:gns3/qemu'
> >      packages:
> >      - cppcheck
> >      - sloccount
> > @@ -21,10 +19,6 @@ addons:
> >      - libsdl1.2-dev
> >      - python
> >      - python-virtualenv
> > -    - qemu-system-arm
> > -    - qemu-system-mips
> > -    - qemu-system-ppc
> > -    - qemu-system-x86
> >      - gcc-powerpc-linux-gnu
> >      - gcc-arm-linux-gnueabihf
> >      - gcc-aarch64-linux-gnu
> > @@ -54,7 +48,7 @@ install:
> >  
> >  env:
> >    global:
> > -    - PATH=/tmp/dtc:/tmp/uboot-test-hooks/bin:$PATH
> > +    - PATH=/tmp/dtc:/tmp/qemu-install/bin:/tmp/uboot-test-hooks/bin:$PATH
> >      - PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci
> >      - BUILD_DIR=build
> >      - HOSTCC="cc"
> > @@ -74,6 +68,15 @@ before_script:
> >        echo -e "\n[toolchain-prefix]\nx86 = ${HOME}/.buildman-toolchains/gcc-4.9.0-nolibc/x86_64-linux/bin/x86_64-linux-" >> ~/.buildman;
> >      fi
> >    - if [[ "${TOOLCHAIN}" == *xtensa* ]]; then ./tools/buildman/buildman --fetch-arch xtensa ; fi
> > +  - if [[ "${QEMU_TARGET}" != "" ]]; then
> > +       git clone git://git.qemu.org/qemu.git /tmp/qemu;
> > +       pushd /tmp/qemu;
> > +       git submodule update --init dtc &&
> > +       git checkout v2.8.0-rc3 &&
> 
> you could speed up git clone:
> 
> git clone --depth 1 --single-branch --branch v2.8.0-rc3 git://git.qemu.org/qemu.git /tmp/qemu
> pushd /tmp/qemu
> git submodule update --init --recommend-shallow --reference /tmp/dtc dtc
> 
> Because we already cloned dtc in the install steps, we could use it as reference repository.
> 
> BTW: you should consider adding "--single-branch --branch master" to the other clone tasks too.

I might do this in a follow up but this is an area where we're talking
about seconds of time vs making things start to be harder to read.
Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161209/e65f8f81/attachment.sig>


More information about the U-Boot mailing list