ESP-IDF v4.4 is EOL, remove it from ci

This commit is contained in:
Shubham Patil
2026-03-26 14:55:08 +05:30
parent 437d81f785
commit a635162c2d
12 changed files with 13 additions and 96 deletions
-37
View File
@@ -238,7 +238,6 @@ build_image:
matrix:
# Change the idf version here in case of idf version change MR.
- IDF_VERSION:
- "v4.4.3"
- "v5.4.1"
.build_examples_template:
@@ -470,42 +469,6 @@ build_nopytest_remaining_examples_manual:
parallel: 2
build_esp_matter_examples_idf_v4_4:
resource_group: build_esp_matter_examples_idf_v4_4
extends:
- .build_examples_template
image: ${DOCKER_IMAGE_NAME}:chip_${CHIP_SHORT_HASH}_idf_${IDF_CHECKOUT_REF}
allow_failure: true
artifacts:
paths:
- "examples/**/build*/size.json"
- "examples/**/build*/build_log.txt"
- "examples/**/build*/*.map"
- "examples/**/build*/*.bin"
- "examples/**/build*/flasher_args.json"
- "examples/**/build*/config/sdkconfig.json"
- "examples/**/build*/bootloader/*.bin"
- "examples/**/build*/partition_table/*.bin"
when: always
expire_in: 4 days
script:
- cd ${ESP_MATTER_PATH}
# idf v4.4 requires jinja < 3.1 so lets install the dependencies for idf v4.4
- pip install -r requirements_idf_v4.4.txt
# hack the construct==2.10.54 to make it work with idf-v4.4, Python3.12
# imp is not present in Python3.12 so remove it
- wget https://files.pythonhosted.org/packages/30/2f/e2e6bad1b80f744cf5c2a6d622e3dee698b43e6c040f980ae0ac0edd5e54/construct-2.10.54.tar.gz
- tar -xvzf construct-2.10.54.tar.gz
- sed -i 's/, imp$//g' construct-2.10.54/construct/core.py
- python3 -m pip install ./construct-2.10.54
- rm -rf construct-2.10.54*
- cd ${ESP_MATTER_PATH}/examples/light
- idf.py set-target esp32c3
- idf.py build
variables:
IDF_CHECKOUT_REF: "v4.4.3"
build_esp_matter_examples_pytest_C3:
resource_group: build_esp_matter_examples_pytest_C3
extends:
+1 -8
View File
@@ -392,13 +392,6 @@ idf_build_set_property(COMPILE_OPTIONS "-Wno-error=uninitialized;-Wno-error=mayb
idf_build_set_property(COMPILE_OPTIONS "-Wno-error=array-bounds" APPEND)
idf_build_set_property(COMPILE_OPTIONS "-Wno-write-strings" APPEND)
# For Xtensa chips, uint32_t was defined as 'unsigned' before v5.0, and after IDF v5.0 it is defined
# as 'unsigned long', same as RISC-V. add this compile option to avoid format errors.
# https://github.com/espressif/esp-idf/issues/6906#issuecomment-1207373706
if (CONFIG_IDF_TARGET_ARCH_XTENSA AND (${IDF_VERSION_MAJOR} LESS 5))
idf_build_set_property(COMPILE_OPTIONS "-Wno-format" APPEND)
endif()
# Time sync client feature depends on read client, disable it when read client is disabled.
if (CONFIG_DISABLE_READ_CLIENT)
target_compile_options(${COMPONENT_LIB} PUBLIC "-DTIME_SYNC_ENABLE_TSC_FEATURE=0")
@@ -445,6 +438,6 @@ if (false AND CONFIG_CHIP_OTA_IMAGE_BUILD)
INPUT_FILES ${BUILD_DIR}/${CMAKE_PROJECT_NAME}.bin
OUTPUT_FILE ${BUILD_DIR}/${CMAKE_PROJECT_NAME}-ota.bin
)
# Adding dependecy as app target so that this runs after images are ready
# Adding dependency as app target so that this runs after images are ready
add_dependencies(chip-ota-image app)
endif()
-6
View File
@@ -80,12 +80,6 @@ endif(CONFIG_ESP_MATTER_ENABLE_MATTER_SERVER)
target_sources(${COMPONENT_LIB} PRIVATE ${MATTER_SDK_PATH}/src/app/StorageDelegateWrapper.cpp
${MATTER_SDK_PATH}/src/app/SafeAttributePersistenceProvider.cpp)
# For Xtensa chips, uint32_t was defined as 'unsigned' before v5.0, and after IDF v5.0 it is defined
# as 'unsigned long', same as RISC-V. add this compile option to avoid format errors.
# https://github.com/espressif/esp-idf/issues/6906#issuecomment-1207373706
if (CONFIG_IDF_TARGET_ARCH_XTENSA AND (${IDF_VERSION_MAJOR} LESS 5))
idf_build_set_property(COMPILE_OPTIONS "-Wno-format" APPEND)
endif()
target_compile_options(${COMPONENT_LIB} PUBLIC
"-DCHIP_ADDRESS_RESOLVE_IMPL_INCLUDE_HEADER=<lib/address_resolve/AddressResolve_DefaultImpl.h>")
@@ -30,11 +30,6 @@ if(IDF_TARGET STREQUAL "esp32c2")
endif()
endif()
get_filename_component(SDKCONFIG_SHELL_IDF_VER "${SDKCONFIG_COMMON_DIR}.shell.v4.4" ABSOLUTE)
if(EXISTS ${SDKCONFIG_SHELL_IDF_VER} AND ${IDF_VERSION_MAJOR}.${IDF_VERSION_MINOR}.${IDF_VERSION_PATCH} STRLESS "5.0.0")
list(APPEND SDKCONFIG_FILES "${SDKCONFIG_SHELL_IDF_VER}")
endif()
# setting the final sdkconfig files list to SDKCONFIG_DEFAULTS
set(SDKCONFIG_DEFAULTS ${SDKCONFIG_FILES})
+2 -2
View File
@@ -21,7 +21,7 @@ The following is the Memory and Flash Usage.
- `Bootup` == Device just finished booting up. Device is not
commissionined or connected to wifi yet.
- `After Commissioning` == Device is conneted to wifi and is also
- `After Commissioning` == Device is connected to wifi and is also
commissioned and is rebooted.
- device used: esp32c3_devkit_m
- tested on:
@@ -37,4 +37,4 @@ The following is the Memory and Flash Usage.
This should give you a good idea about the amount of free memory that is
available for you to run your application's code.
Applications that do not require BLE post commissioning, can disable it using app_ble_disable() once commissioning is complete. It is not done explicitly because of a known issue with esp32c3 and will be fixed with the next IDF release (v4.4.2).
Applications that do not require BLE post commissioning, can disable it using app_ble_disable() once commissioning is complete.
@@ -1 +0,0 @@
CONFIG_ENABLE_CHIP_SHELL=n
+3 -3
View File
@@ -11,7 +11,7 @@ See the [docs](https://docs.espressif.com/projects/esp-matter/en/latest/esp32/de
This example demonstrates auto subscription to only one remote on/off server from on/off client after binding of light to switch.
For example, switch that have a led indicator which indicates the on-off state of the bound light. The subscription can keep the indicator on the switch sync with the light node.
- Enable SUBSCRIBE_TO_ON_OFF_SERVER_AFTER_BINDING to enable this funcationality.
- Enable SUBSCRIBE_TO_ON_OFF_SERVER_AFTER_BINDING to enable this functionality.
Please check [Bind light to switch](#21-bind-light-to-switch) for more details.
## 2. Post Commissioning Setup
@@ -186,7 +186,7 @@ The following is the Memory and Flash Usage.
- `Bootup` == Device just finished booting up. Device is not
commissionined or connected to wifi yet.
- `After Commissioning` == Device is conneted to wifi and is also
- `After Commissioning` == Device is connected to wifi and is also
commissioned and is rebooted.
- device used: esp32c3_devkit_m
- tested on:
@@ -202,7 +202,7 @@ The following is the Memory and Flash Usage.
This should give you a good idea about the amount of free memory that is
available for you to run your application's code.
Applications that do not require BLE post commissioning, can disable it using app_ble_disable() once commissioning is complete. It is not done explicitly because of a known issue with esp32c3 and will be fixed with the next IDF release (v4.4.2).
Applications that do not require BLE post commissioning, can disable it using app_ble_disable() once commissioning is complete.
## 4. Dynamic Passcode
@@ -57,7 +57,7 @@ The following is the Memory and Flash Usage.
- `Bootup` == Device just finished booting up. Device is not
commissionined or connected to wifi yet.
- `After Commissioning` == Device is conneted to wifi and is also
- `After Commissioning` == Device is connected to wifi and is also
commissioned and is rebooted.
- device used: esp32c3_devkit_m
- tested on:
@@ -73,4 +73,4 @@ The following is the Memory and Flash Usage.
This should give you a good idea about the amount of free memory that is
available for you to run your application's code.
Applications that do not require BLE post commissioning, can disable it using app_ble_disable() once commissioning is complete. It is not done explicitly because of a known issue with esp32c3 and will be fixed with the next IDF release (v4.4.2).
Applications that do not require BLE post commissioning, can disable it using app_ble_disable() once commissioning is complete.
+3 -3
View File
@@ -44,7 +44,7 @@ The following is the Memory and Flash Usage.
- `Bootup` == Device just finished booting up. Device is not
commissionined or connected to wifi yet.
- `After Commissioning` == Device is conneted to wifi and is also
- `After Commissioning` == Device is connected to wifi and is also
commissioned and is rebooted.
- device used: esp32c3_devkit_m
- tested on:
@@ -60,7 +60,7 @@ The following is the Memory and Flash Usage.
This should give you a good idea about the amount of free memory that is
available for you to run your application's code.
Applications that do not require BLE post commissioning, can disable it using app_ble_disable() once commissioning is complete. It is not done explicitly because of a known issue with esp32c3 and will be fixed with the next IDF release (v4.4.2).
Applications that do not require BLE post commissioning, can disable it using app_ble_disable() once commissioning is complete.
## A2 Appendix FAQs
@@ -69,7 +69,7 @@ Applications that do not require BLE post commissioning, can disable it using ap
The run_zaptool.py command is failing:
- Check that the connectedhomeip submodule is updated.
- Revert any modifications in any of te files in the connectedhomeip
- Revert any modifications in any of the files in the connectedhomeip
submodule, or any submodules in connectedhomeip, and try again.
- If you are still facing issues, reproduce the issue on the default
example for the device and then raise an [issue](https://github.com/espressif/esp-matter/issues).
-6
View File
@@ -95,14 +95,8 @@ fi
echo_log "Installing python dependencies for Matter"
# Install python dependencies based on idf version
if [[ $(git -C $IDF_PATH describe) == v4.4* ]]; then
echo_log "Installing requirements from requirements_idf_v4.4.txt"
python3 -m pip install -r ${ESP_MATTER_PATH}/requirements_idf_v4.4.txt >/dev/null
else
echo_log "Installing requirements from requirements.txt"
python3 -m pip install -r ${ESP_MATTER_PATH}/requirements.txt > /dev/null
fi
if [ $BUILD_PYTHON = true ]; then
echo_log "Building Python testing environment"
-16
View File
@@ -1,16 +0,0 @@
# matter idl
lark==1.1.2
stringcase==1.2.0
# esp-idf v4.4 is not compatible with newer version of jinja2,
# so pinning it to 3.0.1
jinja2==3.0.1
# https://github.com/psf/requests/blob/main/HISTORY.md#2300-2023-05-03
# idf-component-manager from v4.4 is not compatible with newer version of urllib3
urllib3<2
# mfg_tool - DISABLED for ESP-IDF v4.4 due to construct version conflict
# esp-secure-cert-tool (dependency of esp-matter-mfg-tool) requires construct>=2.10.70
# but ESP-IDF v4.4 hard pins construct==2.10.54, creating an unsolvable conflict
# esp-matter-mfg-tool>=1.0.4
-5
View File
@@ -31,11 +31,6 @@ ENV IDF_TOOLS_PATH=/opt/espressif/tools
COPY --from=build /tmp/esp-idf /opt/espressif/esp-idf
ARG IDF_CHECKOUT_REF
RUN if [ "$IDF_CHECKOUT_REF" = "v4.4.3" ]; then \
sed -i 's/^gdbgui==/# gdbgui ==/' /opt/espressif/esp-idf/requirements.txt; \
fi
RUN apt-get update && apt-get install -y python3-virtualenv
# Setup the ESP-IDF