| # |
| # Copyright (c) 2020, 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. |
| # |
| |
| name: Simulation |
| |
| on: [push, pull_request] |
| |
| jobs: |
| |
| cancel-previous-runs: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: rokroskar/workflow-run-cleanup-action@master |
| env: |
| GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" |
| if: "github.ref != 'refs/heads/master'" |
| |
| distcheck: |
| runs-on: ubuntu-18.04 |
| env: |
| CC: clang |
| CXX: clang++ |
| REFERENCE_DEVICE: 1 |
| VIRTUAL_TIME: 1 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Bootstrap |
| run: | |
| sudo apt update |
| sudo apt --no-install-recommends install -y llvm-runtime |
| python3 -m pip install -r tests/scripts/thread-cert/requirements.txt |
| - name: Run |
| run: | |
| export ASAN_SYMBOLIZER_PATH=`which llvm-symbolizer` |
| export ASAN_OPTIONS=symbolize=1 |
| export DISTCHECK_CONFIGURE_FLAGS= CPPFLAGS=-DOPENTHREAD_SIMULATION_VIRTUAL_TIME=1 |
| ./bootstrap |
| make -f examples/Makefile-simulation distcheck |
| |
| cli-ftd: |
| runs-on: ubuntu-18.04 |
| env: |
| CFLAGS: -m32 |
| CXXFLAGS: -m32 |
| LDFLAGS: -m32 |
| COVERAGE: 1 |
| REFERENCE_DEVICE: 1 |
| VIRTUAL_TIME: 1 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Bootstrap |
| run: | |
| sudo apt update |
| sudo apt --no-install-recommends install -y g++-multilib |
| python3 -m pip install -r tests/scripts/thread-cert/requirements.txt |
| - name: Build |
| run: | |
| ./bootstrap |
| make -f examples/Makefile-simulation |
| - name: Run |
| run: | |
| make -f examples/Makefile-simulation check |
| - name: Codecov |
| uses: codecov/codecov-action@v1 |
| |
| cli-mtd: |
| runs-on: ubuntu-18.04 |
| env: |
| CFLAGS: -m32 |
| CXXFLAGS: -m32 |
| LDFLAGS: -m32 |
| COVERAGE: 1 |
| REFERENCE_DEVICE: 1 |
| USE_MTD: 1 |
| VIRTUAL_TIME: 1 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Bootstrap |
| run: | |
| sudo apt update |
| sudo apt --no-install-recommends install -y g++-multilib |
| python3 -m pip install -r tests/scripts/thread-cert/requirements.txt |
| - name: Build |
| run: | |
| ./bootstrap |
| make -f examples/Makefile-simulation |
| - name: Run |
| run: | |
| make -f examples/Makefile-simulation check |
| - name: Codecov |
| uses: codecov/codecov-action@v1 |
| |
| cli-time-sync: |
| runs-on: ubuntu-18.04 |
| env: |
| CFLAGS: -m32 |
| CXXFLAGS: -m32 |
| LDFLAGS: -m32 |
| COVERAGE: 1 |
| REFERENCE_DEVICE: 1 |
| TIME_SYNC: 1 |
| VIRTUAL_TIME: 1 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Bootstrap |
| run: | |
| sudo apt update |
| sudo apt --no-install-recommends install -y g++-multilib |
| python3 -m pip install -r tests/scripts/thread-cert/requirements.txt |
| - name: Build |
| run: | |
| ./bootstrap |
| make -f examples/Makefile-simulation |
| - name: Run |
| run: | |
| make -f examples/Makefile-simulation check |
| - name: Codecov |
| uses: codecov/codecov-action@v1 |
| |
| expects: |
| runs-on: ubuntu-18.04 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Run |
| run: | |
| sudo apt --no-install-recommends install -y expect ninja-build |
| ./script/test build expect |
| - name: Codecov |
| uses: codecov/codecov-action@v1 |
| |
| ncp: |
| runs-on: ubuntu-18.04 |
| env: |
| CFLAGS: -m32 |
| CXXFLAGS: -m32 |
| LDFLAGS: -m32 |
| COVERAGE: 1 |
| NODE_TYPE: ncp-sim |
| PYTHONUNBUFFERED: 1 |
| REFERENCE_DEVICE: 1 |
| VERBOSE: 1 |
| VIRTUAL_TIME: 1 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Bootstrap |
| run: | |
| sudo apt update |
| sudo apt --no-install-recommends install -y g++-multilib python3-setuptools |
| python3 -m pip install -r tests/scripts/thread-cert/requirements.txt |
| sudo python3 -m pip install git+https://github.com/openthread/pyspinel |
| - name: Build |
| run: | |
| ./bootstrap |
| make -f examples/Makefile-simulation |
| - name: Run |
| run: | |
| make -f examples/Makefile-simulation check |
| - name: Codecov |
| uses: codecov/codecov-action@v1 |
| |
| posix-cli: |
| runs-on: ubuntu-18.04 |
| env: |
| COVERAGE: 1 |
| PYTHONUNBUFFERED: 1 |
| READLINE: readline |
| REFERENCE_DEVICE: 1 |
| VIRTUAL_TIME: 1 |
| VIRTUAL_TIME_UART: 1 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Bootstrap |
| run: | |
| sudo apt update |
| sudo apt --no-install-recommends install -y libreadline6-dev |
| python3 -m pip install -r tests/scripts/thread-cert/requirements.txt |
| - name: Build |
| run: | |
| ./bootstrap |
| make -f examples/Makefile-simulation |
| make -f src/posix/Makefile-posix |
| - name: Run |
| run: | |
| OT_CLI_PATH="$(pwd)/$(ls output/posix/*/bin/ot-cli) -v" RADIO_DEVICE="$(pwd)/$(ls output/*/bin/ot-rcp)" make -f src/posix/Makefile-posix check |
| - name: Codecov |
| uses: codecov/codecov-action@v1 |
| |
| posix-ncp: |
| runs-on: ubuntu-18.04 |
| env: |
| COVERAGE: 1 |
| NODE_TYPE: ncp-sim |
| PYTHONUNBUFFERED: 1 |
| READLINE: readline |
| REFERENCE_DEVICE: 1 |
| VERBOSE: 1 |
| VIRTUAL_TIME: 1 |
| VIRTUAL_TIME_UART: 1 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Bootstrap |
| run: | |
| sudo apt update |
| sudo apt --no-install-recommends install -y libreadline6-dev python3-setuptools |
| python3 -m pip install -r tests/scripts/thread-cert/requirements.txt |
| sudo python3 -m pip install git+https://github.com/openthread/pyspinel |
| - name: Build |
| run: | |
| ./bootstrap |
| make -f examples/Makefile-simulation |
| make -f src/posix/Makefile-posix |
| - name: Run |
| run: | |
| OT_NCP_PATH="$(pwd)/$(ls output/posix/*/bin/ot-ncp)" RADIO_DEVICE="$(pwd)/$(ls output/*/bin/ot-rcp)" make -f src/posix/Makefile-posix check |
| - name: Codecov |
| uses: codecov/codecov-action@v1 |
| |
| posix-ncp-rcp-migrate: |
| runs-on: ubuntu-18.04 |
| env: |
| COVERAGE: 1 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Bootstrap |
| run: | |
| sudo apt update |
| sudo apt --no-install-recommends install -y expect |
| - name: Build |
| run: | |
| ./bootstrap |
| script/check-ncp-rcp-migrate build |
| - name: Run |
| run: | |
| script/check-ncp-rcp-migrate check |
| - name: Codecov |
| uses: codecov/codecov-action@v1 |
| |
| posix-pty: |
| runs-on: ubuntu-18.04 |
| env: |
| COVERAGE: 1 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Bootstrap |
| run: | |
| sudo apt update |
| sudo apt --no-install-recommends install -y socat expect |
| cd /tmp |
| wget https://github.com/obgm/libcoap/archive/bsd-licensed.tar.gz |
| tar xvf bsd-licensed.tar.gz |
| cd libcoap-bsd-licensed |
| ./autogen.sh |
| ./configure --prefix= --exec-prefix=/usr --with-boost=internal --disable-tests --disable-documentation |
| make -j2 |
| sudo make install |
| - name: Build |
| run: | |
| ./bootstrap |
| script/check-posix-pty build |
| - name: Run |
| run: | |
| script/check-posix-pty check |
| - name: Codecov |
| uses: codecov/codecov-action@v1 |
| |
| posix-pty-daemon: |
| runs-on: ubuntu-18.04 |
| env: |
| COVERAGE: 1 |
| DAEMON: 1 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Bootstrap |
| run: | |
| sudo apt update |
| sudo apt --no-install-recommends install -y socat expect |
| cd /tmp |
| wget https://github.com/obgm/libcoap/archive/bsd-licensed.tar.gz |
| tar xvf bsd-licensed.tar.gz |
| cd libcoap-bsd-licensed |
| ./autogen.sh |
| ./configure --prefix= --exec-prefix=/usr --with-boost=internal --disable-tests --disable-documentation |
| make -j2 |
| sudo make install |
| - name: Build |
| run: | |
| ./bootstrap |
| script/check-posix-pty build |
| - name: Run |
| run: | |
| script/check-posix-pty check |
| - name: Codecov |
| uses: codecov/codecov-action@v1 |
| |
| toranj-ncp: |
| runs-on: ubuntu-18.04 |
| env: |
| COVERAGE: 1 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Bootstrap |
| run: | |
| sudo apt update |
| sudo apt --no-install-recommends install -y dbus libdbus-1-dev |
| sudo apt --no-install-recommends install -y autoconf-archive |
| sudo apt --no-install-recommends install -y bsdtar |
| sudo apt --no-install-recommends install -y libtool |
| sudo apt --no-install-recommends install -y libglib2.0-dev |
| sudo apt --no-install-recommends install -y libboost-dev libboost-signals-dev |
| |
| git clone --depth=1 --branch=master https://github.com/openthread/wpantund.git |
| cd wpantund |
| ./bootstrap.sh |
| ./configure |
| sudo make -j2 |
| sudo make install |
| - name: Build & Run |
| run: | |
| top_builddir=$(pwd)/build/toranj ./tests/toranj/start.sh |
| - name: Codecov |
| uses: codecov/codecov-action@v1 |
| |
| toranj-rcp: |
| runs-on: ubuntu-18.04 |
| env: |
| COVERAGE: 1 |
| TORANJ_POSIX_RCP_MODEL: 1 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Bootstrap |
| run: | |
| sudo apt update |
| sudo apt --no-install-recommends install -y dbus libdbus-1-dev |
| sudo apt --no-install-recommends install -y autoconf-archive |
| sudo apt --no-install-recommends install -y bsdtar |
| sudo apt --no-install-recommends install -y libtool |
| sudo apt --no-install-recommends install -y libglib2.0-dev |
| sudo apt --no-install-recommends install -y libboost-dev libboost-signals-dev |
| |
| git clone --depth=1 --branch=master https://github.com/openthread/wpantund.git |
| cd wpantund |
| ./bootstrap.sh |
| ./configure |
| sudo make -j2 |
| sudo make install |
| - name: Build & Run |
| run: | |
| top_builddir=$(pwd)/build/toranj ./tests/toranj/start.sh |
| - name: Codecov |
| uses: codecov/codecov-action@v1 |
| |
| thread-1-2: |
| runs-on: ubuntu-18.04 |
| env: |
| CFLAGS: -m32 |
| CXXFLAGS: -m32 |
| LDFLAGS: -m32 |
| COVERAGE: 1 |
| THREAD_VERSION: 1.2 |
| VIRTUAL_TIME: 1 |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Bootstrap |
| run: | |
| sudo apt update |
| sudo apt --no-install-recommends install -y g++-multilib ninja-build |
| python3 -m pip install -r tests/scripts/thread-cert/requirements.txt |
| - name: Build |
| run: | |
| ./bootstrap |
| ./script/test build |
| - name: Run |
| run: | |
| ./script/test cert_suite tests/scripts/thread-cert/v1_2_* |
| - name: Codecov |
| uses: codecov/codecov-action@v1 |