travis-ci: Switch to building QEMU
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@konsulko.com>
This commit is contained in:
parent
ebe0f53f48
commit
3c643fb01b
26
.travis.yml
26
.travis.yml
|
@ -10,8 +10,6 @@ language: c
|
||||||
|
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
sources:
|
|
||||||
- sourceline: 'ppa:gns3/qemu'
|
|
||||||
packages:
|
packages:
|
||||||
- cppcheck
|
- cppcheck
|
||||||
- sloccount
|
- sloccount
|
||||||
|
@ -21,10 +19,6 @@ addons:
|
||||||
- libsdl1.2-dev
|
- libsdl1.2-dev
|
||||||
- python
|
- python
|
||||||
- python-virtualenv
|
- python-virtualenv
|
||||||
- qemu-system-arm
|
|
||||||
- qemu-system-mips
|
|
||||||
- qemu-system-ppc
|
|
||||||
- qemu-system-x86
|
|
||||||
- gcc-powerpc-linux-gnu
|
- gcc-powerpc-linux-gnu
|
||||||
- gcc-arm-linux-gnueabihf
|
- gcc-arm-linux-gnueabihf
|
||||||
- gcc-aarch64-linux-gnu
|
- gcc-aarch64-linux-gnu
|
||||||
|
@ -54,7 +48,7 @@ install:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
global:
|
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
|
- PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci
|
||||||
- BUILD_DIR=build
|
- BUILD_DIR=build
|
||||||
- HOSTCC="cc"
|
- 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;
|
echo -e "\n[toolchain-prefix]\nx86 = ${HOME}/.buildman-toolchains/gcc-4.9.0-nolibc/x86_64-linux/bin/x86_64-linux-" >> ~/.buildman;
|
||||||
fi
|
fi
|
||||||
- if [[ "${TOOLCHAIN}" == *xtensa* ]]; then ./tools/buildman/buildman --fetch-arch xtensa ; 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 &&
|
||||||
|
./configure --prefix=/tmp/qemu-install --target-list=${QEMU_TARGET} &&
|
||||||
|
make -j4 all install;
|
||||||
|
popd;
|
||||||
|
fi
|
||||||
|
|
||||||
script:
|
script:
|
||||||
# Comments must be outside the command strings below, or the Travis parser
|
# Comments must be outside the command strings below, or the Travis parser
|
||||||
|
@ -254,43 +257,52 @@ matrix:
|
||||||
- env:
|
- env:
|
||||||
- TEST_PY_BD="vexpress_ca15_tc2"
|
- TEST_PY_BD="vexpress_ca15_tc2"
|
||||||
TEST_PY_ID="--id qemu"
|
TEST_PY_ID="--id qemu"
|
||||||
|
QEMU_TARGET="arm-softmmu"
|
||||||
BUILDMAN="^vexpress_ca15_tc2$"
|
BUILDMAN="^vexpress_ca15_tc2$"
|
||||||
- env:
|
- env:
|
||||||
- TEST_PY_BD="vexpress_ca9x4"
|
- TEST_PY_BD="vexpress_ca9x4"
|
||||||
TEST_PY_ID="--id qemu"
|
TEST_PY_ID="--id qemu"
|
||||||
|
QEMU_TARGET="arm-softmmu"
|
||||||
BUILDMAN="^vexpress_ca9x4$"
|
BUILDMAN="^vexpress_ca9x4$"
|
||||||
- env:
|
- env:
|
||||||
- TEST_PY_BD="integratorcp_cm926ejs"
|
- TEST_PY_BD="integratorcp_cm926ejs"
|
||||||
TEST_PY_TEST_SPEC="not sleep"
|
TEST_PY_TEST_SPEC="not sleep"
|
||||||
TEST_PY_ID="--id qemu"
|
TEST_PY_ID="--id qemu"
|
||||||
|
QEMU_TARGET="arm-softmmu"
|
||||||
BUILDMAN="^integratorcp_cm926ejs$"
|
BUILDMAN="^integratorcp_cm926ejs$"
|
||||||
- env:
|
- env:
|
||||||
- TEST_PY_BD="qemu_mips"
|
- TEST_PY_BD="qemu_mips"
|
||||||
TEST_PY_TEST_SPEC="not sleep"
|
TEST_PY_TEST_SPEC="not sleep"
|
||||||
|
QEMU_TARGET="mips-softmmu"
|
||||||
BUILDMAN="^qemu_mips$"
|
BUILDMAN="^qemu_mips$"
|
||||||
TOOLCHAIN="mips"
|
TOOLCHAIN="mips"
|
||||||
- env:
|
- env:
|
||||||
- TEST_PY_BD="qemu_mipsel"
|
- TEST_PY_BD="qemu_mipsel"
|
||||||
TEST_PY_TEST_SPEC="not sleep"
|
TEST_PY_TEST_SPEC="not sleep"
|
||||||
|
QEMU_TARGET="mipsel-softmmu"
|
||||||
BUILDMAN="^qemu_mipsel$"
|
BUILDMAN="^qemu_mipsel$"
|
||||||
TOOLCHAIN="mips"
|
TOOLCHAIN="mips"
|
||||||
- env:
|
- env:
|
||||||
- TEST_PY_BD="qemu_mips64"
|
- TEST_PY_BD="qemu_mips64"
|
||||||
TEST_PY_TEST_SPEC="not sleep"
|
TEST_PY_TEST_SPEC="not sleep"
|
||||||
|
QEMU_TARGET="mips64-softmmu"
|
||||||
BUILDMAN="^qemu_mips64$"
|
BUILDMAN="^qemu_mips64$"
|
||||||
TOOLCHAIN="mips"
|
TOOLCHAIN="mips"
|
||||||
- env:
|
- env:
|
||||||
- TEST_PY_BD="qemu_mips64el"
|
- TEST_PY_BD="qemu_mips64el"
|
||||||
TEST_PY_TEST_SPEC="not sleep"
|
TEST_PY_TEST_SPEC="not sleep"
|
||||||
|
QEMU_TARGET="mips64el-softmmu"
|
||||||
BUILDMAN="^qemu_mips64el$"
|
BUILDMAN="^qemu_mips64el$"
|
||||||
TOOLCHAIN="mips"
|
TOOLCHAIN="mips"
|
||||||
- env:
|
- env:
|
||||||
- TEST_PY_BD="qemu-ppce500"
|
- TEST_PY_BD="qemu-ppce500"
|
||||||
TEST_PY_TEST_SPEC="not sleep"
|
TEST_PY_TEST_SPEC="not sleep"
|
||||||
|
QEMU_TARGET="ppc-softmmu"
|
||||||
BUILDMAN="^qemu-ppce500$"
|
BUILDMAN="^qemu-ppce500$"
|
||||||
- env:
|
- env:
|
||||||
- TEST_PY_BD="qemu-x86"
|
- TEST_PY_BD="qemu-x86"
|
||||||
TEST_PY_TEST_SPEC="not sleep"
|
TEST_PY_TEST_SPEC="not sleep"
|
||||||
|
QEMU_TARGET="i386-softmmu"
|
||||||
BUILDMAN="^qemu-x86$"
|
BUILDMAN="^qemu-x86$"
|
||||||
TOOLCHAIN="x86_64"
|
TOOLCHAIN="x86_64"
|
||||||
BUILD_ROM="yes"
|
BUILD_ROM="yes"
|
||||||
|
|
Loading…
Reference in New Issue