All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] .travis.yml: build u-boot on travis-ci
@ 2014-11-05 13:38 Roger Meier
  2014-11-05 15:10 ` Meier, Roger
                   ` (4 more replies)
  0 siblings, 5 replies; 14+ messages in thread
From: Roger Meier @ 2014-11-05 13:38 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Roger Meier <r.meier@siemens.com>
---
 .travis.yml |   86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 86 insertions(+)
 create mode 100644 .travis.yml

diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..027aff2
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,86 @@
+# Copyright Roger Meier <r.meier@siemens.com>
+# 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
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH] .travis.yml: build u-boot on travis-ci
  2014-11-05 13:38 [U-Boot] [PATCH] .travis.yml: build u-boot on travis-ci Roger Meier
@ 2014-11-05 15:10 ` Meier, Roger
  2014-11-05 15:51   ` Tom Rini
  2014-11-05 16:57 ` Wolfgang Denk
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 14+ messages in thread
From: Meier, Roger @ 2014-11-05 15:10 UTC (permalink / raw)
  To: u-boot

And here is the result:
https://travis-ci.org/siemens/u-boot/builds/40058028


> -----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-ci
> 
> Signed-off-by: Roger Meier <r.meier@siemens.com>
> ---
>  .travis.yml |   86
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 86 insertions(+)
>  create mode 100644 .travis.yml
> 
> diff --git a/.travis.yml b/.travis.yml
> new file mode 100644
> index 0000000..027aff2
> --- /dev/null
> +++ b/.travis.yml
> @@ -0,0 +1,86 @@
> +# Copyright Roger Meier <r.meier@siemens.com>
> +# 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
> --
> 1.7.10.4

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH] .travis.yml: build u-boot on travis-ci
  2014-11-05 15:10 ` Meier, Roger
@ 2014-11-05 15:51   ` Tom Rini
  2014-11-05 17:16     ` Meier, Roger
  0 siblings, 1 reply; 14+ messages in thread
From: Tom Rini @ 2014-11-05 15:51 UTC (permalink / raw)
  To: u-boot

On Wed, Nov 05, 2014 at 03:10:11PM +0000, Meier, Roger wrote:

> 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!

-- 
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>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH] .travis.yml: build u-boot on travis-ci
  2014-11-05 13:38 [U-Boot] [PATCH] .travis.yml: build u-boot on travis-ci Roger Meier
  2014-11-05 15:10 ` Meier, Roger
@ 2014-11-05 16:57 ` Wolfgang Denk
  2014-11-05 17:25 ` Daniel Schwierzeck
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 14+ messages in thread
From: Wolfgang Denk @ 2014-11-05 16:57 UTC (permalink / raw)
  To: u-boot

Dear Roger Meier,

In message <1415194714-13192-1-git-send-email-r.meier@siemens.com> you wrote:
> Signed-off-by: Roger Meier <r.meier@siemens.com>
> ---
>  .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!

Acked-by: Wolfgang Denk <wd@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: 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

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH] .travis.yml: build u-boot on travis-ci
  2014-11-05 15:51   ` Tom Rini
@ 2014-11-05 17:16     ` Meier, Roger
  0 siblings, 0 replies; 14+ messages in thread
From: Meier, Roger @ 2014-11-05 17:16 UTC (permalink / raw)
  To: u-boot

> On Wed, Nov 05, 2014 at 03:10:11PM +0000, Meier, Roger wrote:
> 
> > 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!
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

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH] .travis.yml: build u-boot on travis-ci
  2014-11-05 13:38 [U-Boot] [PATCH] .travis.yml: build u-boot on travis-ci Roger Meier
  2014-11-05 15:10 ` Meier, Roger
  2014-11-05 16:57 ` Wolfgang Denk
@ 2014-11-05 17:25 ` Daniel Schwierzeck
  2014-11-14 13:58 ` [U-Boot] [PATCH v2] " Roger Meier
  2014-11-19 14:26 ` [U-Boot] [PATCH v4] " Roger Meier
  4 siblings, 0 replies; 14+ messages in thread
