Skip to content

Commit 908e403

Browse files
committed
CI: ESP32: check stack and heap errors
Add one more step that builds using a number of checks for common memory errors. Signed-off-by: Davide Bettio <davide@uninstall.it>
1 parent 65f644a commit 908e403

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

.github/workflows/esp32-build.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,33 @@ jobs:
131131
pytest-embedded-idf==1.10.3 \
132132
pytest-embedded-qemu==1.10.3
133133
134+
- name: Build ESP32 tests using idf.py with memory checks
135+
working-directory: ./src/platforms/esp32/test/
136+
run: |
137+
set -e
138+
cp sdkconfig.defaults sdkconfig.defaults.backup
139+
echo "CONFIG_COMPILER_STACK_CHECK_MODE_ALL=y" >> sdkconfig.defaults
140+
echo "CONFIG_COMPILER_STACK_CHECK=y" >> sdkconfig.defaults
141+
echo "CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y" >> sdkconfig.defaults
142+
echo "CONFIG_HEAP_POISONING_COMPREHENSIVE=y" >> sdkconfig.defaults
143+
echo "CONFIG_ESP_WIFI_IRAM_OPT=n" >> sdkconfig.defaults
144+
echo "CONFIG_ESP_WIFI_RX_IRAM_OPT=n" >> sdkconfig.defaults
145+
. $IDF_PATH/export.sh
146+
export IDF_TARGET=${{matrix.esp-idf-target}}
147+
idf.py set-target ${{matrix.esp-idf-target}}
148+
idf.py build
149+
150+
- name: Run ESP32 tests using qemu with memory checks build
151+
working-directory: ./src/platforms/esp32/test/
152+
timeout-minutes: 10
153+
run: |
154+
set -e
155+
. $IDF_PATH/export.sh
156+
export PATH=/opt/qemu/bin:${PATH}
157+
pytest --target=${{matrix.esp-idf-target}} --embedded-services=idf,qemu -s
158+
idf.py clean
159+
cp sdkconfig.defaults.backup sdkconfig.defaults
160+
134161
- name: Build ESP32 tests using idf.py
135162
working-directory: ./src/platforms/esp32/test/
136163
run: |

0 commit comments

Comments
 (0)