| #!/bin/sh |
| |
| # |
| # Copyright 2018-2019 Google LLC All Rights Reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| |
| # |
| # Description: |
| # This file is the script for Travis CI hosted, distributed continuous |
| # integration 'script' step. |
| # |
| |
| die() |
| { |
| echo " *** ERROR: " ${*} |
| exit 1 |
| } |
| |
| ############################################################### |
| # Function gcc_check_happy() |
| # Build for linux-auto or linux-lwip, and run tests using happy |
| # Arguments: |
| # ${BUILD_TARGET} |
| # Returns: |
| # None |
| ############################################################### |
| gcc_check_happy() |
| { |
| cmd_start="sudo make -f Makefile-Standalone DEBUG=1 TIMESTAMP=1 COVERAGE=1 " |
| cmd_end="BuildJobs=24 check" |
| |
| if [ "lwip" in "${BUILD_TARGET}" ];then |
| build_cmd="$cmd_start USE_LWIP=1 $cmd_end" |
| build_folder="x86_64-unknown-linux-gnu-lwip" |
| else |
| build_cmd="$cmd_start BLUEZ=1 $cmd_end" |
| build_folder="x86_64-unknown-linux-gnu" |
| fi |
| |
| mkdir -p $TRAVIS_BUILD_DIR/happy-test-logs/$1 |
| eval $build_cmd |
| make_status=${?} |
| cp $TRAVIS_BUILD_DIR/build/$build_folder/src/test-apps/happy $TRAVIS_BUILD_DIR/happy-test-logs/$1 -rf |
| echo "please check happy-test-log/<UTC time> under link: https://storage.cloud.google.com/openweave" |
| return ${make_status} |
| } |
| |
| case "${BUILD_TARGET}" in |
| |
| linux-auto-clang) |
| ./configure && make && make check |
| ;; |
| |
| linux-auto-gcc-check) |
| ./configure --enable-coverage && make && make check |
| ;; |
| |
| linux-auto-gcc-check-happy) |
| gcc_check_happy ${BUILD_TARGET} |
| ;; |
| |
| linux-lwip-gcc-check-happy) |
| gcc_check_happy ${BUILD_TARGET} |
| ;; |
| |
| linux-lwip-clang) |
| ./configure --with-target-network=lwip --with-lwip=internal --disable-java && make |
| ;; |
| |
| linux-lwip-gcc-check) |
| # Note, LwIP requires sudo prior to running 'make check' to ensure the appropriate TUN and bridge interfaces |
| # may be created. |
| ./configure --enable-coverage --with-target-network=lwip --with-lwip=internal --disable-java && make && sudo make check |
| ;; |
| |
| osx-auto-clang) |
| make -f Makefile-Standalone DEBUG=1 HAPPY=0 USE_LWIP=0 stage |
| ;; |
| |
| osx-lwip-clang) |
| make -f Makefile-Standalone DEBUG=1 HAPPY=0 USE_LWIP=1 stage |
| ;; |
| |
| esp32) |
| .travis/build_esp32.sh |
| ;; |
| |
| nrf52840) |
| .travis/build_nrf52840.sh |
| ;; |
| |
| linux-auto-*-distcheck) |
| ./configure && make distcheck |
| ;; |
| |
| linux-auto-*-lint) |
| ./configure && make pretty-check |
| ;; |
| |
| *) |
| die "Unknown build target \"${BUILD_TARGET}\"." |
| ;; |
| |
| esac |
| |