Skip to content

Commit 75906f4

Browse files
authored
Merge pull request #10840 from tannewt/espidf5.5.3
Update to ESP IDF 5.5.3
2 parents 0150116 + 1e707b7 commit 75906f4

File tree

6 files changed

+64
-4
lines changed

6 files changed

+64
-4
lines changed

.github/actions/deps/external/action.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,16 @@ runs:
5656
uses: ./.github/actions/deps/python
5757
with:
5858
action: ${{ inputs.action }}
59+
- name: Set ESP-IDF constraints path
60+
if: inputs.port == 'espressif'
61+
run: python3 -u tools/ci_set_idf_constraint.py
62+
shell: bash
63+
5964
- name: Install python dependencies
60-
run: pip install -r requirements-dev.txt
65+
run: |
66+
if [ -n "${IDF_CONSTRAINT_FILE:-}" ] && [ -f "$IDF_CONSTRAINT_FILE" ]; then
67+
pip install -c "$IDF_CONSTRAINT_FILE" -r requirements-dev.txt
68+
else
69+
pip install -r requirements-dev.txt
70+
fi
6171
shell: bash

ports/espressif/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@ INC += \
123123
-isystem esp-idf/components/soc/include \
124124
-isystem esp-idf/components/soc/$(IDF_TARGET)/include \
125125
-isystem esp-idf/components/soc/$(IDF_TARGET)/register \
126+
-isystem esp-idf/components/soc/$(IDF_TARGET)/register/hw_ver3 \
127+
-isystem esp-idf/components/soc/$(IDF_TARGET)/register/hw_ver2 \
128+
-isystem esp-idf/components/soc/$(IDF_TARGET)/register/hw_ver1 \
126129
-isystem esp-idf/components/spi_flash/include \
127130
-isystem esp-idf/components/usb/include \
128131
-isystem esp-idf/components/ulp/ulp_fsm/include \

ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@ CIRCUITPY_ESP_FLASH_SIZE = 2MB
1010
CIRCUITPY_DUALBANK = 0
1111

1212
CIRCUITPY_JPEGIO = 0
13+
CIRCUITPY_CANIO = 0
1314

1415
CIRCUITPY_ESP_USB_SERIAL_JTAG = 0

ports/espressif/esp-idf

Submodule esp-idf updated 2974 files

requirements-dev.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ intelhex
2525
# for building & testing natmods
2626
pyelftools
2727

28-
# newer versions break ESP-IDF now
29-
cryptography<45
28+
cryptography
3029

3130
# for web workflow minify
3231
minify_html

tools/ci_set_idf_constraint.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# SPDX-FileCopyrightText: Copyright (c) 2026 Adafruit Industries LLC
2+
#
3+
# SPDX-License-Identifier: MIT
4+
5+
"""Set IDF_CONSTRAINT_FILE for CI.
6+
7+
CI installs requirements-dev.txt for all ports, but on Espressif builds we must
8+
also apply the matching ESP-IDF constraints file so pip does not upgrade shared
9+
packages (for example click) beyond what ESP-IDF allows. This script derives the
10+
active ESP-IDF major.minor version from version.cmake and exports the exact
11+
constraints file path into GITHUB_ENV for later install steps.
12+
"""
13+
14+
import os
15+
import pathlib
16+
import re
17+
18+
TOP = pathlib.Path(__file__).resolve().parent.parent
19+
20+
21+
def main() -> None:
22+
version_cmake = TOP / "ports" / "espressif" / "esp-idf" / "tools" / "cmake" / "version.cmake"
23+
data = version_cmake.read_text(encoding="utf-8")
24+
25+
major = re.search(r"IDF_VERSION_MAJOR\s+(\d+)", data)
26+
minor = re.search(r"IDF_VERSION_MINOR\s+(\d+)", data)
27+
if major is None or minor is None:
28+
raise RuntimeError(f"Unable to parse IDF version from {version_cmake}")
29+
30+
idf_tools_path = os.environ.get("IDF_TOOLS_PATH")
31+
if not idf_tools_path:
32+
raise RuntimeError("IDF_TOOLS_PATH is not set")
33+
34+
constraint = (
35+
pathlib.Path(idf_tools_path) / f"espidf.constraints.v{major.group(1)}.{minor.group(1)}.txt"
36+
)
37+
38+
github_env = os.environ.get("GITHUB_ENV")
39+
if github_env:
40+
with open(github_env, "a", encoding="utf-8") as f:
41+
f.write(f"IDF_CONSTRAINT_FILE={constraint}\n")
42+
43+
print(f"Set IDF_CONSTRAINT_FILE={constraint}")
44+
45+
46+
if __name__ == "__main__":
47+
main()

0 commit comments

Comments
 (0)