[mosq]: Add IDF MQTT stress tests to mosquitto CI #2279
Workflow file for this run
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
name: "mdns: host-tests" | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
types: [opened, synchronize, reopened, labeled] | |
jobs: | |
host_test_mdns: | |
if: contains(github.event.pull_request.labels.*.name, 'mdns') || github.event_name == 'push' | |
name: Host test build | |
runs-on: ubuntu-22.04 | |
container: espressif/idf:release-v5.3 | |
steps: | |
- name: Checkout esp-protocols | |
uses: actions/checkout@v4 | |
with: | |
path: protocols | |
- name: Build and Test | |
shell: bash | |
run: | | |
. ${IDF_PATH}/export.sh | |
python -m pip install idf-build-apps dnspython pytest pytest-embedded pytest-embedded-serial-esp pytest-embedded-idf | |
cd $GITHUB_WORKSPACE/protocols | |
# Build host tests app (with all configs and targets supported) | |
python ./ci/build_apps.py components/mdns/tests/host_test/ | |
cd components/mdns/tests/host_test | |
# First run the linux_app and send a quick A query and a reverse query | |
./build_linux_app/mdns_host.elf & | |
python dnsfixture.py A myesp.local --ip_only | xargs python dnsfixture.py X | |
# Next we run the pytest (using the console app) | |
pytest | |
build_afl_host_test_mdns: | |
if: contains(github.event.pull_request.labels.*.name, 'mdns') || github.event_name == 'push' | |
name: Build AFL host test | |
strategy: | |
matrix: | |
idf_ver: ["latest"] | |
idf_target: ["esp32"] | |
runs-on: ubuntu-22.04 | |
container: espressif/idf:${{ matrix.idf_ver }} | |
steps: | |
- name: Checkout esp-protocols | |
uses: actions/checkout@v4 | |
with: | |
path: esp-protocols | |
- name: Install Necessary Libs | |
run: | | |
apt-get update -y | |
apt-get install -y libbsd-dev | |
- name: Build ${{ matrix.example }} with IDF-${{ matrix.idf_ver }} for ${{ matrix.idf_target }} | |
env: | |
IDF_TARGET: ${{ matrix.idf_target }} | |
shell: bash | |
run: | | |
. ${IDF_PATH}/export.sh | |
cd $GITHUB_WORKSPACE/esp-protocols/components/mdns/tests/test_afl_fuzz_host/ | |
make INSTR=off |