From cbda15724ccb571882562a6fcfa9b3446b8344e4 Mon Sep 17 00:00:00 2001 From: David Cermak Date: Wed, 8 Mar 2023 15:52:20 +0100 Subject: [PATCH] ci: regroup tests per components and purpose --- .github/workflows/mdns__build-host-tests.yml | 33 +++++++++ ...t-test.yml => modem__build-host-tests.yml} | 69 ++++++++++++------- .github/workflows/target-test.yml | 36 ---------- 3 files changed, 77 insertions(+), 61 deletions(-) create mode 100644 .github/workflows/mdns__build-host-tests.yml rename .github/workflows/{host-test.yml => modem__build-host-tests.yml} (52%) diff --git a/.github/workflows/mdns__build-host-tests.yml b/.github/workflows/mdns__build-host-tests.yml new file mode 100644 index 000000000..6dc7ef7d3 --- /dev/null +++ b/.github/workflows/mdns__build-host-tests.yml @@ -0,0 +1,33 @@ +name: "mdns: Build and Host tests" + +on: + push: + paths: + - 'components/mdns/**' + pull_request: + types: [opened, synchronize, reopened, labeled] + +jobs: + host_test_mdns: + if: contains(github.event.pull_request.labels.*.name, 'mdns') + name: Host test + runs-on: ubuntu-20.04 + container: espressif/idf:latest + + steps: + - name: Checkout esp-protocols + uses: actions/checkout@master + with: + path: esp-protocols + + - name: Build and Test + shell: bash + run: | + apt-get update && apt-get install -y dnsutils gcc g++ + . ${IDF_PATH}/export.sh + cd $GITHUB_WORKSPACE/esp-protocols/components/mdns/tests/host_test + idf.py build + ./build/mdns_host.elf & + dig +short -p 5353 @224.0.0.251 myesp.local > ip.txt + cat ip.txt | xargs dig +short -p 5353 @224.0.0.251 -x + cat ip.txt diff --git a/.github/workflows/host-test.yml b/.github/workflows/modem__build-host-tests.yml similarity index 52% rename from .github/workflows/host-test.yml rename to .github/workflows/modem__build-host-tests.yml index d823d38b8..5dd5785b2 100644 --- a/.github/workflows/host-test.yml +++ b/.github/workflows/modem__build-host-tests.yml @@ -1,8 +1,50 @@ -name: Host test +name: "esp-modem: Build and Host tests" -on: [push, pull_request] +on: + push: + paths: + - 'components/esp_modem/**' + pull_request: + types: [opened, synchronize, reopened, labeled] jobs: + build_esp_modem: + if: contains(github.event.pull_request.labels.*.name, 'modem') + strategy: + matrix: + idf_ver: ["latest", "release-v4.2", "release-v4.3", "release-v4.4", "release-v5.0"] + example: ["pppos_client", "modem_console", "ap_to_pppos", "simple_cmux_client"] + exclude: + - idf_ver: "release-v4.2" + example: simple_cmux_client + include: + - idf_ver: "release-v4.2" + skip_config: usb + - idf_ver: "release-v4.3" + skip_config: usb + - idf_ver: "release-v5.0" + example: "simple_cmux_client" + warning: "Warning: The smallest app partition is nearly full" + + runs-on: ubuntu-20.04 + container: espressif/idf:${{ matrix.idf_ver }} + steps: + - name: Checkout esp-protocols + uses: actions/checkout@v3 + with: + path: protocols + - if: ${{ matrix.skip_config }} + run: rm -f $GITHUB_WORKSPACE/protocols/components/esp_modem/examples/${{ matrix.example }}/sdkconfig.ci.${{ matrix.skip_config }}* + - name: Build ${{ matrix.example }} with IDF-${{ matrix.idf_ver }} + env: + EXPECTED_WARNING: ${{ matrix.warning }} + shell: bash + run: | + . ${IDF_PATH}/export.sh + python -m pip install idf-build-apps + cd $GITHUB_WORKSPACE/protocols + python ./ci/build_apps.py components/esp_modem/examples/${{ matrix.example }} + host_test_esp_modem: name: esp-modem Build and Test on Host runs-on: ubuntu-20.04 @@ -38,26 +80,3 @@ jobs: if: always() with: files: esp-protocols/components/esp_modem/test/host_test/junit.xml - - host_test_mdns: - name: mdns Build and Test on Host - runs-on: ubuntu-20.04 - container: espressif/idf:latest - - steps: - - name: Checkout esp-protocols - uses: actions/checkout@master - with: - path: esp-protocols - - - name: Build and Test - shell: bash - run: | - apt-get update && apt-get install -y dnsutils gcc g++ - . ${IDF_PATH}/export.sh - cd $GITHUB_WORKSPACE/esp-protocols/components/mdns/tests/host_test - idf.py build - ./build/mdns_host.elf & - dig +short -p 5353 @224.0.0.251 myesp.local > ip.txt - cat ip.txt | xargs dig +short -p 5353 @224.0.0.251 -x - cat ip.txt diff --git a/.github/workflows/target-test.yml b/.github/workflows/target-test.yml index 32afc636b..17f721688 100644 --- a/.github/workflows/target-test.yml +++ b/.github/workflows/target-test.yml @@ -3,42 +3,6 @@ name: Build and Run Target tests on: [push, pull_request] jobs: - build_esp_modem: - strategy: - matrix: - idf_ver: ["latest", "release-v4.2", "release-v4.3", "release-v4.4", "release-v5.0"] - example: ["pppos_client", "modem_console", "ap_to_pppos", "simple_cmux_client"] - exclude: - - idf_ver: "release-v4.2" - example: simple_cmux_client - include: - - idf_ver: "release-v4.2" - skip_config: usb - - idf_ver: "release-v4.3" - skip_config: usb - - idf_ver: "release-v5.0" - example: "simple_cmux_client" - warning: "Warning: The smallest app partition is nearly full" - - runs-on: ubuntu-20.04 - container: espressif/idf:${{ matrix.idf_ver }} - steps: - - name: Checkout esp-protocols - uses: actions/checkout@v3 - with: - path: protocols - - if: ${{ matrix.skip_config }} - run: rm -f $GITHUB_WORKSPACE/protocols/components/esp_modem/examples/${{ matrix.example }}/sdkconfig.ci.${{ matrix.skip_config }}* - - name: Build ${{ matrix.example }} with IDF-${{ matrix.idf_ver }} - env: - EXPECTED_WARNING: ${{ matrix.warning }} - shell: bash - run: | - . ${IDF_PATH}/export.sh - python -m pip install idf-build-apps - cd $GITHUB_WORKSPACE/protocols - python ./ci/build_apps.py components/esp_modem/examples/${{ matrix.example }} - build_mdns: strategy: matrix: