# Workaround for the issue found in the stable image promoted on Dec 1, 2016. # See https://github.com/travis-ci/travis-ci/issues/6928#issuecomment-264227708 group: deprecated 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/ppa -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://simonduq.github.io/resources/mspgcc-4.7.2-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 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 mainline ARM toolchain and srecord. - if [ ${BUILD_ARCH:-0} = arm-aapcs ] ; then sudo apt-get -qq install srecord && $WGET https://launchpad.net/gcc-arm-embedded/5.0/5-2015-q4-major/+download/gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2 && tar xjf gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2 -C /tmp/ && sudo cp -f -r /tmp/gcc-arm-none-eabi-5_2-2015q4/* /usr/local/ && rm -rf /tmp/gcc-arm-none-eabi-* gcc-arm-none-eabi-*-linux.tar.bz2 && arm-none-eabi-gcc --version ; fi ## Install NXP toolchain - if [ ${BUILD_ARCH:-0} = jn516x ] ; then $WGET http://simonduq.github.io/resources/ba-elf-gcc-4.7.4-part1.tar.bz2 && $WGET http://simonduq.github.io/resources/ba-elf-gcc-4.7.4-part2.tar.bz2 && $WGET http://simonduq.github.io/resources/jn516x-sdk-4163-1416.tar.bz2 && mkdir /tmp/jn516x-sdk /tmp/ba-elf-gcc && tar xjf jn516x-sdk-*.tar.bz2 -C /tmp/jn516x-sdk && tar xjf ba-elf-gcc-*part1.tar.bz2 -C /tmp/ba-elf-gcc && tar xjf ba-elf-gcc-*part2.tar.bz2 -C /tmp/ba-elf-gcc && sudo cp -f -r /tmp/jn516x-sdk /usr/ && sudo cp -f -r /tmp/ba-elf-gcc /usr/ && export PATH=/usr/ba-elf-gcc/bin:$PATH && rm -rf /tmp/ba-elf-gcc* /tmp/jn516x-sdk* && ba-elf-gcc --version ; fi ## Install mainline ARM toolchain and download nRF52 SDK - if [ ${BUILD_ARCH:-0} = nrf52dk ] ; then sudo add-apt-repository -y ppa:team-gcc-arm-embedded/ppa && sudo apt-get -qq update && sudo apt-get -qq install gcc-arm-embedded srecord && arm-none-eabi-gcc --version && $WGET https://developer.nordicsemi.com/nRF5_IoT_SDK/nRF5_IoT_SDK_v0.9.x/nrf5_iot_sdk_3288530.zip && mkdir /tmp/nrf52-sdk && unzip nrf5_iot_sdk_3288530.zip -d /tmp/nrf52-sdk && export NRF52_SDK_ROOT=/tmp/nrf52-sdk ; fi ## Compile cooja.jar only when it's going to be needed - if [ ${BUILD_CATEGORY:-0} = sim ] ; then java -version && ant -q -f tools/cooja/build.xml jar && sudo java -Xshare:dump -version ; fi script: ## tests/Makefile handles most of generic logic - "make -C tests/??-$BUILD_TYPE RUNALL=true summary" after_script: ## Print cooja test logs - "[ ${BUILD_CATEGORY:-0} = sim ] && tail tests/??-$BUILD_TYPE/*.testlog" ## Print a basic summary - "echo 'Summary:'; cat tests/??-$BUILD_TYPE/summary" - "FAILS=`grep -c ' FAIL ' 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-arm-ports' BUILD_CATEGORY='compile' BUILD_ARCH='arm-aapcs' - BUILD_TYPE='compile-nxp-ports' BUILD_CATEGORY='compile' BUILD_ARCH='jn516x' - BUILD_TYPE='compile-nrf52-ports' BUILD_CATEGORY='compile' BUILD_ARCH='nrf52dk' - BUILD_TYPE='compile-tools' BUILD_CATEGORY='compile' - BUILD_TYPE='rpl-lite' BUILD_CATEGORY='sim' - BUILD_TYPE='rpl' BUILD_CATEGORY='sim' - BUILD_TYPE='ipv6' BUILD_CATEGORY='sim' - BUILD_TYPE='base' BUILD_CATEGORY='sim' - BUILD_TYPE='ieee802154' BUILD_CATEGORY='sim' - BUILD_TYPE='6tisch' BUILD_CATEGORY='sim'