Skip to content

ci(workflow): Add esp-idf network examples build #520

ci(workflow): Add esp-idf network examples build

ci(workflow): Add esp-idf network examples build #520

name: Build ESP-IDF Examples
on:
schedule:
- cron: '0 0 * * SAT' # Saturday midnight
pull_request:
types: [opened, reopened, synchronize]
jobs:
build:
strategy:
matrix:
idf_ver: ["release-v5.0", "release-v5.1", "release-v5.2", "release-v5.3", "release-v5.4", "latest"]
target: ["esp32s2", "esp32s3", "esp32p4"]
include:
- name: USB Examples
path: /examples/peripherals/usb/device/
- name: Network
path: /examples/network/
exclude_param: "esp32p4"
runs-on: ubuntu-20.04
container: espressif/idf:${{ matrix.idf_ver }}
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
- name: USB Device ${{ matrix.target }}
shell: bash
run: |
. ${IDF_PATH}/export.sh
pip install idf-component-manager==1.5.2 idf-build-apps==2.4.3 --upgrade
python .github/ci/override_managed_component.py esp_tinyusb device/esp_tinyusb ${IDF_PATH}/examples/peripherals/usb/device/tusb_*
cd ${IDF_PATH}
idf-build-apps find --path examples/peripherals/usb/device/ --recursive --target ${{ matrix.target }} --manifest-file examples/peripherals/.build-test-rules.yml --build-dir build_@t_@w --work-dir @f_@t_@w
idf-build-apps build --path examples/peripherals/usb/device/ --recursive --target ${{ matrix.target }} --manifest-file examples/peripherals/.build-test-rules.yml --build-dir build_@t_@w --work-dir @f_@t_@w
- name: Network ${{ matrix.target }}
shell: bash
run: |
. ${IDF_PATH}/export.sh
pip install idf-component-manager==1.5.2 idf-build-apps==2.4.3 --upgrade
python .github/ci/override_managed_component.py esp_tinyusb device/esp_tinyusb ${IDF_PATH}/examples/network/*
cd ${IDF_PATH}
idf-build-apps find --path examples/network/ --recursive --target ${{ matrix.target }} --manifest-file examples/network/.build-test-rules.yml --build-dir build_@t_@w --work-dir @f_@t_@w
idf-build-apps build --path examples/network/ --recursive --target ${{ matrix.target }} --manifest-file examples/network/.build-test-rules.yml --build-dir build_@t_@w --work-dir @f_@t_@w