mirror of
https://github.com/oliverschmidt/contiki.git
synced 2024-12-21 19:29:18 +00:00
8f57eb6c21
Up to now we were using the LibreOffice 4.3 ppa (ppa:libreoffice/libreoffice-4-4) to install doxygen. The LibreOffice Packaging team appear to have removed this ppa, resulting in our doxygen build failing. This changes the ppa we use to LibreOffice 4.4.x.
124 lines
4.8 KiB
YAML
124 lines
4.8 KiB
YAML
notifications:
|
|
email: false
|
|
language: c #NOTE: this will set CC=gcc which might cause trouble
|
|
before_script:
|
|
- WGET="travis_retry wget --continue --tries=20 --waitretry=10 --retry-connrefused --no-dns-cache --timeout 300"
|
|
- sudo apt-get -qq update
|
|
|
|
## Support building a binary that is identical to the CI
|
|
- echo -n "Contiki will be compiled with RELSTR=" ; git --git-dir .git describe --tags --always
|
|
|
|
## Install doxygen
|
|
- if [ ${BUILD_CATEGORY:-0} = doxygen ] ; then
|
|
sudo add-apt-repository ppa:libreoffice/libreoffice-4-4 -y && sudo apt-get -qq update &&
|
|
sudo apt-get --no-install-suggests --no-install-recommends -qq install doxygen &&
|
|
doxygen --version ;
|
|
fi
|
|
|
|
## Install msp430 toolchain
|
|
- sudo apt-get -qq install lib32z1
|
|
- $WGET http://adamdunkels.github.io/contiki-fork/mspgcc-4.7.0-compiled.tar.bz2 &&
|
|
tar xjf mspgcc*.tar.bz2 -C /tmp/ &&
|
|
sudo cp -f -r /tmp/msp430/* /usr/local/ &&
|
|
rm -rf /tmp/msp430 mspgcc*.tar.bz2 &&
|
|
msp430-gcc --version
|
|
|
|
## Install avr toolchain
|
|
- sudo apt-get -qq install gcc-avr avr-libc
|
|
|
|
## Install 32-bit compatibility libraries
|
|
- sudo apt-get -qq install libc6:i386 libgcc1:i386 gcc-4.6-base:i386
|
|
libstdc++5:i386 libstdc++6:i386
|
|
|
|
## Install old APCS ARM toolchain for mc1233x and mbxxx
|
|
- if [ ${BUILD_ARCH:-0} = arm-apcs ] ; then
|
|
$WGET https://raw.githubusercontent.com/wiki/malvira/libmc1322x/files/arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 &&
|
|
tar xjf arm-2008q3*.tar.bz2 -C /tmp/ &&
|
|
sudo cp -f -r /tmp/arm-2008q3/* /usr/ &&
|
|
rm -rf /tmp/arm-2008q3 arm-2008q3*.tar.bz2 &&
|
|
arm-none-eabi-gcc --version ;
|
|
fi
|
|
|
|
## Install mainline ARM toolchain. gcc-arm-none-eabi is available
|
|
## in Ubuntu >= 14.04, but this external PPA is needed for 12.04.
|
|
## Install srecord
|
|
- if [ ${BUILD_ARCH:-0} = arm-aapcs ] ; then
|
|
sudo add-apt-repository -y ppa:terry.guo/gcc-arm-embedded &&
|
|
sudo apt-get -qq update &&
|
|
sudo apt-get -qq install gcc-arm-none-eabi srecord &&
|
|
arm-none-eabi-gcc --version ;
|
|
fi
|
|
|
|
## Install RL78 GCC toolchain
|
|
- sudo apt-get install libncurses5:i386 zlib1g:i386
|
|
- $WGET http://adamdunkels.github.io/contiki-fork/gnurl78-v13.02-elf_1-2_i386.deb &&
|
|
sudo dpkg -i gnurl78*.deb
|
|
|
|
## Install SDCC from a purpose-built bundle
|
|
- if [ ${BUILD_ARCH:-0} = 8051 ] ; then
|
|
$WGET https://raw.githubusercontent.com/wiki/g-oikonomou/contiki-sensinode/files/sdcc.tar.gz &&
|
|
tar xzf sdcc.tar.gz -C /tmp/ &&
|
|
sudo cp -f -r /tmp/sdcc/* /usr/local/ &&
|
|
rm -rf /tmp/sdcc sdcc.tar.gz &&
|
|
sdcc --version &&
|
|
sudo apt-get -qq install srecord ;
|
|
fi
|
|
|
|
## Clone and build cc65 when testing 6502 ports
|
|
- if [ ${BUILD_ARCH:-0} = 6502 ] ; then
|
|
git clone https://github.com/cc65/cc65 /tmp/cc65 &&
|
|
make -C /tmp/cc65 bin apple2enh atarixl c64 c128 &&
|
|
sudo make -C /tmp/cc65 avail &&
|
|
export CC65_HOME=/tmp/cc65/ &&
|
|
cc65 --version ;
|
|
fi
|
|
|
|
## Compile cooja.jar only when it's going to be needed
|
|
- if [ ${BUILD_CATEGORY:-sim} = sim ] ; then
|
|
java -version &&
|
|
ant -q -f tools/cooja/build.xml jar &&
|
|
sudo java -Xshare:dump -version ;
|
|
fi
|
|
|
|
script:
|
|
## regression-tests/Makefile handles most of generic logic
|
|
- "make -C regression-tests/??-$BUILD_TYPE RUNALL=true summary"
|
|
|
|
after_script:
|
|
## Print cooja test logs
|
|
- "[ ${BUILD_CATEGORY:-sim} = sim ] && tail regression-tests/??-$BUILD_TYPE/*.testlog"
|
|
## Print a basic summary
|
|
- "echo 'Summary:'; cat regression-tests/??-$BUILD_TYPE/summary"
|
|
- "FAILS=`grep -c ' FAIL ' regression-tests/??-$BUILD_TYPE/summary`"
|
|
## This will detect whether the build should pass or fail
|
|
- "test $FAILS -eq 0; exit $?"
|
|
|
|
|
|
env:
|
|
## This magically kick-off parallel jobs for each of the for the sets
|
|
## of environment variable defined below
|
|
- BUILD_TYPE='doxygen' BUILD_CATEGORY='doxygen'
|
|
- BUILD_TYPE='compile-base' BUILD_CATEGORY='compile'
|
|
- BUILD_TYPE='compile-tools' BUILD_CATEGORY='compile'
|
|
- BUILD_TYPE='collect'
|
|
- BUILD_TYPE='collect-lossy'
|
|
- BUILD_TYPE='rpl'
|
|
- BUILD_TYPE='rime'
|
|
- BUILD_TYPE='ipv6'
|
|
- BUILD_TYPE='ip64' MAKE_TARGETS='cooja'
|
|
- BUILD_TYPE='hello-world'
|
|
- BUILD_TYPE='base'
|
|
# XXX: netperf disabled b/c it's flaky
|
|
# - BUILD_TYPE='netperf' MAKE_TARGETS='cooja'
|
|
- BUILD_TYPE='shell'
|
|
- BUILD_TYPE='elfloader'
|
|
# Tests under the ipv4 dir are individually disabled. Thus the entire job can be off
|
|
# - BUILD_TYPE='ipv4'
|
|
- BUILD_TYPE='ipv6-apps'
|
|
- BUILD_TYPE='compile-8051-ports' BUILD_CATEGORY='compile' BUILD_ARCH='8051'
|
|
- BUILD_TYPE='compile-arm-apcs-ports' BUILD_CATEGORY='compile' BUILD_ARCH='arm-apcs'
|
|
- BUILD_TYPE='compile-6502-ports' BUILD_CATEGORY='compile' BUILD_ARCH='6502'
|
|
- BUILD_TYPE='compile-arm-ports' BUILD_CATEGORY='compile' BUILD_ARCH='arm-aapcs'
|
|
- BUILD_TYPE='slip-radio' MAKE_TARGETS='cooja'
|
|
- BUILD_TYPE='llsec' MAKE_TARGETS='cooja'
|