Files
esp-lwip/.github/workflows/ci-linux.yml
T
Sachin Parekh 33e3d3eb2f igmp/mld6: Add on-demand timers config
IGMP and MLD6 timers activated only when joining groups or receiving
QUERY packets. This reduces the power consumption in applications that
do not use IGMP and MLD6.

Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
Co-Authored-By: Axel Lin <axel.lin@gmail.com> (espressif/esp-lwip@b1eec77b)
Ref IDF-4837
2022-03-31 09:44:50 +02:00

60 lines
2.1 KiB
YAML

name: CI
on: [push, pull_request]
jobs:
build:
strategy:
matrix:
compiler: [gcc, clang]
env:
CC: ${{ matrix.compiler }}
LSAN_OPTIONS: verbosity=1:log_threads=1
WGET_PATH: http://download.savannah.nongnu.org/releases/lwip
CONTRIB: contrib-2.1.0
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install deps
run: |
sudo apt-get install check ninja-build doxygen
wget --no-verbose ${WGET_PATH}/${CONTRIB}.zip
unzip -oq ${CONTRIB}.zip
patch -s -p0 < test/${CONTRIB}.patch
- name: Build and Run unit tests with make
run: |
export LWIPDIR=../../../../src && cd ${CONTRIB}/ports/unix/check
make -j 4 check
make clean
export EXTRA_CFLAGS="-DESP_LWIP=1" && export CC="${CC} $EXTRA_CFLAGS"
make -j 4 check
make clean
export EXTRA_CFLAGS="-DESP_LWIP=1 -DIP_FORWARD=1" && export CC="${CC} $EXTRA_CFLAGS"
make -j 4 check
make clean
export EXTRA_CFLAGS="-DESP_LWIP=1 -DIP_FORWARD=1 -DIP_NAPT=1 -DLWIP_ARCH_CC_H -include cc_esp_platform.h" && export CC="${CC} $EXTRA_CFLAGS"
make -j 4 check
- name: Run cmake
run: mkdir build && cd build && cmake .. -G Ninja
- name: Build with cmake
run: cd build && cmake --build .
- name: Build docs with cmake
run: cd build && cmake --build . --target lwipdocs
- name: Validate combinations of options
run: |
cp ${CONTRIB}/examples/example_app/lwipcfg.h.example ${CONTRIB}/examples/example_app/lwipcfg.h
cd ${CONTRIB}/ports/unix/example_app
export CFLAGS="-DESP_LWIP=LWIP_NETCONN_FULLDUPLEX -DESP_LWIP_IGMP_TIMERS_ONDEMAND=ESP_LWIP -DESP_LWIP_MLD6_TIMERS_ONDEMAND=ESP_LWIP"
export LWIPDIR=../../../../src/
chmod +x iteropts.sh && ./iteropts.sh
- name: Build and run unit tests with cmake
run: |
cd ${CONTRIB}/ports/unix/check
mkdir build && cd build && cmake -DLWIP_DIR=`pwd`/../../../../.. .. -G Ninja
cmake --build . && ./lwip_unittests