mirror of
https://github.com/espressif/esp-lwip.git
synced 2026-06-05 21:04:45 +00:00
3ec12c3be0
also fixes github CI and makes the linger stress test run multiple times
66 lines
1.8 KiB
YAML
66 lines
1.8 KiB
YAML
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build-and-test:
|
|
strategy:
|
|
matrix:
|
|
compiler: [gcc, clang]
|
|
env:
|
|
CC: ${{ matrix.compiler }}
|
|
LSAN_OPTIONS: verbosity=1:log_threads=1
|
|
WGET_CHECK2JUNIT_PY: https://raw.githubusercontent.com/gsauthof/utility/42792030/check2junit.py
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install deps
|
|
run: |
|
|
sudo apt-get install check ninja-build doxygen
|
|
python -m pip install lxml junit-xml
|
|
wget --no-verbose ${WGET_CHECK2JUNIT_PY}
|
|
|
|
- name: Build and Run unit tests with make and cmake
|
|
run: ./test/ci/unit_tests.sh
|
|
|
|
- name: Copy lwipcfg.h for example app
|
|
run: cp contrib/examples/example_app/lwipcfg.h.ci contrib/examples/example_app/lwipcfg.h
|
|
- 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: ./test/ci/validate_opts.sh
|
|
|
|
- name: Build and run test apps
|
|
run: ./test/ci/test_apps.sh
|
|
|
|
- name: Upload Test Results
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Test Results ${{ matrix.compiler }}
|
|
path: "*.xml"
|
|
|
|
publish-test-results:
|
|
name: "Publish Tests Results"
|
|
needs: build-and-test
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
checks: write
|
|
if: always()
|
|
steps:
|
|
- name: Download Artifacts
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
path: artifacts
|
|
|
|
- name: Publish Test Results
|
|
uses: EnricoMi/publish-unit-test-result-action@v2
|
|
with:
|
|
junit_files: "artifacts/**/*.xml"
|