From: Daniel Schwierzeck @ 2014-11-05 17:25 UTC (permalink / raw)
  To: u-boot



On 05.11.2014 14:38, Roger Meier wrote:
> Signed-off-by: Roger Meier <r.meier@siemens.com>
> ---
>  .travis.yml |   86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 86 insertions(+)
>  create mode 100644 .travis.yml
> 
> diff --git a/.travis.yml b/.travis.yml
> new file mode 100644
> index 0000000..027aff2
> --- /dev/null
> +++ b/.travis.yml
> @@ -0,0 +1,86 @@
> +# Copyright Roger Meier <r.meier@siemens.com>
> +# 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

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

> +
> +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
> 

-- 
- Daniel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v2] .travis.yml: build u-boot on travis-ci
  2014-11-05 13:38 [U-Boot] [PATCH] .travis.yml: build u-boot on travis-ci Roger Meier
                   ` (2 preceding siblings ...)
  2014-11-05 17:25 ` Daniel Schwierzeck
@ 2014-11-14 13:58 ` Roger Meier
  2014-11-16 11:05   ` Andreas Färber
  2014-11-19  6:07   ` [U-Boot] [PATCH v3] " Roger Meier
  2014-11-19 14:26 ` [U-Boot] [PATCH v4] " Roger Meier
  4 siblings, 2 replies; 14+ messages in thread
From: Roger Meier @ 2014-11-14 13:58 UTC (permalink / raw)
  To: u-boot

---
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.meier@siemens.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Tom Rini <trini@ti.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
---
 .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 0000000..7488a3f
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,148 @@
+# Copyright Roger Meier <r.meier@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"
+          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
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v2] .travis.yml: build u-boot on travis-ci
  2014-11-14 13:58 ` [U-Boot] [PATCH v2] " Roger Meier
@ 2014-11-16 11:05   ` Andreas Färber
  2014-11-18 10:19     ` Meier, Roger
  2014-11-19  6:07   ` [U-Boot] [PATCH v3] " Roger Meier
  1 sibling, 1 reply; 14+ messages in thread
From: Andreas Färber @ 2014-11-16 11:05 UTC (permalink / raw)
  To: u-boot

Hi,

Am 14.11.2014 um 14:58 schrieb 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
> 
> Signed-off-by: Roger Meier <r.meier@siemens.com>
> Cc: Wolfgang Denk <wd@denx.de>
> Cc: Tom Rini <trini@ti.com>
> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
> ---

The Sob was probably meant to go before the first ---?

Regards,
Andreas

-- 
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>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v2] .travis.yml: build u-boot on travis-ci
  2014-11-16 11:05   ` Andreas Färber
@ 2014-11-18 10:19     ` Meier, Roger
  0 siblings, 0 replies; 14+ messages in thread
From: Meier, Roger @ 2014-11-18 10:19 UTC (permalink / raw)
  To: u-boot

Hello,

> Hi,
> 
> Am 14.11.2014 um 14:58 schrieb 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
> >
> > Signed-off-by: Roger Meier <r.meier@siemens.com>
> > Cc: Wolfgang Denk <wd@denx.de>
> > Cc: Tom Rini <trini@ti.com>
> > Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
> > ---
> 
> 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

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v3] .travis.yml: build u-boot on travis-ci
  2014-11-14 13:58 ` [U-Boot] [PATCH v2] " Roger Meier
  2014-11-16 11:05   ` Andreas Färber
@ 2014-11-19  6:07   ` Roger Meier
  2014-11-19  6:31     ` Wolfgang Denk
  2014-11-19  6:40     ` Wolfgang Denk
  1 sibling, 2 replies; 14+ messages in thread
From: Roger Meier @ 2014-11-19  6:07 UTC (permalink / raw)
  To: u-boot

From: "Meier, Roger" <r.meier@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.meier@siemens.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Tom Rini <trini@ti.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Andreas F?rber <afaerber@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 0000000..7488a3f
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,148 @@
+# Copyright Roger Meier <r.meier@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"
+          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
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v3] .travis.yml: build u-boot on travis-ci
  2014-11-19  6:07   ` [U-Boot] [PATCH v3] " Roger Meier
