fix(ci): fix ci build issue of esp32s31

This commit is contained in:
yinqingzhao
2026-04-16 19:31:55 +08:00
parent fa0f2c9553
commit 9f58583929
13 changed files with 62 additions and 13 deletions
@@ -26,6 +26,10 @@ components/esp_wifi/test_apps/:
components/esp_wifi/test_apps/wifi_nvs_config: components/esp_wifi/test_apps/wifi_nvs_config:
disable: disable:
- if: SOC_WIFI_SUPPORTED != 1 - if: SOC_WIFI_SUPPORTED != 1
disable_test:
- if: IDF_TARGET in ["esp32s31"]
temporary: true
reason: lack of runners
depends_components: depends_components:
- esp_hw_support - esp_hw_support
- esp_rom - esp_rom
@@ -9,7 +9,8 @@ from pytest_embedded_idf.utils import idf_parametrize
@pytest.mark.parametrize('count', [2], indirect=True) @pytest.mark.parametrize('count', [2], indirect=True)
@idf_parametrize( @idf_parametrize(
'target', 'target',
['esp32', 'esp32c3', 'esp32c5', 'esp32c6', 'esp32c61', 'esp32s2', 'esp32s3', 'esp32s31'], # esp32s31: no two_duts runner in CI (rev_default) yet
['esp32', 'esp32c3', 'esp32c5', 'esp32c6', 'esp32c61', 'esp32s2', 'esp32s3'],
indirect=['target'], indirect=['target'],
) )
def test_wifi_nvs_connect_cases(case_tester: CaseTester) -> None: # type: ignore def test_wifi_nvs_connect_cases(case_tester: CaseTester) -> None: # type: ignore
@@ -3,6 +3,10 @@
components/wpa_supplicant/test_apps: components/wpa_supplicant/test_apps:
disable: disable:
- if: SOC_WIFI_SUPPORTED != 1 - if: SOC_WIFI_SUPPORTED != 1
disable_test:
- if: IDF_TARGET in ["esp32s31"]
temporary: true
reason: lack of runners
depends_components: depends_components:
- *common_components - *common_components
- esp_wifi - esp_wifi
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD # SPDX-FileCopyrightText: 2023-2026 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: CC0-1.0 # SPDX-License-Identifier: CC0-1.0
import pytest import pytest
from pytest_embedded import Dut from pytest_embedded import Dut
@@ -9,7 +9,16 @@ from pytest_embedded_idf.utils import idf_parametrize
@pytest.mark.generic @pytest.mark.generic
@idf_parametrize( @idf_parametrize(
'target', 'target',
['esp32', 'esp32s2', 'esp32s3', 'esp32s31', 'esp32c3', 'esp32c2', 'esp32c6', 'esp32c61', 'esp32c5'], [
'esp32',
'esp32s2',
'esp32s3',
'esp32c3',
'esp32c2',
'esp32c6',
'esp32c61',
'esp32c5',
],
indirect=['target'], indirect=['target'],
) )
def test_wpa_supplicant_ut(dut: Dut) -> None: def test_wpa_supplicant_ut(dut: Dut) -> None:
@@ -26,7 +35,8 @@ def test_wpa_supplicant_ut(dut: Dut) -> None:
) )
@idf_parametrize( @idf_parametrize(
'target', 'target',
['esp32', 'esp32s2', 'esp32s3', 'esp32s31', 'esp32c6', 'esp32c61', 'esp32c5'], # esp32s31: no two_duts runner in CI (rev_default) yet
['esp32', 'esp32s2', 'esp32s3', 'esp32c6', 'esp32c61', 'esp32c5'],
indirect=['target'], indirect=['target'],
) )
def test_wpa_supplicant_ut_offchan(case_tester: CaseTester) -> None: def test_wpa_supplicant_ut_offchan(case_tester: CaseTester) -> None:
+4
View File
@@ -24,6 +24,10 @@ examples/network/eth2ap:
examples/network/simple_sniffer: examples/network/simple_sniffer:
disable: disable:
- if: SOC_WIFI_SUPPORTED != 1 - if: SOC_WIFI_SUPPORTED != 1
disable_test:
- if: IDF_TARGET in ["esp32s31"]
temporary: true
reason: lack of runners
depends_components: depends_components:
- esp_wifi - esp_wifi
- fatfs - fatfs
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD # SPDX-FileCopyrightText: 2021-2026 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
import pytest import pytest
from common_test_methods import get_env_config_variable from common_test_methods import get_env_config_variable
@@ -47,7 +47,16 @@ def _sniffer_packets_check(dut: Dut, channel: int, packet_num: int) -> None:
) )
@idf_parametrize( @idf_parametrize(
'target', 'target',
['esp32', 'esp32c2', 'esp32c3', 'esp32c5', 'esp32c6', 'esp32c61', 'esp32s2', 'esp32s3', 'esp32s31'], [
'esp32',
'esp32c2',
'esp32c3',
'esp32c5',
'esp32c6',
'esp32c61',
'esp32s2',
'esp32s3',
],
indirect=['target'], indirect=['target'],
) )
def test_examples_simple_sniffer(dut: Dut) -> None: def test_examples_simple_sniffer(dut: Dut) -> None:
@@ -31,6 +31,9 @@ examples/openthread/ot_br:
- if: ((SOC_WIFI_SUPPORTED == 1 and IDF_TARGET != "esp32c61") or IDF_TARGET == "esp32p4") and CONFIG_NAME != "native_radio" - if: ((SOC_WIFI_SUPPORTED == 1 and IDF_TARGET != "esp32c61") or IDF_TARGET == "esp32p4") and CONFIG_NAME != "native_radio"
- if: SOC_WIFI_SUPPORTED == 1 and (SOC_IEEE802154_SUPPORTED == 1 and CONFIG_NAME == "native_radio") - if: SOC_WIFI_SUPPORTED == 1 and (SOC_IEEE802154_SUPPORTED == 1 and CONFIG_NAME == "native_radio")
disable: disable:
- if: IDF_TARGET == "esp32s31"
temporary: true
reason: OpenThread BR example does not support esp32s31 yet
- if: IDF_TARGET in ["esp32", "esp32s2", "esp32s3"] and CONFIG_NAME == "br_debug_riscv" - if: IDF_TARGET in ["esp32", "esp32s2", "esp32s3"] and CONFIG_NAME == "br_debug_riscv"
disable_test: disable_test:
- if: IDF_TARGET not in ["esp32s3"] - if: IDF_TARGET not in ["esp32s3"]
@@ -80,6 +83,10 @@ examples/openthread/ot_sleepy_device/light_sleep:
examples/openthread/ot_trel: examples/openthread/ot_trel:
enable: enable:
- if: SOC_WIFI_SUPPORTED == 1 - if: SOC_WIFI_SUPPORTED == 1
disable:
- if: IDF_TARGET == "esp32s31"
temporary: true
reason: OpenThread TREL example does not support esp32s31 yet
disable_test: disable_test:
- if: IDF_TARGET not in ["esp32c6", "esp32s3"] - if: IDF_TARGET not in ["esp32c6", "esp32s3"]
reason: only test on esp32c6 and esp32s3 reason: only test on esp32c6 and esp32s3
@@ -1,5 +1,5 @@
| Supported Targets | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-P4 | ESP32-S2 | ESP32-S3 | | Supported Targets | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-P4 | ESP32-S2 | ESP32-S3 | ESP32-S31 |
| ----------------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- | | ----------------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- | --------- |
# I2C slave example # I2C slave example
+6
View File
@@ -43,6 +43,9 @@ examples/wifi/getting_started:
- if: IDF_TARGET in ["esp32p4", "esp32h2"] - if: IDF_TARGET in ["esp32p4", "esp32h2"]
temporary: true temporary: true
reason: lack of runners reason: lack of runners
- if: IDF_TARGET in ["esp32s31"]
temporary: true
reason: lack of runners
depends_filepatterns: depends_filepatterns:
- examples/wifi/getting_started/**/* - examples/wifi/getting_started/**/*
@@ -76,6 +79,9 @@ examples/wifi/itwt:
<<: *wifi_depends_default <<: *wifi_depends_default
disable: disable:
- if: SOC_WIFI_HE_SUPPORT != 1 - if: SOC_WIFI_HE_SUPPORT != 1
- if: IDF_TARGET == "esp32s31"
temporary: true
reason: sdkconfig.defaults references Kconfig CPU freq symbols not present for S31; fix defaults or split sdkconfig then remove
examples/wifi/power_save: examples/wifi/power_save:
<<: *wifi_depends_default <<: *wifi_depends_default
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD # SPDX-FileCopyrightText: 2022-2026 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: CC0-1.0 # SPDX-License-Identifier: CC0-1.0
import os.path import os.path
@@ -33,7 +33,7 @@ from pytest_embedded_idf.utils import idf_parametrize
) )
@idf_parametrize( @idf_parametrize(
'target', 'target',
['esp32', 'esp32c3', 'esp32s2', 'esp32s3', 'esp32s31', 'esp32c5', 'esp32c6', 'esp32c61'], ['esp32', 'esp32c3', 'esp32s2', 'esp32s3', 'esp32c5', 'esp32c6', 'esp32c61'],
indirect=['target'], indirect=['target'],
) )
def test_wifi_getting_started(dut: tuple[IdfDut, IdfDut]) -> None: def test_wifi_getting_started(dut: tuple[IdfDut, IdfDut]) -> None:
@@ -12,7 +12,6 @@ from pytest_embedded_idf.utils import idf_parametrize
DIFF_THRESHOLD = { DIFF_THRESHOLD = {
'esp32s2': 40 * 1000, 'esp32s2': 40 * 1000,
'esp32s3': 40 * 1000, 'esp32s3': 40 * 1000,
'esp32s31': 40 * 1000,
'default': 45 * 1000, 'default': 45 * 1000,
} }
@@ -21,7 +20,8 @@ DIFF_THRESHOLD = {
@pytest.mark.parametrize('count, config, skip_autoflash', [(2, 'default|enable_softap', 'y')], indirect=True) @pytest.mark.parametrize('count, config, skip_autoflash', [(2, 'default|enable_softap', 'y')], indirect=True)
@idf_parametrize( @idf_parametrize(
'target', 'target',
['esp32', 'esp32c2', 'esp32c3', 'esp32s2', 'esp32s3', 'esp32s31', 'esp32c5', 'esp32c6', 'esp32c61'], # esp32s31: no two_duts runner in CI (rev_default) yet
['esp32', 'esp32c2', 'esp32c3', 'esp32s2', 'esp32s3', 'esp32c5', 'esp32c6', 'esp32c61'],
indirect=['target'], indirect=['target'],
) )
def test_wifi_sdkconfig_disable_softap_save_binary_size( def test_wifi_sdkconfig_disable_softap_save_binary_size(
+4
View File
@@ -12,6 +12,10 @@ examples/zigbee/esp_zigbee_gateway:
enable: enable:
- if: SOC_WIFI_SUPPORTED == 1 and IDF_TARGET not in ["esp32c2", "esp32c61"] - if: SOC_WIFI_SUPPORTED == 1 and IDF_TARGET not in ["esp32c2", "esp32c61"]
reason: not supported esp32c2 and esp32c61 reason: not supported esp32c2 and esp32c61
disable:
- if: IDF_TARGET == "esp32s31"
temporary: true
reason: Zigbee gateway example does not support esp32s31 yet
<<: *zigbee_dependencies <<: *zigbee_dependencies
examples/zigbee/light_sample: examples/zigbee/light_sample:
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD # SPDX-FileCopyrightText: 2024-2026 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
"""This file is used for generating the child pipeline for target test jobs. """This file is used for generating the child pipeline for target test jobs.