blob: 52b05ecffc34bef506dc38e0fa8d4e58c433ec4d [file] [log] [blame]
#
# 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-ncp" 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="posix-app-migrate" VERBOSE=1 COVERAGE=1
os: linux
compiler: clang
script: .travis/script.sh
- env: BUILD_TARGET="posix-app-spi" 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="gn-build" VERBOSE=1
os: linux
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="arm-gcc-9"
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" COVERAGE=1 VERBOSE=1
os: linux
compiler: gcc
script: .travis/script.sh
- env: BUILD_TARGET="toranj-test-framework" COVERAGE=1 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