@ 2014-11-19  6:31     ` Wolfgang Denk
  2014-11-19  6:40     ` Wolfgang Denk
  1 sibling, 0 replies; 14+ messages in thread
From: Wolfgang Denk @ 2014-11-19  6:31 UTC (permalink / raw)
  To: u-boot

Dear Roger,

In message <1416377222-22192-1-git-send-email-r.meier@siemens.com> you wrote:
> From: "Meier, Roger" <r.meier@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 <wd@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: wd at denx.de
The one who says it cannot be done should never interrupt the one who
is doing it.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v3] .travis.yml: build u-boot on travis-ci
  2014-11-19  6:07   ` [U-Boot] [PATCH v3] " Roger Meier
  2014-11-19  6:31     ` Wolfgang Denk
@ 2014-11-19  6:40     ` Wolfgang Denk
  1 sibling, 0 replies; 14+ messages in thread
From: Wolfgang Denk @ 2014-11-19  6:40 UTC (permalink / raw)
  To: u-boot

Dear Roger,

In message <1416377222-22192-1-git-send-email-r.meier@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: wd at denx.de
I've got a bad feeling about this.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [U-Boot] [PATCH v4] .travis.yml: build u-boot on travis-ci
  2014-11-05 13:38 [U-Boot] [PATCH] .travis.yml: build u-boot on travis-ci Roger Meier
                   ` (3 preceding siblings ...)
  2014-11-14 13:58 ` [U-Boot] [PATCH v2] " Roger Meier
@ 2014-11-19 14:26 ` Roger Meier
  2015-01-15 14:57   ` [U-Boot] [U-Boot,v4] " Tom Rini
  4 siblings, 1 reply; 14+ messages in thread
From: Roger Meier @ 2014-11-19 14:26 UTC (permalink / raw)
  To: u-boot

From: "Meier, Roger" <r.meier@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 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

Signed-off-by: Roger Meier <r.meier@siemens.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Tom Rini <trini@ti.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Andreas F?rber <afaerber@suse.de>
---
 .travis.yml |  150 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 150 insertions(+)
 create mode 100644 .travis.yml

diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..90f0fd7
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,150 @@
+# Copyright Roger Meier <r.meier@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=/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
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [U-Boot] [U-Boot,v4] .travis.yml: build u-boot on travis-ci
  2014-11-19 14:26 ` [U-Boot] [PATCH v4] " Roger Meier
@ 2015-01-15 14:57   ` Tom Rini
  0 siblings, 0 replies; 14+ messages in thread
From: Tom Rini @ 2015-01-15 14:57 UTC (permalink / raw)
  To: u-boot

On Wed, Nov 19, 2014 at 03:26:18PM +0100, Meier, Roger wrote:

> From: "Meier, Roger" <r.meier@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

Applied to u-boot/master, thanks!

-- 
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>

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-01-15 14:57 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-05 13:38 [U-Boot] [PATCH] .travis.yml: build u-boot on travis-ci Roger Meier
2014-11-05 15:10 ` Meier, Roger
2014-11-05 15:51   ` Tom Rini
2014-11-05 17:16     ` Meier, Roger
2014-11-05 16:57 ` Wolfgang Denk
2014-11-05 17:25 ` Daniel Schwierzeck
2014-11-14 13:58 ` [U-Boot] [PATCH v2] " Roger Meier
2014-11-16 11:05   ` Andreas Färber
2014-11-18 10:19     ` Meier, Roger
2014-11-19  6:07   ` [U-Boot] [PATCH v3] " Roger Meier
2014-11-19  6:31     ` Wolfgang Denk
2014-11-19  6:40     ` Wolfgang Denk
2014-11-19 14:26 ` [U-Boot] [PATCH v4] " Roger Meier
2015-01-15 14:57   ` [U-Boot] [U-Boot,v4] " Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.