mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
064b55cfcb
There was for long time no activity in the mpx5xxx area. We need to go further and convert to Kconfig, but it turned out, nobody is interested anymore in mpc5xxx, so remove it. Signed-off-by: Heiko Schocher <hs@denx.de>
327 lines
10 KiB
YAML
327 lines
10 KiB
YAML
# Copyright Roger Meier <r.meier@siemens.com>
|
|
# SPDX-License-Identifier: GPL-2.0+
|
|
|
|
# build U-Boot on Travis CI - https://travis-ci.org/
|
|
|
|
sudo: required
|
|
dist: trusty
|
|
|
|
language: c
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- cppcheck
|
|
- sloccount
|
|
- sparse
|
|
- bc
|
|
- build-essential
|
|
- libsdl1.2-dev
|
|
- python
|
|
- python-virtualenv
|
|
- swig
|
|
- libpython-dev
|
|
- gcc-powerpc-linux-gnu
|
|
- iasl
|
|
- grub-efi-ia32-bin
|
|
- rpm2cpio
|
|
- wget
|
|
- device-tree-compiler
|
|
|
|
install:
|
|
# install latest device tree compiler
|
|
#- git clone --depth=1 git://git.kernel.org/pub/scm/utils/dtc/dtc.git /tmp/dtc
|
|
#- make -j4 -C /tmp/dtc
|
|
# Clone uboot-test-hooks
|
|
- git clone --depth=1 git://github.com/swarren/uboot-test-hooks.git /tmp/uboot-test-hooks
|
|
- ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname`
|
|
- ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname`
|
|
# prepare buildman environment
|
|
- echo -e "[toolchain]\nroot = /usr" > ~/.buildman
|
|
- echo -e "aarch64 = /tmp/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu" >> ~/.buildman
|
|
- echo -e "arm = /tmp/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf" >> ~/.buildman
|
|
- echo -e "arc = /tmp/arc_gnu_2016.09_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman
|
|
- echo -e "\n[toolchain-alias]\nsh = sh4\nopenrisc = or32" >> ~/.buildman
|
|
- cat ~/.buildman
|
|
- virtualenv /tmp/venv
|
|
- . /tmp/venv/bin/activate
|
|
- pip install pytest
|
|
- grub-mkimage -o ~/grub_x86.efi -O i386-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd
|
|
- mkdir ~/grub2-arm
|
|
- ( cd ~/grub2-arm; wget -O - http://download.opensuse.org/ports/armv7hl/distribution/leap/42.2/repo/oss/suse/armv7hl/grub2-arm-efi-2.02~beta2-87.1.armv7hl.rpm | rpm2cpio | cpio -di )
|
|
|
|
env:
|
|
global:
|
|
- 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"
|
|
- HOSTCXX="c++"
|
|
|
|
before_script:
|
|
# install toolchains based on TOOLCHAIN} variable
|
|
- if [[ "${TOOLCHAIN}" == *avr32* ]]; then ./tools/buildman/buildman --fetch-arch avr32 ; fi
|
|
- if [[ "${TOOLCHAIN}" == *m68k* ]]; then ./tools/buildman/buildman --fetch-arch m68k ; fi
|
|
- if [[ "${TOOLCHAIN}" == *microblaze* ]]; then ./tools/buildman/buildman --fetch-arch microblaze ; fi
|
|
- if [[ "${TOOLCHAIN}" == *mips* ]]; then ./tools/buildman/buildman --fetch-arch mips ; fi
|
|
- if [[ "${TOOLCHAIN}" == *or32* ]]; then ./tools/buildman/buildman --fetch-arch or32 ; fi
|
|
- if [[ "${TOOLCHAIN}" == *sh4* ]]; then ./tools/buildman/buildman --fetch-arch sh4 ; fi
|
|
- if [[ "${TOOLCHAIN}" == *x86_64* ]]; then
|
|
./tools/buildman/buildman --fetch-arch x86_64;
|
|
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}" == arc ]]; then
|
|
wget https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2016.09-release/arc_gnu_2016.09_prebuilt_uclibc_le_archs_linux_install.tar.gz &&
|
|
tar -C /tmp -xf arc_gnu_2016.09_prebuilt_uclibc_le_archs_linux_install.tar.gz;
|
|
fi
|
|
- if [[ "${TOOLCHAIN}" == *xtensa* ]]; then ./tools/buildman/buildman --fetch-arch xtensa ; fi
|
|
# If TOOLCHAIN is unset, we're on some flavour of ARM.
|
|
- if [[ "${TOOLCHAIN}" == "" ]]; then
|
|
wget http://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz &&
|
|
wget http://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/arm-linux-gnueabihf/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf.tar.xz &&
|
|
tar -C /tmp -xf gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz &&
|
|
tar -C /tmp -xf gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf.tar.xz;
|
|
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:
|
|
# Comments must be outside the command strings below, or the Travis parser
|
|
# will get confused.
|
|
#
|
|
# Exit code 129 means warnings only.
|
|
- if [[ "${BUILDMAN}" != "" ]]; then
|
|
set +e;
|
|
tools/buildman/buildman -P ${BUILDMAN};
|
|
ret=$?;
|
|
if [[ $ret -ne 0 && $ret -ne 129 ]]; then
|
|
tools/buildman/buildman -sdeP ${BUILDMAN};
|
|
exit $ret;
|
|
fi;
|
|
fi
|
|
# "not a_test_which_does_not_exist" is a dummy -k parameter which will
|
|
# never prevent any test from running. That way, we can always pass
|
|
# "-k something" even when $TEST_PY_TEST_SPEC doesnt need a custom
|
|
# value.
|
|
- export UBOOT_TRAVIS_BUILD_DIR=`cd .. && pwd`/.bm-work/${TEST_PY_BD};
|
|
cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/;
|
|
cp ~/grub2-arm/usr/lib/grub2/arm-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi;
|
|
if [[ "${TEST_PY_BD}" != "" ]]; then
|
|
./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID}
|
|
-k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}"
|
|
--build-dir "$UBOOT_TRAVIS_BUILD_DIR";
|
|
fi
|
|
|
|
matrix:
|
|
include:
|
|
# we need to build by vendor due to 50min time limit for builds
|
|
# each env setting here is a dedicated build
|
|
- env:
|
|
- BUILDMAN="arc"
|
|
TOOLCHAIN="arc"
|
|
- env:
|
|
- BUILDMAN="arm11"
|
|
- env:
|
|
- BUILDMAN="arm7"
|
|
- env:
|
|
- BUILDMAN="arm920t"
|
|
- env:
|
|
- JOB="arm926ejs"
|
|
BUILDMAN="arm926ejs -x mx,siemens,atmel"
|
|
- env:
|
|
- BUILDMAN="arm946es"
|
|
- env:
|
|
- BUILDMAN="atmel -x avr32"
|
|
- env:
|
|
- BUILDMAN="avr32"
|
|
TOOLCHAIN="avr32"
|
|
- env:
|
|
- BUILDMAN="denx"
|
|
- env:
|
|
- JOB="Freescale ARM32"
|
|
BUILDMAN="freescale -x powerpc,m68k,aarch64"
|
|
- env:
|
|
- JOB="Freescale AArch64"
|
|
BUILDMAN="freescale&aarch64"
|
|
- env:
|
|
- JOB="i.MX6 (non-Freescale)"
|
|
BUILDMAN="mx6 -x freescale"
|
|
- env:
|
|
- JOB="i.MX (non-Freescale, non-i.MX6)"
|
|
BUILDMAN="mx -x freescale,mx6"
|
|
- env:
|
|
- BUILDMAN="samsung"
|
|
- env:
|
|
- BUILDMAN="sun4i"
|
|
- env:
|
|
- BUILDMAN="sun5i"
|
|
- env:
|
|
- BUILDMAN="sun6i"
|
|
- env:
|
|
- BUILDMAN="sun7i"
|
|
- env:
|
|
- BUILDMAN="sun8i"
|
|
- env:
|
|
- BUILDMAN="sun9i"
|
|
- env:
|
|
- BUILDMAN="sun50i"
|
|
- env:
|
|
- JOB="Catch-all ARM"
|
|
BUILDMAN="arm -x arm11,arm7,arm9,aarch64,atmel,denx,freescale,kirkwood,mvebu,siemens,tegra,uniphier,mx,samsung,sunxi,am33xx,omap3,omap4,omap5,pxa,rockchip"
|
|
- env:
|
|
- BUILDMAN="sandbox x86"
|
|
TOOLCHAIN="x86_64"
|
|
- env:
|
|
- BUILDMAN="kirkwood"
|
|
- env:
|
|
- BUILDMAN="mvebu"
|
|
- env:
|
|
- BUILDMAN="pxa"
|
|
- env:
|
|
- BUILDMAN="m68k"
|
|
TOOLCHAIN="m68k"
|
|
- env:
|
|
- BUILDMAN="microblaze"
|
|
TOOLCHAIN="microblaze"
|
|
- env:
|
|
- BUILDMAN="mips"
|
|
TOOLCHAIN="mips"
|
|
- env:
|
|
- BUILDMAN="mpc83xx"
|
|
- env:
|
|
- BUILDMAN="mpc85xx -x freescale"
|
|
- env:
|
|
- BUILDMAN="mpc85xx -x t208xrdb -x t4qds -x t102* -x p1_p2_rdb_pc -x p1010rdb -x corenet_ds -x b4860qds -x sbc8548 -x bsc91*"
|
|
- env:
|
|
- BUILDMAN="t208xrdb t4qds t102*"
|
|
- env:
|
|
- BUILDMAN="p1_p2_rdb_pc"
|
|
- env:
|
|
- BUILDMAN="p1010rdb"
|
|
- env:
|
|
- BUILDMAN="corenet_ds b4860qds sbc8548 bsc91*"
|
|
- env:
|
|
- BUILDMAN="mpc86xx"
|
|
- env:
|
|
- BUILDMAN="siemens"
|
|
- env:
|
|
- BUILDMAN="tegra"
|
|
- env:
|
|
- JOB="am33xx"
|
|
BUILDMAN="am33xx -x siemens"
|
|
- env:
|
|
- BUILDMAN="omap3"
|
|
- env:
|
|
- BUILDMAN="omap4"
|
|
- env:
|
|
- BUILDMAN="omap5"
|
|
- env:
|
|
- BUILDMAN="uniphier"
|
|
- env:
|
|
- BUILDMAN="aarch64 -x tegra,freescale,mvebu,uniphier,sunxi,samsung,rockchip"
|
|
- env:
|
|
- BUILDMAN="rockchip"
|
|
- env:
|
|
- BUILDMAN="sh4"
|
|
TOOLCHAIN="sh4"
|
|
- env:
|
|
- BUILDMAN="xtensa"
|
|
TOOLCHAIN="xtensa"
|
|
|
|
# QA jobs for code analytics
|
|
# static code analysis with cppcheck (we can add --enable=all later)
|
|
- env:
|
|
- JOB="cppcheck"
|
|
script:
|
|
- cppcheck --force --quiet --inline-suppr .
|
|
# search for TODO within source tree
|
|
- env:
|
|
- JOB="grep TODO"
|
|
script:
|
|
- grep -r TODO .
|
|
# search for FIXME within source tree
|
|
- env:
|
|
- JOB="grep FIXME HACK"
|
|
script:
|
|
- grep -r FIXME .
|
|
# search for HACK within source tree and ignore HACKKIT board
|
|
script:
|
|
- grep -r HACK . | grep -v HACKKIT
|
|
# some statistics about the code base
|
|
- env:
|
|
- JOB="sloccount"
|
|
script:
|
|
- sloccount .
|
|
|
|
# test/py
|
|
- env:
|
|
- TEST_PY_BD="sandbox"
|
|
BUILDMAN="^sandbox$"
|
|
TOOLCHAIN="x86_64"
|
|
- env:
|
|
- TEST_PY_BD="vexpress_ca15_tc2"
|
|
TEST_PY_ID="--id qemu"
|
|
QEMU_TARGET="arm-softmmu"
|
|
BUILDMAN="^vexpress_ca15_tc2$"
|
|
- env:
|
|
- TEST_PY_BD="vexpress_ca9x4"
|
|
TEST_PY_ID="--id qemu"
|
|
QEMU_TARGET="arm-softmmu"
|
|
BUILDMAN="^vexpress_ca9x4$"
|
|
- env:
|
|
- TEST_PY_BD="integratorcp_cm926ejs"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
TEST_PY_ID="--id qemu"
|
|
QEMU_TARGET="arm-softmmu"
|
|
BUILDMAN="^integratorcp_cm926ejs$"
|
|
- env:
|
|
- TEST_PY_BD="qemu_mips"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="mips-softmmu"
|
|
BUILDMAN="^qemu_mips$"
|
|
TOOLCHAIN="mips"
|
|
- env:
|
|
- TEST_PY_BD="qemu_mipsel"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="mipsel-softmmu"
|
|
BUILDMAN="^qemu_mipsel$"
|
|
TOOLCHAIN="mips"
|
|
- env:
|
|
- TEST_PY_BD="qemu_mips64"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="mips64-softmmu"
|
|
BUILDMAN="^qemu_mips64$"
|
|
TOOLCHAIN="mips"
|
|
- env:
|
|
- TEST_PY_BD="qemu_mips64el"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="mips64el-softmmu"
|
|
BUILDMAN="^qemu_mips64el$"
|
|
TOOLCHAIN="mips"
|
|
- env:
|
|
- TEST_PY_BD="qemu-ppce500"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="ppc-softmmu"
|
|
BUILDMAN="^qemu-ppce500$"
|
|
- env:
|
|
- TEST_PY_BD="qemu-x86"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="i386-softmmu"
|
|
BUILDMAN="^qemu-x86$"
|
|
TOOLCHAIN="x86_64"
|
|
BUILD_ROM="yes"
|
|
- env:
|
|
- TEST_PY_BD="zynq_zc702"
|
|
TEST_PY_TEST_SPEC="not sleep"
|
|
QEMU_TARGET="arm-softmmu"
|
|
TEST_PY_ID="--id qemu"
|
|
BUILDMAN="^zynq_zc702$"
|
|
|
|
# TODO make it perfect ;-r
|