ci: hackishly install construct to work with idf-v4.4 and Python-3.12

construct==2.10.54 import imp which is not present in the Python3.12 so
download the package source, patch it and install
This commit is contained in:
Shubham Patil
2025-09-10 12:07:03 +05:30
parent 67035a2be2
commit 43eb364b17
2 changed files with 7 additions and 1 deletions
+7
View File
@@ -435,6 +435,13 @@ build_esp_matter_examples_pytest_C3_idf_v4_4:
# idf v4.4 requires jinja < 3.1 so lets install the dependencies for idf v4.4
- pip install -r requirements_idf_v4.4.txt
- pip install -r tools/ci/requirements-build.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*
- python tools/ci/build_apps.py ./examples --pytest_c3
variables:
IDF_CHECKOUT_REF: "v4.4.3"
-1
View File
@@ -11,4 +11,3 @@ urllib3<2
# 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
construct==2.10.54