| # |
| # Copyright (c) 2016, The OpenThread Authors. |
| # All rights reserved. |
| # |
| # Redistribution and use in source and binary forms, with or without |
| # modification, are permitted provided that the following conditions are met: |
| # 1. Redistributions of source code must retain the above copyright |
| # notice, this list of conditions and the following disclaimer. |
| # 2. Redistributions in binary form must reproduce the above copyright |
| # notice, this list of conditions and the following disclaimer in the |
| # documentation and/or other materials provided with the distribution. |
| # 3. Neither the name of the copyright holder nor the |
| # names of its contributors may be used to endorse or promote products |
| # derived from this software without specific prior written permission. |
| # |
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
| # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| # POSSIBILITY OF SUCH DAMAGE. |
| # |
| |
| language: python |
| python: "3.6" |
| |
| sudo: required |
| dist: bionic |
| |
| before_install: |
| - travis_retry .travis/before_install.sh |
| |
| before_script: |
| - if [ "${TRAVIS_OS_NAME}" == "linux" ]; then |
| sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'; |
| fi |
| |
| after_success: |
| - .travis/after_success.sh |
| |
| stages: |
| - lint |
| - test |
| |
| jobs: |
| include: |
| - env: BUILD_TARGET="posix-app-cli" VERBOSE=1 VIRTUAL_TIME=1 |
| os: linux |
| compiler: gcc |
| script: .travis/script.sh |
| - env: BUILD_TARGET="posix-app-pty" VERBOSE=1 COVERAGE=1 |
| os: linux |
| compiler: clang |
| script: .travis/script.sh |
| - env: BUILD_TARGET="posix-app-pty" DAEMON=1 VERBOSE=1 COVERAGE=1 |
| os: linux |
| compiler: gcc |
| script: .travis/script.sh |
| - env: BUILD_TARGET="android-build" VERBOSE=1 |
| os: linux |
| dist: trusty |
| python: "2.7" # The old Android build system only supports python2 |
| script: .travis/script.sh |
| - env: BUILD_TARGET="posix-distcheck" VERBOSE=1 VIRTUAL_TIME=1 |
| os: linux |
| compiler: clang |
| script: .travis/script.sh |
| - env: BUILD_TARGET="posix-32-bit" VERBOSE=1 VIRTUAL_TIME=1 |
| os: linux |
| compiler: gcc |
| script: .travis/script.sh |
| - env: BUILD_TARGET="posix-32-bit" VERBOSE=1 VIRTUAL_TIME=1 TIME_SYNC=1 |
| os: linux |
| compiler: gcc |
| script: .travis/script.sh |
| - env: BUILD_TARGET="posix-ncp" VERBOSE=1 VIRTUAL_TIME=1 |
| os: linux |
| compiler: gcc |
| script: .travis/script.sh |
| - env: BUILD_TARGET="posix-mtd" VERBOSE=1 VIRTUAL_TIME=1 |
| os: linux |
| compiler: gcc |
| script: .travis/script.sh |
| - env: BUILD_TARGET="scan-build" |
| os: linux |
| compiler: clang |
| script: .travis/script.sh |
| - env: BUILD_TARGET="arm-gcc-4" |
| os: linux |
| compiler: gcc |
| script: .travis/script.sh |
| - env: BUILD_TARGET="arm-gcc-5" |
| os: linux |
| compiler: gcc |
| script: .travis/script.sh |
| - env: BUILD_TARGET="arm-gcc-6" |
| os: linux |
| compiler: gcc |
| script: .travis/script.sh |
| - env: BUILD_TARGET="arm-gcc-7" |
| os: linux |
| compiler: gcc |
| script: .travis/script.sh |
| # Disable Arm GCC 8 until slow compile bug is fixed: |
| # https://github.com/openthread/openthread/issues/4053 |
| # - env: BUILD_TARGET="arm-gcc-8" |
| # os: linux |
| # compiler: gcc |
| # script: .travis/script.sh |
| - env: BUILD_TARGET="posix" CC="gcc-5" CXX="g++-5" |
| os: linux |
| compiler: gcc |
| addons: |
| apt: |
| packages: |
| - gcc-5 |
| - g++-5 |
| script: .travis/script.sh |
| - env: BUILD_TARGET="posix" CC="gcc-6" CXX="g++-6" |
| os: linux |
| compiler: gcc |
| addons: |
| apt: |
| packages: |
| - gcc-6 |
| - g++-6 |
| script: .travis/script.sh |
| - env: BUILD_TARGET="posix" CC="gcc-7" CXX="g++-7" |
| os: linux |
| compiler: gcc |
| addons: |
| apt: |
| packages: |
| - gcc-7 |
| - g++-7 |
| script: .travis/script.sh |
| - env: BUILD_TARGET="posix" CC="gcc-8" CXX="g++-8" |
| os: linux |
| compiler: gcc |
| addons: |
| apt: |
| packages: |
| - gcc-8 |
| - g++-8 |
| script: .travis/script.sh |
| - env: BUILD_TARGET="posix" CC="gcc-9" CXX="g++-9" |
| os: linux |
| compiler: gcc |
| addons: |
| apt: |
| sources: |
| - sourceline: "ppa:ubuntu-toolchain-r/test" |
| packages: |
| - gcc-9 |
| - g++-9 |
| script: .travis/script.sh |
| - env: BUILD_TARGET="posix-ncp-spi" VERBOSE=1 |
| os: linux |
| compiler: gcc |
| script: .travis/script.sh |
| - env: BUILD_TARGET="toranj-test-framework" VERBOSE=1 |
| os: linux |
| compiler: gcc |
| script: .travis/script.sh |
| - env: BUILD_TARGET="toranj-test-framework" VERBOSE=1 TORANJ_POSIX_APP_RCP_MODEL=1 |
| os: linux |
| compiler: gcc |
| script: .travis/script.sh |
| - env: BUILD_TARGET="osx" VERBOSE=1 |
| os: osx |
| language: generic |
| script: .travis/script.sh |
| - stage: lint |
| name: "Pretty Check" |
| os: linux |
| addons: |
| apt: |
| packages: |
| - clang-format-6.0 |
| script: .travis/check-pretty |
| - env: |
| name: "Size Report" |
| os: linux |
| script: .travis/check-size |
| if: type = pull_request |