name: "esp-modem: build/host-tests" on: push: branches: - master pull_request: types: [opened, synchronize, reopened, labeled] jobs: build_esp_modem: if: contains(github.event.pull_request.labels.*.name, 'modem') || github.event_name == 'push' name: Build strategy: matrix: idf_ver: ["latest", "release-v4.2", "release-v4.3", "release-v4.4", "release-v5.0"] example: ["pppos_client", "modem_console", "modem_tcp_client", "ap_to_pppos", "simple_cmux_client"] exclude: - idf_ver: "release-v4.2" example: simple_cmux_client - idf_ver: "release-v4.2" example: modem_tcp_client - idf_ver: "release-v4.3" example: modem_tcp_client - idf_ver: "release-v4.4" example: modem_tcp_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 }} -m components/esp_modem/examples/.build-test-rules.yml host_test_esp_modem: if: contains(github.event.pull_request.labels.*.name, 'modem') || github.event_name == 'push' uses: "./.github/workflows/run-host-tests.yml" with: idf_version: "release-v4.3" app_name: "host_modem_test" app_path: "esp-protocols/components/esp_modem/test/host_test" component_path: "esp-protocols/components/esp_modem" upload_artifacts: true pre_run_script: "esp-protocols/components/esp_modem/test/host_test/env.sh" publish_unit_test_result: true