2013-01-10 08:16:20 +01:00
|
|
|
notifications:
|
|
|
|
email: false
|
2012-11-12 23:26:17 +01:00
|
|
|
language: c #NOTE: this will set CC=gcc which might cause trouble
|
|
|
|
before_script:
|
2012-11-13 10:53:54 +01:00
|
|
|
- "sudo apt-get -qq update"
|
|
|
|
## Install these mainline toolchains for all build types
|
|
|
|
- "sudo apt-get -qq install gcc-msp430 || true"
|
|
|
|
- "sudo apt-get -qq install gcc-avr avr-libc || true"
|
2012-12-16 20:26:29 +01:00
|
|
|
- "sudo apt-get -qq install srecord || true"
|
2013-03-16 13:40:10 +01:00
|
|
|
- "sudo apt-get -qq install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386 || true"
|
2012-11-12 23:26:38 +01:00
|
|
|
## Install toolchain for mc1233x in care-free way
|
2012-11-21 23:55:09 +01:00
|
|
|
- "[ $BUILD_TYPE = compile ] && curl -s \
|
2013-05-18 03:07:18 +02:00
|
|
|
https://raw.github.com/wiki/malvira/libmc1322x/files/arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 \
|
2012-11-12 23:26:38 +01:00
|
|
|
| tar xjf - -C /tmp/ && sudo cp -f -r /tmp/arm-2008q3/* /usr/ && rm -rf /tmp/arm-2008q3 && arm-none-eabi-gcc --version || true"
|
2012-12-16 20:26:29 +01:00
|
|
|
## Install SDCC from a purpose-built bundle
|
|
|
|
- "[ $BUILD_TYPE = compile ] && curl -s \
|
|
|
|
https://raw.github.com/wiki/g-oikonomou/contiki-sensinode/files/sdcc-r7100.tar.gz \
|
|
|
|
| tar xzf - -C /tmp/ && sudo cp -f -r /tmp/sdcc-r7100/* /usr/local/ && rm -rf /tmp/sdcc-r7100 && sdcc --version || true"
|
|
|
|
|
2012-11-13 01:07:04 +01:00
|
|
|
## Compile cooja.jar only when it's going to be needed
|
2012-11-21 23:55:09 +01:00
|
|
|
- "[ $MAKE_TARGETS = cooja ] && java -version && ant -q -f tools/cooja/build.xml jar || true"
|
2012-11-13 01:07:04 +01:00
|
|
|
|
|
|
|
## IMPORTANT: The commands here have to end with `|| true`,
|
|
|
|
## because it would make the test fail if BUILD_TYPE test fails
|
2012-11-12 23:26:17 +01:00
|
|
|
|
|
|
|
script:
|
|
|
|
## The makefile called `.travis.mk` handles most of generic logic
|
2012-12-08 22:59:48 +01:00
|
|
|
- "make -C regression-tests/??-$BUILD_TYPE RUNALL=true summary"
|
2012-11-12 23:26:17 +01:00
|
|
|
|
|
|
|
after_script:
|
2013-05-18 03:07:12 +02:00
|
|
|
## Print cooja test logs
|
|
|
|
- "tail regression-tests/??-$BUILD_TYPE/*.testlog"
|
2012-12-17 12:34:58 +01:00
|
|
|
## Print a basic summary
|
2012-12-08 22:59:48 +01:00
|
|
|
- "echo 'Summary:'; cat regression-tests/??-$BUILD_TYPE/summary"
|
2012-12-17 12:34:58 +01:00
|
|
|
- "FAILS=`grep -c -i 'fail' regression-tests/??-$BUILD_TYPE/summary`"
|
2012-11-12 23:26:17 +01:00
|
|
|
## This will detect whether the build should pass or fail
|
2012-12-17 12:34:58 +01:00
|
|
|
- "test $FAILS -eq 0; exit $?"
|
2012-11-12 23:26:17 +01:00
|
|
|
|
|
|
|
|
|
|
|
env:
|
|
|
|
## This magically kick-off parallel jobs for each of the for the sets
|
|
|
|
## of environment variable defined below
|
2012-12-08 22:59:48 +01:00
|
|
|
- BUILD_TYPE='compile'
|
|
|
|
- BUILD_TYPE='collect' MAKE_TARGETS='cooja'
|
2013-03-09 18:43:59 +01:00
|
|
|
- BUILD_TYPE='collect-lossy' MAKE_TARGETS='cooja'
|
2012-12-08 22:59:48 +01:00
|
|
|
- BUILD_TYPE='rpl' MAKE_TARGETS='cooja'
|
|
|
|
- BUILD_TYPE='rime' MAKE_TARGETS='cooja'
|
|
|
|
- BUILD_TYPE='ipv6' MAKE_TARGETS='cooja'
|
|
|
|
- BUILD_TYPE='hello-world' MAKE_TARGETS='cooja'
|
|
|
|
- BUILD_TYPE='base' MAKE_TARGETS='cooja'
|
|
|
|
- BUILD_TYPE='netperf' MAKE_TARGETS='cooja'
|
|
|
|
- BUILD_TYPE='shell' MAKE_TARGETS='cooja'
|
|
|
|
- BUILD_TYPE='elfloader' MAKE_TARGETS='cooja'
|
|
|
|
- BUILD_TYPE='ipv4' MAKE_TARGETS='cooja'
|
|
|
|
- BUILD_TYPE='ipv6-apps' MAKE_TARGETS='cooja'
|