fix: memory leak on unix udp multicast (#347) #264
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Copyright (c) 2022 ZettaScale Technology | |
# | |
# This program and the accompanying materials are made available under the | |
# terms of the Eclipse Public License 2.0 which is available at | |
# http://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0 | |
# which is available at https://www.apache.org/licenses/LICENSE-2.0. | |
# | |
# SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 | |
# | |
# Contributors: | |
# ZettaScale Zenoh Team, <[email protected]> | |
# | |
name: build-check | |
on: | |
push: | |
branches: ["**"] | |
pull_request: | |
branches: ["**"] | |
jobs: | |
run_tests: | |
name: Run unit tests on ubuntu-latest | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Build & run tests | |
run: | | |
sudo apt install -y ninja-build | |
CMAKE_GENERATOR=Ninja make test | |
check_format: | |
name: Check codebase format with clang-format | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Run clang-format dry-run | |
run: find include/ src/ tests/ examples/ -iname "*.ino" -o -iname "*.h" -o -iname "*.c" | xargs clang-format -n -Werror | |
c99_build: | |
name: Check c99 compilation | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Build with C99 | |
run: | | |
sudo apt install -y ninja-build | |
FORCE_C99=ON CMAKE_GENERATOR=Ninja make | |
modular_build: | |
name: Modular build on ubuntu-latest | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
feature_publication: [1, 0] | |
feature_subscription: [1, 0] | |
feature_queryable: [1, 0] | |
feature_query: [1, 0] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Run docker image | |
run: docker run --name zenoh_router --init --net host -d eclipse/zenoh:latest | |
- name: Build project | |
run: | | |
sudo apt install -y ninja-build | |
CMAKE_GENERATOR=Ninja make | |
python3 ./build/tests/modularity.py --pub $Z_FEATURE_PUBLICATION --sub $Z_FEATURE_SUBSCRIPTION --queryable $Z_FEATURE_QUERYABLE --query $Z_FEATURE_QUERY | |
timeout-minutes: 5 | |
env: | |
Z_FEATURE_PUBLICATION: ${{ matrix.feature_publication }} | |
Z_FEATURE_SUBSCRIPTION: ${{ matrix.feature_subscription }} | |
Z_FEATURE_QUERYABLE: ${{ matrix.feature_queryable }} | |
Z_FEATURE_QUERY: ${{ matrix.feature_query }} | |
- name: Stop docker image | |
if: always() | |
run: | | |
docker stop zenoh_router | |
docker rm zenoh_router | |
raweth_build: | |
name: Build and test raweth transport on ubuntu-latest | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
feature_reth: [1, 0] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Build project and run test | |
run: | | |
sudo apt install -y ninja-build | |
CMAKE_GENERATOR=Ninja make | |
python3 ./build/tests/raweth.py --reth $Z_FEATURE_RAWETH_TRANSPORT | |
timeout-minutes: 5 | |
env: | |
Z_FEATURE_RAWETH_TRANSPORT: ${{ matrix.feature_reth }} | |
st_build: | |
name: Build and test in single thread on ubuntu-latest | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Run docker image | |
run: docker run --name zenoh_router --init --net host -d eclipse/zenoh:latest | |
- name: Build project and run test | |
run: | | |
sudo apt install -y ninja-build | |
CMAKE_GENERATOR=Ninja make | |
python3 ./build/tests/single_thread.py | |
timeout-minutes: 5 | |
env: | |
Z_FEATURE_MULTI_THREAD: 0 | |
- name: Stop docker image | |
if: always() | |
run: | | |
docker stop zenoh_router | |
docker rm zenoh_router | |
fragment_test: | |
name: Test multicast and unicast fragmentation | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Run docker image | |
run: docker run --name zenoh_router --init --net host -d eclipse/zenoh:latest | |
- name: Build project and run test | |
run: | | |
sudo apt install -y ninja-build | |
cmake -DBATCH_UNICAST_SIZE=4096 -B build/ -G Ninja | |
CMAKE_GENERATOR=Ninja make | |
python3 ./build/tests/fragment.py | |
timeout-minutes: 5 | |
- name: Stop docker image | |
if: always() | |
run: | | |
docker stop zenoh_router | |
docker rm zenoh_router |