Skip to content

Commit 5df8257

Browse files
feat(ci): Run idf examples
1 parent 4428739 commit 5df8257

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

.github/workflows/build_idf_examples.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,52 @@ jobs:
6464
6565
idf-build-apps find --config-file ${CONFIG_PATH} --manifest-file ${MANIFEST_PATH}
6666
idf-build-apps build --config-file ${CONFIG_PATH} --manifest-file ${MANIFEST_PATH}
67+
- uses: actions/upload-artifact@v4
68+
with:
69+
name: usb_examples_bin_${{ matrix.idf_ver }}
70+
path: |
71+
**/build_esp*/bootloader/bootloader.bin
72+
**/build_esp*/partition_table/partition-table.bin
73+
**/build_esp*/test_app_*.bin
74+
**/build_esp*/test_app_*.elf
75+
**/build_esp*/flasher_args.json
76+
**/build_esp*/config/sdkconfig.json
77+
if-no-files-found: error
78+
79+
80+
run-target:
81+
name: Run esp-idf examples
82+
if: ${{ github.repository_owner == 'espressif' }}
83+
needs: build
84+
strategy:
85+
fail-fast: false
86+
matrix:
87+
idf_ver: ["release-v5.1", "release-v5.2", "release-v5.3", "release-v5.4", "release-v5.5" , "latest"]
88+
idf_target: ["esp32s2", "esp32p4"]
89+
runner_tag: ["usb_host_flash_disk"]
90+
runs-on: [self-hosted, linux, docker, "${{ matrix.idf_target }}", "${{ matrix.runner_tag }}"]
91+
container:
92+
image: espressif/idf:${{ matrix.idf_ver }}
93+
options: --privileged --device-cgroup-rule="c 188:* rmw" --device-cgroup-rule="c 166:* rmw"
94+
steps:
95+
- name: ⚙️ Install System tools
96+
run: |
97+
apt update
98+
apt install net-tools
99+
- name: ⚙️ Install Python packages
100+
env:
101+
PIP_EXTRA_INDEX_URL: "https://dl.espressif.com/pypi/"
102+
run: |
103+
cd ${IDF_PATH}
104+
. ./export.sh
105+
pip install --no-cache-dir --only-binary cryptography pytest-embedded pytest-embedded-serial-esp pytest-embedded-jtag pytest-embedded-idf pyserial pyusb python-gitlab minio idf-build-apps pytest_ignore_test_results pytest-timeout netifaces
106+
- uses: actions/download-artifact@v4
107+
with:
108+
name: usb_examples_bin_${{ matrix.idf_ver }}
109+
path: /opt/esp/idf/examples/peripherals/usb/host
110+
- name: Run USB Test App on target
111+
run: |
112+
cd ${IDF_PATH}
113+
. ./export.sh
114+
export EXAMPLES_PATH="${IDF_PATH}/examples/peripherals/usb/host"
115+
pytest ${EXAMPLES_PATH} --target ${{ matrix.idf_target }} -m ${{ matrix.runner_tag }}

0 commit comments

Comments
 (0)