[mosq]: Add IDF MQTT stress tests to mosquitto CI #181
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: "sock_utils: build-tests" | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
types: [opened, synchronize, reopened, labeled] | |
jobs: | |
build_sock_utils: | |
if: contains(github.event.pull_request.labels.*.name, 'sock_utils') || github.event_name == 'push' | |
name: Socket helpers build | |
strategy: | |
matrix: | |
idf_ver: ["latest", "release-v5.3"] | |
runs-on: ubuntu-22.04 | |
container: espressif/idf:${{ matrix.idf_ver }} | |
env: | |
TEST_DIR: components/sock_utils/examples/simple | |
TARGET_TEST_DIR: build_esp32_default | |
steps: | |
- name: Checkout esp-protocols | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Build with IDF-${{ matrix.idf_ver }} | |
shell: bash | |
run: | | |
. ${IDF_PATH}/export.sh | |
pip install idf-component-manager idf-build-apps --upgrade | |
python ci/build_apps.py ${TEST_DIR} | |
cd ${TEST_DIR} | |
${GITHUB_WORKSPACE}/ci/clean_build_artifacts.sh `pwd`/${TARGET_TEST_DIR} | |
zip -qur artifacts.zip ${TARGET_TEST_DIR} | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: sock_utils_target_esp32_${{ matrix.idf_ver }} | |
path: ${{ env.TEST_DIR }}/artifacts.zip | |
if-no-files-found: error | |
host_test_sock_utils: | |
if: contains(github.event.pull_request.labels.*.name, 'sock_utils') || github.event_name == 'push' | |
name: Socket helpers host test | |
strategy: | |
matrix: | |
idf_ver: ["latest", "release-v5.3"] | |
runs-on: ubuntu-22.04 | |
container: espressif/idf:${{ matrix.idf_ver }} | |
env: | |
TEST_DIR: components/sock_utils/test/host | |
steps: | |
- name: Checkout esp-protocols | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Build with IDF-${{ matrix.idf_ver }} | |
shell: bash | |
run: | | |
. ${IDF_PATH}/export.sh | |
pip install idf-component-manager idf-build-apps --upgrade | |
cd ${TEST_DIR} | |
idf.py build | |
./build/sock_utils_host_test.elf | |
test_sock_utils: | |
# Skip running on forks since it won't have access to secrets | |
if: | | |
github.repository == 'espressif/esp-protocols' && | |
( contains(github.event.pull_request.labels.*.name, 'sock_utils') || github.event_name == 'push' ) | |
name: Socket helpers target test | |
needs: build_sock_utils | |
strategy: | |
matrix: | |
idf_ver: ["latest", "release-v5.3"] | |
runs-on: | |
- self-hosted | |
- ESP32-ETHERNET-KIT | |
env: | |
TEST_DIR: components/sock_utils/examples/simple | |
TARGET_TEST_DIR: build_esp32_default | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: sock_utils_target_esp32_${{ matrix.idf_ver }} | |
path: ${{ env.TEST_DIR }}/ci/ | |
- name: Run Test | |
working-directory: ${{ env.TEST_DIR }} | |
run: | | |
unzip ci/artifacts.zip -d ci | |
for dir in `ls -d ci/build_*`; do | |
rm -rf build sdkconfig.defaults | |
mv $dir build | |
python -m pytest --log-cli-level DEBUG --junit-xml=./results_esp32_${{ matrix.idf_ver }}_${dir#"ci/build_"}.xml --target=esp32 | |
done |