ci-linux.yml 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. name: CI
  2. on:
  3. push:
  4. branches: [master]
  5. jobs:
  6. build:
  7. strategy:
  8. matrix:
  9. compiler: [gcc, clang]
  10. env:
  11. CC: ${{ matrix.compiler }}
  12. LSAN_OPTIONS: verbosity=1:log_threads=1
  13. runs-on: ubuntu-latest
  14. steps:
  15. - uses: actions/checkout@v4
  16. - name: Install deps
  17. run: sudo apt-get install check ninja-build doxygen
  18. - name: Copy lwipcfg.h for example app
  19. run: cp contrib/examples/example_app/lwipcfg.h.ci contrib/examples/example_app/lwipcfg.h
  20. - name: Build unit tests with make
  21. run: make -C contrib/ports/unix/check
  22. - name: Run unit tests
  23. run: make -C contrib/ports/unix/check check
  24. - name: Run cmake
  25. run: mkdir build && cd build && cmake .. -G Ninja
  26. - name: Build with cmake
  27. run: cd build && cmake --build .
  28. - name: Build docs with cmake
  29. run: cd build && cmake --build . --target lwipdocs
  30. - name: Validate combinations of options
  31. run: cd contrib/ports/unix/example_app && ./iteropts.sh
  32. - name: Build the default example app
  33. run: |
  34. cp contrib/examples/example_app/lwipcfg.h.example contrib/examples/example_app/lwipcfg.h
  35. make -C contrib/ports/unix/example_app TESTFLAGS="-Wno-documentation" -j 4