[U-Boot] [PATCH v3] .travis.yml: build u-boot on travis-ci
From: Meier, Roger r.me...@siemens.com Goal: - building all variants of U-Boot with multiple configurations - code quality checks and metrics - https://travis-ci.org/u-boot/u-boot/builds Changes for v3: - fix patch format (recognized by Andreas Färber) - get in touch with GitHub about the orphan u-boot account and get it - install travis-ci hook on the account https://github.com/u-boot/u-boot/ - push master and travis branch to https://github.com/u-boot/u-boot/ - add Goal to the commit message Changes for v2: - use latest device tree compiler (suggested by Daniel Schwierzeck) - add sandbox (suggested by Daniel Schwierzeck) - seperate echo and execution of TEST_CMD - remove BUILD_NCPUS( part of script) - introduce ${TEST_CONFIG_CMD} - add libsdl-dev package which is required by sandbox - use buildman (suggested by Tom Rini) - generate ~/.buildman - split ppc into several jobs - install gcc-arm-linux-gnueabihf - use --inline-suppr option for cppcheck Signed-off-by: Roger Meier r.me...@siemens.com Cc: Wolfgang Denk w...@denx.de Cc: Tom Rini tr...@ti.com Cc: Daniel Schwierzeck daniel.schwierz...@gmail.com Cc: Andreas Färber afaer...@suse.de --- .travis.yml | 148 +++ 1 file changed, 148 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000..7488a3f --- /dev/null +++ b/.travis.yml @@ -0,0 +1,148 @@ +# Copyright Roger Meier r.me...@siemens.com +# SPDX-License-Identifier: GPL-2.0+ + +# build U-Boot on Travis CI - https://travis-ci.org/ + +language: c + +cache: + - apt + +install: + # install U-Boot build dependencies + - sudo apt-get install -qq cppcheck sloccount sparse bc libsdl-dev gcc-arm-linux-gnueabi gcc-arm-linux-gnueabihf + # install latest device tree compiler + - git clone --depth=1 https://git.kernel.org/pub/scm/utils/dtc/dtc.git /tmp/dtc + - make -j4 -C /tmp/dtc + # prepare buildman environment + - export BUILDMAN_ROOT=root: + - export BUILDMAN_MIPS=mips: + - export BUILDMAN_PPC=ppc: + - echo -e [toolchain]\\n${BUILDMAN_ROOT} /\n ~/.buildman + - echo -e ${BUILDMAN_MIPS} /opt/eldk-5.4/mips/sysroots/i686-eldk-linux/usr/bin/mips32-linux/ ~/.buildman + - echo -e ${BUILDMAN_PPC} /opt/eldk-5.4/powerpc/sysroots/i686-eldk-linux/usr/bin/powerpc-linux/ ~/.buildman + - export BUILDMAN_ALIAS=x86: + - echo -e [toolchain-alias]\\n${BUILDMAN_ALIAS} i386 ~/.buildman + - cat ~/.buildman + +env: + global: +- PATH=$PATH:/tmp/dtc +- BUILD_DIR=build +- CROSS_COMPILE= +- HOSTCC=cc +- HOSTCXX=c++ +- TEST_CONFIG_CMD= + +before_script: + # install toolchains based on INSTALL_TOOLCHAIN} variable + - if [[ ${INSTALL_TOOLCHAIN} == *ppc* ]]; then wget ftp://ftp.denx.de/pub/eldk/5.4/targets/powerpc/eldk-eglibc-i686-powerpc-toolchain-gmae-5.4.sh ; fi + - if [[ ${INSTALL_TOOLCHAIN} == *ppc* ]]; then sh eldk-eglibc-i686-powerpc-toolchain-gmae-5.4.sh -y ; fi + - if [[ ${INSTALL_TOOLCHAIN} == *mips* ]]; then wget ftp://ftp.denx.de/pub/eldk/5.4/targets/mips/eldk-eglibc-i686-mips-toolchain-gmae-5.4.sh ; fi + - if [[ ${INSTALL_TOOLCHAIN} == *mips* ]]; then sh eldk-eglibc-i686-mips-toolchain-gmae-5.4.sh -y ; fi + +script: + # the execution sequence for each test + - echo ${TEST_CONFIG_CMD} + - ${TEST_CONFIG_CMD} + - echo ${TEST_CMD} + - ${TEST_CMD} + +matrix: + include: + # we need to build by vendor due to 50min time limit for builds + # each env setting here is a dedicated build +- env: +- TEST_CMD=./MAKEALL -a arm -v atmel + CROSS_COMPILE=arm-linux-gnueabi- +- env: +- TEST_CMD=./MAKEALL -a arm -v denx + CROSS_COMPILE=arm-linux-gnueabi- +- env: +- TEST_CMD=./MAKEALL -a arm -v freescale + CROSS_COMPILE=arm-linux-gnueabi- +- env: +- TEST_CMD=./MAKEALL -a arm -v siemens + CROSS_COMPILE=arm-linux-gnueabi- +- env: +- TEST_CMD=./MAKEALL -a arm -v ti + CROSS_COMPILE=arm-linux-gnueabi- +- env: +- TEST_CONFIG_CMD=make sandbox_defconfig + TEST_CMD=make -j4 + HOSTCC = gcc + HOSTCXX = g++ +- env: +- TEST_CONFIG_CMD=make sandbox_defconfig + TEST_CMD=make -j4 + HOSTCC = clang + HOSTCXX = clang++ +- env: +- TEST_CMD=./MAKEALL -a mips + INSTALL_TOOLCHAIN=mips + CROSS_COMPILE=/opt/eldk-5.4/mips/sysroots/i686-eldk-linux/usr/bin/mips32-linux/mips-linux- +- env: +- TEST_CMD=tools/buildman/buildman --list-error-boards atmel +- env: +- TEST_CMD=tools/buildman/buildman --list-error-boards denx +- env: +- TEST_CMD=tools/buildman/buildman --list-error-boards freescale arm +- env: +- TEST_CMD=tools/buildman/buildman --list-error-boards siemens +- env: +- TEST_CMD=tools/buildman/buildman --list-error-boards ti +- env: +- TEST_CMD=tools/buildman/buildman mips +
Re: [U-Boot] [PATCH v3] .travis.yml: build u-boot on travis-ci
Dear Roger, In message 1416377222-22192-1-git-send-email-r.me...@siemens.com you wrote: From: Meier, Roger r.me...@siemens.com Goal: - building all variants of U-Boot with multiple configurations - code quality checks and metrics - https://travis-ci.org/u-boot/u-boot/builds Changes for v3: ... Changes for v2: ... This changelog should go below the --- separator line +# search for HACK within source tree and ignore HACKKIT board +- env: +- TEST_CMD=grep -r HACK * I don't see how you ignore MACH_TYPE_HACKKIT etc. here? Is this eventually sstill missing? Except for these two minor comments: thanks a lot for this extremly valuable contribution. Acked-by: Wolfgang Denk w...@denx.de Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de The one who says it cannot be done should never interrupt the one who is doing it. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3] .travis.yml: build u-boot on travis-ci
Dear Roger, In message 1416377222-22192-1-git-send-email-r.me...@siemens.com you wrote: +env: + global: +- PATH=$PATH:/tmp/dtc Should /tmp/dtc not go first in PATH, in case an older version of dtc is already installed on the build host? Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de I've got a bad feeling about this. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot