• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2#  Copyright (c) 2024, The OpenThread Authors.
3#  All rights reserved.
4#
5#  Redistribution and use in source and binary forms, with or without
6#  modification, are permitted provided that the following conditions are met:
7#  1. Redistributions of source code must retain the above copyright
8#     notice, this list of conditions and the following disclaimer.
9#  2. Redistributions in binary form must reproduce the above copyright
10#     notice, this list of conditions and the following disclaimer in the
11#     documentation and/or other materials provided with the distribution.
12#  3. Neither the name of the copyright holder nor the
13#     names of its contributors may be used to endorse or promote products
14#     derived from this software without specific prior written permission.
15#
16#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17#  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18#  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19#  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20#  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21#  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22#  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23#  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24#  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25#  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26#  POSSIBILITY OF SUCH DAMAGE.
27#
28
29name: NcpMode
30
31on:
32  push:
33    branches-ignore:
34      - 'dependabot/**'
35  pull_request:
36    branches:
37      - 'main'
38
39concurrency:
40  group: ${{ github.workflow }}-${{ github.event.pull_request.number || (github.repository == 'openthread/ot-br-posix' && github.run_id) || github.ref }}
41  cancel-in-progress: true
42
43jobs:
44
45  ncp_mode:
46    runs-on: ubuntu-22.04
47    strategy:
48      fail-fast: false
49      matrix:
50        mdns: ["mDNSResponder", "avahi"]
51    env:
52        BUILD_TARGET: ncp_mode
53        OTBR_MDNS: ${{ matrix.mdns }}
54        OTBR_COVERAGE: 1
55        OTBR_VERBOSE: 1
56        OTBR_OPTIONS: "-DCMAKE_BUILD_TYPE=Debug -DOT_THREAD_VERSION=1.4 -DOTBR_COVERAGE=ON -DOTBR_DBUS=ON -DOTBR_FEATURE_FLAGS=ON -DOTBR_TELEMETRY_DATA_API=ON -DOTBR_UNSECURE_JOIN=ON -DOTBR_TREL=ON -DOTBR_SRP_ADVERTISING_PROXY=ON -DBUILD_TESTING=OFF"
57    steps:
58    - uses: actions/checkout@v4
59      with:
60        submodules: true
61    - name: Bootstrap
62      run: tests/scripts/bootstrap.sh
63    - name: Build
64      run: |
65        OTBR_BUILD_DIR="./build/temp" script/cmake-build ${OTBR_OPTIONS}
66    - name: Build OTBR Docker Image
67      run: |
68        sudo docker build -t otbr-ncp \
69            -f ./etc/docker/Dockerfile . \
70            --build-arg NAT64=0 \
71            --build-arg NAT64_SERVICE=0 \
72            --build-arg DNS64=0 \
73            --build-arg WEB_GUI=0 \
74            --build-arg REST_API=0 \
75            --build-arg FIREWALL=0 \
76            --build-arg OTBR_OPTIONS="${OTBR_OPTIONS}"
77    - name: Run
78      run: |
79        top_builddir="./build/temp" tests/scripts/ncp_mode build_ot_sim expect
80    - name: Codecov
81      uses: codecov/codecov-action@v5
82