.travis.yml: build u-boot on travis-ci
PATCH 1/1 .travis.yml: build u-boot on travis-ci
--- .travis.yml | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 .travis.yml
.travis.yml new file +86 -0
@@ -0,0 +1,86 @@ +# Copyright Roger Meier <[email protected]> +# SPDX-License-Identifier: GPL-2.0+ + +# build U-Boot on Travis CI - https://travis-ci.org/ + +language: c + +cache: + - apt + +install: + - sudo apt-get install -qq cppcheck sloccount sparse bc device-tree-compiler gcc-arm-linux-gnueabi + +env: + global: + - BUILD_DIR=build + - DOWNLOAD_URL="" + - INSTALL_CMD="" + - CROSS_COMPILE="" + - HOSTCC = "cc" + - HOSTCXX = "c++" + +before_script: + - if [[ "$DOWNLOAD_URL" != "" ]]; then wget $DOWNLOAD_URL ; fi + - if [[ "$INSTALL_CMD" != "" ]]; then $INSTALL_CMD ; fi + +script: + - export BUILD_NCPUS="`grep processor /proc/cpuinfo | wc -l`" + - echo "BUILD on" $BUILD_NCPUS "cpu's" + - echo $TEST_CMD && $TEST_CMD + +matrix: + include: +# arm and powerpc have too many boards for th 50min time limit +# so we need to build by vendor + - 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_CMD="./MAKEALL -a x86" + - HOSTCC = "gcc" + - HOSTCXX = "g++" + - env: + - TEST_CMD="./MAKEALL -a x86" + - HOSTCC = "clang" + - HOSTCXX = "clang++" + - env: + - TEST_CMD="./MAKEALL -a powerpc -v freescale" + CROSS_COMPILE="/opt/eldk-5.4/powerpc/sysroots/i686-eldk-linux/usr/bin/powerpc-linux/powerpc-" + DOWNLOAD_URL="ftp://ftp.denx.de/pub/eldk/5.4/targets/powerpc/eldk-eglibc-i686-powerpc-toolchain-gmae-5.4.sh" + INSTALL_CMD="sh eldk-eglibc-i686-powerpc-toolchain-gmae-5.4.sh -y" + - env: + - TEST_CMD="./MAKEALL -a mips" + CROSS_COMPILE="/opt/eldk-5.4/mips/sysroots/i686-eldk-linux/usr/bin/mips32-linux/mips-linux-" + DOWNLOAD_URL="ftp://ftp.denx.de/pub/eldk/5.4/targets/mips/eldk-eglibc-i686-mips-toolchain-gmae-5.4.sh" + INSTALL_CMD="sh eldk-eglibc-i686-mips-toolchain-gmae-5.4.sh -y" + - env: + - TEST_CMD="./MAKEALL -a arm -v denx -v siemens" + CROSS_COMPILE="/opt/eldk-5.4/armv7a-hf/sysroots/i686-eldk-linux/usr/bin/armv7ahf-vfp-neon-linux-gnueabi/arm-linux-gnueabi-" + DOWNLOAD_URL="ftp://ftp.denx.de/pub/eldk/5.4/targets/armv7a-hf/eldk-eglibc-i686-arm-toolchain-gmae-5.4.sh" + INSTALL_CMD="sh eldk-eglibc-i686-arm-toolchain-gmae-5.4.sh -y" + - env: + - TEST_CMD="cppcheck --force --quiet ." + - env: + - TEST_CMD="grep -r TODO *" + - env: + - TEST_CMD="grep -r FIXME *" + - env: + - TEST_CMD="grep -r HACK *" + - env: + - TEST_CMD="sloccount ." + +notifications: + email: false
Signature · 1 line
1.7.10.4
Meier
PATCH 1/1 .travis.yml: build u-boot on travis-ci
And here is the result:
https://travis-ci.org/siemens/u-boot/builds/40058028
Quoted 115 lines
-----Original Message-----
From: Roger Meier [mailto:r.meier at siemens.com]
Sent: Mittwoch, 5. November 2014 14:39
To: u-boot at lists.denx.de
Cc: Roger Meier; Meier, Roger
Subject: [PATCH] .travis.yml: build u-boot on travis-ciSigned-off-by Roger Meier <[email protected]>--- .travis.yml | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 .travis.yml.travis.yml new file +12
-0@@ -0,0 +1,86 @@ +# Copyright Roger Meier <[email protected]> +# SPDX-License-Identifier: GPL-2.0+ + +# build U-Boot on Travis CI - https://travis-ci.org/ + +language: c + +cache: + - apt + +install: + - sudo apt-get install -qq cppcheck sloccount sparse bc device-tree-compilergcc-arm-linux-gnueabi
.travis.yml new file +49
-0+ +env: + global: + - BUILD_DIR=build + - DOWNLOAD_URL="" + - INSTALL_CMD="" + - CROSS_COMPILE="" + - HOSTCC = "cc" + - HOSTCXX = "c++" + +before_script: + - if [[ "$DOWNLOAD_URL" != "" ]]; then wget $DOWNLOAD_URL ; fi + - if [[ "$INSTALL_CMD" != "" ]]; then $INSTALL_CMD ; fi + +script: + - export BUILD_NCPUS="`grep processor /proc/cpuinfo | wc -l`" + - echo "BUILD on" $BUILD_NCPUS "cpu's" + - echo $TEST_CMD && $TEST_CMD + +matrix: + include: +# arm and powerpc have too many boards for th 50min time limit +# so we need to build by vendor + - 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_CMD="./MAKEALL -a x86" + - HOSTCC = "gcc" + - HOSTCXX = "g++" + - env: + - TEST_CMD="./MAKEALL -a x86" + - HOSTCC = "clang" + - HOSTCXX = "clang++" + - env: + - TEST_CMD="./MAKEALL -a powerpc -v freescale" + CROSS_COMPILE="/opt/eldk-5.4/powerpc/sysroots/i686-eldk-linux/usr/bin/powerpc-linux/powerpc-"
+ DOWNLOAD_URL="ftp://ftp.denx.de/pub/eldk/5.4/targets/powerpc/eldk-eglibc-i686-powerpc-toolchain-gmae-5.4.sh".travis.yml new file +4
-0+ INSTALL_CMD="sh eldk-eglibc-i686-powerpc-toolchain-gmae-5.4.sh -y" + - env: + - TEST_CMD="./MAKEALL -a mips" + CROSS_COMPILE="/opt/eldk-5.4/mips/sysroots/i686-eldk-linux/usr/bin/mips32-linux/mips-linux-"
+ DOWNLOAD_URL="ftp://ftp.denx.de/pub/eldk/5.4/targets/mips/eldk-eglibc-i686-mips-toolchain-gmae-5.4.sh".travis.yml new file +4
-0+ INSTALL_CMD="sh eldk-eglibc-i686-mips-toolchain-gmae-5.4.sh -y" + - env: + - TEST_CMD="./MAKEALL -a arm -v denx -v siemens" + CROSS_COMPILE="/opt/eldk-5.4/armv7a-hf/sysroots/i686-eldk-linux/usr/bin/armv7ahf-vfp-neon-linux-gnueabi/arm-linux-gnueabi-"
+ DOWNLOAD_URL="ftp://ftp.denx.de/pub/eldk/5.4/targets/armv7a-hf/eldk-eglibc-i686-arm-toolchain-gmae-5.4.sh".travis.yml new file +14
-1+ INSTALL_CMD="sh eldk-eglibc-i686-arm-toolchain-gmae-5.4.sh -y" + - env: + - TEST_CMD="cppcheck --force --quiet ." + - env: + - TEST_CMD="grep -r TODO *" + - env: + - TEST_CMD="grep -r FIXME *" + - env: + - TEST_CMD="grep -r HACK *" + - env: + - TEST_CMD="sloccount ." + +notifications: + email: false --1.7.10.4
PATCH 1/1 .travis.yml: build u-boot on travis-ci
Quoted 2 lines · Roger
And here is the result:
https://travis-ci.org/siemens/u-boot/builds/40058028
Interesting. I just saw something else about travis-ci elsewhere. My first thought is can you update it to use buildman instead of MAKEALL? And a few more comments about what/why and I don't see a downside to including at least a sample config and we can explore wider usage of travis-ci (the 50min thing worries me a bit but maybe we can find some other ways to break it down). Thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20141105/e11ce386/attachment.pgp>
Meier
PATCH 1/1 .travis.yml: build u-boot on travis-ci
Quoted 11 lines · Roger
Quoted 3 lines
And here is the result:
https://travis-ci.org/siemens/u-boot/builds/40058028Interesting. I just saw something else about travis-ci elsewhere. My first thought is can you update it to use buildman instead of MAKEALL? And a few more comments about what/why and I don't see a downside to including at least a sample config and we can explore wider usage of travis-ci (the 50min thing worries me a bit but maybe we can find some other ways to break it down). Thanks!
Yes, I know buildman is the new MAKEALL.
It is already on my list, I will try to get it up and running during the next few days and will include some more comments with a further version.
A big challenge is to add all toolchains and create small configurations to stay within time limit. That's why I created some vendor configs. Parallel execution is another key element, I guess buildman is already taking care on this.
Would be great, if somebody can have a look at the broken builds we have with this .travis.yml file.
Best!
-roger
PATCH 1/1 .travis.yml: build u-boot on travis-ci
In reply to Roger MeierDear Roger Meier,
Quoted 5 lines · In message <[email protected]> you wrote:
Signed-off-by Roger Meier <[email protected]>--- .travis.yml | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 .travis.yml
Cool, thanks a lot!
As Tom already commented, we should probably move to buildman now that MAKEALL is scheduled for removel, but I really like this approach!
Best regards,
Wolfgang Denk
Signature · 6 lines
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: wd at denx.de "Data is a lot like humans: It is born. Matures. Gets married to other data, divorced. Gets old. One thing that it doesn't do is die. It has to be killed." - Arthur Miller
PATCH 1/1 .travis.yml: build u-boot on travis-ci
In reply to Roger MeierQuoted 14 lines · Roger Meier
Signed-off-by Roger Meier <[email protected]>--- .travis.yml | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 .travis.yml.travis.yml new file +2
-0@@ -0,0 +1,86 @@ +# Copyright Roger Meier <[email protected]> +# SPDX-License-Identifier: GPL-2.0+
.travis.yml line 12
Quoted 10 lines
.travis.yml new file +10
-0+ +# build U-Boot on Travis CI - https://travis-ci.org/ + +language: c + +cache: + - apt + +install: + - sudo apt-get install -qq cppcheck sloccount sparse bc device-tree-compiler gcc-arm-linux-gnueabi
does Ubuntu's device-tree-compiler work for you with current mainline? Actually Ubuntu 12.04 ships dtc-1.3 and U-Boot requires at least dtc-1.4. I need following fragments to get sandbox working:
install:
- git clone --depth=1 https://git.kernel.org/pub/scm/utils/dtc/dtc.git /tmp/dtc
- make -j4 -C /tmp/dtc
script:
- make sandbox_defconfig
- make -j4
env:
global:
- PATH=$PATH:/tmp/dtc
Quoted 75 lines
.travis.yml new file +74
-0+ +env: + global: + - BUILD_DIR=build + - DOWNLOAD_URL="" + - INSTALL_CMD="" + - CROSS_COMPILE="" + - HOSTCC = "cc" + - HOSTCXX = "c++" + +before_script: + - if [[ "$DOWNLOAD_URL" != "" ]]; then wget $DOWNLOAD_URL ; fi + - if [[ "$INSTALL_CMD" != "" ]]; then $INSTALL_CMD ; fi + +script: + - export BUILD_NCPUS="`grep processor /proc/cpuinfo | wc -l`" + - echo "BUILD on" $BUILD_NCPUS "cpu's" + - echo $TEST_CMD && $TEST_CMD + +matrix: + include: +# arm and powerpc have too many boards for th 50min time limit +# so we need to build by vendor + - 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_CMD="./MAKEALL -a x86" + - HOSTCC = "gcc" + - HOSTCXX = "g++" + - env: + - TEST_CMD="./MAKEALL -a x86" + - HOSTCC = "clang" + - HOSTCXX = "clang++" + - env: + - TEST_CMD="./MAKEALL -a powerpc -v freescale" + CROSS_COMPILE="/opt/eldk-5.4/powerpc/sysroots/i686-eldk-linux/usr/bin/powerpc-linux/powerpc-" + DOWNLOAD_URL="ftp://ftp.denx.de/pub/eldk/5.4/targets/powerpc/eldk-eglibc-i686-powerpc-toolchain-gmae-5.4.sh" + INSTALL_CMD="sh eldk-eglibc-i686-powerpc-toolchain-gmae-5.4.sh -y" + - env: + - TEST_CMD="./MAKEALL -a mips" + CROSS_COMPILE="/opt/eldk-5.4/mips/sysroots/i686-eldk-linux/usr/bin/mips32-linux/mips-linux-" + DOWNLOAD_URL="ftp://ftp.denx.de/pub/eldk/5.4/targets/mips/eldk-eglibc-i686-mips-toolchain-gmae-5.4.sh" + INSTALL_CMD="sh eldk-eglibc-i686-mips-toolchain-gmae-5.4.sh -y" + - env: + - TEST_CMD="./MAKEALL -a arm -v denx -v siemens" + CROSS_COMPILE="/opt/eldk-5.4/armv7a-hf/sysroots/i686-eldk-linux/usr/bin/armv7ahf-vfp-neon-linux-gnueabi/arm-linux-gnueabi-" + DOWNLOAD_URL="ftp://ftp.denx.de/pub/eldk/5.4/targets/armv7a-hf/eldk-eglibc-i686-arm-toolchain-gmae-5.4.sh" + INSTALL_CMD="sh eldk-eglibc-i686-arm-toolchain-gmae-5.4.sh -y" + - env: + - TEST_CMD="cppcheck --force --quiet ." + - env: + - TEST_CMD="grep -r TODO *" + - env: + - TEST_CMD="grep -r FIXME *" + - env: + - TEST_CMD="grep -r HACK *" + - env: + - TEST_CMD="sloccount ." + +notifications: + email: false
Signature · 1 line
- Daniel
PATCH v2 1/1 .travis.yml: build u-boot on travis-ci
In reply to Roger Meier---
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
--- .travis.yml | 148 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 .travis.yml
.travis.yml new file +148 -0
@@ -0,0 +1,148 @@ +# Copyright Roger Meier <[email protected]> +# 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" + INSTALL_TOOLCHAIN="mips" + - env: + - TEST_CMD="tools/buildman/buildman mpc5xx" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc8xx" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc5xxx" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc512x" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc824x" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc8260" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc83xx" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc85xx" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc86xx" + INSTALL_TOOLCHAIN="ppc" + + - env: + - TEST_CMD="tools/buildman/buildman --list-error-boards sandbox x86" + + # QA jobs for code analytics + # static code analysis with cppcheck (we can add --enable=all later) + - env: + - TEST_CMD="cppcheck --force --quiet --inline-suppr ." + # search for TODO within source tree + - env: + - TEST_CMD="grep -r TODO *" + # search for FIXME within source tree + - env: + - TEST_CMD="grep -r FIXME *" + # search for HACK within source tree and ignore HACKKIT board + - env: + - TEST_CMD="grep -r HACK *" + # some statistics about the code base + - env: + - TEST_CMD="sloccount ." + +notifications: + email: false + +# TODO make it perfect ;-r
Signature · 1 line
1.7.10.4
PATCH v2 1/1 .travis.yml: build u-boot on travis-ci
Hi,
Am 14.11.2014 um 14:58 schrieb Roger Meier:
Quoted 14 lines
---
Changes for v2:
- use latest device tree compiler (suggested by Daniel Schwierzeck)
- add sandbox (suggested by Daniel Schwierzeck)
- seperate echo and execution ofTEST_CMD
- removeBUILD_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
Quoted 5 lines
Signed-off-by Roger Meier <[email protected]>Cc Wolfgang Denk <[email protected]>Cc Tom Rini <[email protected]>Cc Daniel Schwierzeck <[email protected]>---
The Sob was probably meant to go before the first ---?
Regards,
Andreas
Signature · 10 lines
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend?rffer; HRB 21284 AG N?rnberg -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20141116/68e62d00/attachment.pgp>
Meier
PATCH v2 1/1 .travis.yml: build u-boot on travis-ci
Hello,
Quoted 17 lines
Hi,
Am 14.11.2014 um 14:58 schrieb Roger Meier:
Quoted 14 lines
---
Changes for v2:
- use latest device tree compiler (suggested by Daniel Schwierzeck)
- add sandbox (suggested by Daniel Schwierzeck)
- seperate echo and execution ofTEST_CMD
- removeBUILD_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
Quoted 7 lines
Quoted 5 lines
Signed-off-by Roger Meier <[email protected]>Cc Wolfgang Denk <[email protected]>Cc Tom Rini <[email protected]>Cc Daniel Schwierzeck <[email protected]>---
The Sob was probably meant to go before the first ---?
Yes, however patchworks detected the patch properly.
http://patchwork.ozlabs.org/patch/410846/
What I forgot to mention, here is the build result:
https://travis-ci.org/u-boot/u-boot/builds/41050962
Best!
-roger
PS:
I've also contacted GitHub about the orphan u-boot account and I got it. So we can have a mirror on GitHub and use travis-ci as a build system. Here is this patch: https://github.com/u-boot/u-boot/tree/travis2
PATCH v3 1/1 .travis.yml: build u-boot on travis-ci
In reply to Roger MeierFrom: "Meier, Roger" <[email protected]>
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
--- .travis.yml | 148 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 .travis.yml
.travis.yml new file +148 -0
@@ -0,0 +1,148 @@ +# Copyright Roger Meier <[email protected]> +# 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" + INSTALL_TOOLCHAIN="mips" + - env: + - TEST_CMD="tools/buildman/buildman mpc5xx" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc8xx" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc5xxx" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc512x" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc824x" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc8260" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc83xx" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc85xx" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc86xx" + INSTALL_TOOLCHAIN="ppc" + + - env: + - TEST_CMD="tools/buildman/buildman --list-error-boards sandbox x86" + + # QA jobs for code analytics + # static code analysis with cppcheck (we can add --enable=all later) + - env: + - TEST_CMD="cppcheck --force --quiet --inline-suppr ." + # search for TODO within source tree + - env: + - TEST_CMD="grep -r TODO *" + # search for FIXME within source tree + - env: + - TEST_CMD="grep -r FIXME *" + # search for HACK within source tree and ignore HACKKIT board + - env: + - TEST_CMD="grep -r HACK *" + # some statistics about the code base + - env: + - TEST_CMD="sloccount ." + +notifications: + email: false + +# TODO make it perfect ;-r
Signature · 1 line
1.7.10.4
PATCH v3 1/1 .travis.yml: build u-boot on travis-ci
Dear Roger,
Quoted 8 lines · In message <[email protected]> you wrote:
From: "Meier, Roger" <[email protected]>
Goal:
- building all variants of U-Boot with multiple configurations
- code quality checks and metrics
- https://travis-ci.org/u-boot/u-boot/buildsChanges for v3:
...
Quoted 1 line
Changes for v2:
...
This changelog should go below the "---" separator line
.travis.yml line 140
Quoted 3 lines
.travis.yml new file +3
-0+ # 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.
Best regards,
Wolfgang Denk
Signature · 5 lines
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: wd at denx.de The one who says it cannot be done should never interrupt the one who is doing it.
PATCH v3 1/1 .travis.yml: build u-boot on travis-ci
In reply to Roger MeierDear Roger,
.travis.yml line 30
Quoted 4 lines · In message <[email protected]> you wrote:
.travis.yml new file +3
-0+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
Signature · 4 lines
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: wd at denx.de I've got a bad feeling about this.
PATCH v4 1/1 .travis.yml: build u-boot on travis-ci
In reply to Roger MeierFrom: "Meier, Roger" <[email protected]>
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 v4:
- ignore HACKKIT board (suggested by Wolfgang Denk)
- add /tmp/dtc as first element to PATH (suggested by Wolfgang Denk)
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
--- .travis.yml | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 .travis.yml
.travis.yml new file +150 -0
@@ -0,0 +1,150 @@ +# Copyright Roger Meier <[email protected]> +# 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=/tmp/dtc:$PATH + - 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" + INSTALL_TOOLCHAIN="mips" + - env: + - TEST_CMD="tools/buildman/buildman mpc5xx" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc8xx" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc5xxx" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc512x" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc824x" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc8260" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc83xx" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc85xx" + INSTALL_TOOLCHAIN="ppc" + - env: + - TEST_CMD="tools/buildman/buildman mpc86xx" + INSTALL_TOOLCHAIN="ppc" + + - env: + - TEST_CMD="tools/buildman/buildman --list-error-boards sandbox x86" + + # QA jobs for code analytics + # static code analysis with cppcheck (we can add --enable=all later) + - env: + - TEST_CMD="cppcheck --force --quiet --inline-suppr ." + # search for TODO within source tree + - env: + - TEST_CMD="grep -r TODO ." + # search for FIXME within source tree + - env: + - TEST_CMD="grep -r FIXME ." + # search for HACK within source tree and ignore HACKKIT board + - env: + - TEST_CMD="grep -r HACK . | grep -v HACKKIT" + script: + - grep -r HACK . | grep -v HACKKIT + # some statistics about the code base + - env: + - TEST_CMD="sloccount ." + +notifications: + email: false + +# TODO make it perfect ;-r
Signature · 1 line
1.7.10.4
PATCH v4 1/1 .travis.yml: build u-boot on travis-ci
Quoted 6 lines · Roger
From: "Meier, Roger" <[email protected]>
Goal:
- building all variants of U-Boot with multiple configurations
- code quality checks and metrics
- https://travis-ci.org/u-boot/u-boot/builds
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150115/8f6a9126/attachment.pgp>