Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion ports/esp32/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
dependencies.lock
managed_components/
3 changes: 3 additions & 0 deletions ports/esp32/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,5 +61,8 @@ set(SDKCONFIG_DEFAULTS ${CMAKE_BINARY_DIR}/sdkconfig.combined)
# Include main IDF cmake file.
include($ENV{IDF_PATH}/tools/cmake/project.cmake)

# Generate individual dependencies.lock files based on chip target
idf_build_set_property(DEPENDENCIES_LOCK lockfiles/dependencies.lock.${IDF_TARGET})

# Define the project.
project(micropython)
4 changes: 4 additions & 0 deletions ports/esp32/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ build environment and toolchains needed to build the firmware.
The ESP-IDF changes quickly and MicroPython only supports certain versions.
Currently MicroPython supports v5.2, v5.2.2, v5.3, v5.4, v5.4.1 and v5.4.2.

The current *recommended version* of ESP-IDF (which is also the version used for
builds distributed on micropython.org) can be found by looking in any of the files
in the `lockfiles` subdirectory.

To install the ESP-IDF the full instructions can be found at the
[Espressif Getting Started guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/index.html#installation-step-by-step).

Expand Down
13 changes: 13 additions & 0 deletions ports/esp32/lockfiles/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# ESP-IDF Component Lockfiles

This directory contains the exact versions of ESP-IDF components that have been
used to build MicroPython. It is updated by the [component version
solver](https://docs.espressif.com/projects/idf-component-manager/en/latest/guides/version_solver.html).

Unless you change the `main/idf_component.yml` file for MicroPython ESP32, files
in this directory should only change contents if you build using a different
ESP-IDF version to the last time the file was updated.

*Please do not commit changes to these files and submit PRs, unless you are
recommending that the default MicroPython ESP-IDF version should be changed.*

35 changes: 35 additions & 0 deletions ports/esp32/lockfiles/dependencies.lock.esp32
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
dependencies:
espressif/lan867x:
component_hash: 0ff9dae3affeff53811e7c8283e67c6d36dc0c03e3bc5102c0fba629e08bf6c4
dependencies:
- name: idf
require: private
version: '>=5.3'
source:
registry_url: https://components.espressif.com/
type: service
targets:
- esp32
- esp32p4
version: 1.0.3
espressif/mdns:
component_hash: 46ee81d32fbf850462d8af1e83303389602f6a6a9eddd2a55104cb4c063858ed
dependencies:
- name: idf
require: private
version: '>=5.0'
source:
registry_url: https://components.espressif.com/
type: service
version: 1.1.0
idf:
source:
type: idf
version: 5.4.2
direct_dependencies:
- espressif/lan867x
- espressif/mdns
- idf
manifest_hash: 3b18b5bbac91c9fe5098d3759a37c84ed0828546d8cbc92e26e4c1698e689c8a
target: esp32
version: 2.0.0
21 changes: 21 additions & 0 deletions ports/esp32/lockfiles/dependencies.lock.esp32c2
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
dependencies:
espressif/mdns:
component_hash: 46ee81d32fbf850462d8af1e83303389602f6a6a9eddd2a55104cb4c063858ed
dependencies:
- name: idf
require: private
version: '>=5.0'
source:
registry_url: https://components.espressif.com/
type: service
version: 1.1.0
idf:
source:
type: idf
version: 5.4.2
direct_dependencies:
- espressif/mdns
- idf
manifest_hash: 3b18b5bbac91c9fe5098d3759a37c84ed0828546d8cbc92e26e4c1698e689c8a
target: esp32c2
version: 2.0.0
21 changes: 21 additions & 0 deletions ports/esp32/lockfiles/dependencies.lock.esp32c3
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
dependencies:
espressif/mdns:
component_hash: 46ee81d32fbf850462d8af1e83303389602f6a6a9eddd2a55104cb4c063858ed
dependencies:
- name: idf
require: private
version: '>=5.0'
source:
registry_url: https://components.espressif.com/
type: service
version: 1.1.0
idf:
source:
type: idf
version: 5.4.2
direct_dependencies:
- espressif/mdns
- idf
manifest_hash: 3b18b5bbac91c9fe5098d3759a37c84ed0828546d8cbc92e26e4c1698e689c8a
target: esp32c3
version: 2.0.0
21 changes: 21 additions & 0 deletions ports/esp32/lockfiles/dependencies.lock.esp32c6
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
dependencies:
espressif/mdns:
component_hash: 46ee81d32fbf850462d8af1e83303389602f6a6a9eddd2a55104cb4c063858ed
dependencies:
- name: idf
require: private
version: '>=5.0'
source:
registry_url: https://components.espressif.com/
type: service
version: 1.1.0
idf:
source:
type: idf
version: 5.4.2
direct_dependencies:
- espressif/mdns
- idf
manifest_hash: 3b18b5bbac91c9fe5098d3759a37c84ed0828546d8cbc92e26e4c1698e689c8a
target: esp32c6
version: 2.0.0
50 changes: 50 additions & 0 deletions ports/esp32/lockfiles/dependencies.lock.esp32s2
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
dependencies:
espressif/esp_tinyusb:
component_hash: 96d232ced7afe1976119b62f7fbf1944a2a78b36228ff6f7b9318394ac1153cc
dependencies:
- name: idf
require: private
version: '>=5.0'
- name: espressif/tinyusb
registry_url: https://components.espressif.com
require: public
version: '>=0.14.2'
source:
registry_url: https://components.espressif.com/
type: service
version: 1.7.6~1
espressif/mdns:
component_hash: 46ee81d32fbf850462d8af1e83303389602f6a6a9eddd2a55104cb4c063858ed
dependencies:
- name: idf
require: private
version: '>=5.0'
source:
registry_url: https://components.espressif.com/
type: service
version: 1.1.0
espressif/tinyusb:
component_hash: aa65639878f27a44d349044afd9c3fc134a92bd560874fdac1d836019b5c07ca
dependencies:
- name: idf
require: private
version: '>=5.0'
source:
registry_url: https://components.espressif.com
type: service
targets:
- esp32s2
- esp32s3
- esp32p4
version: 0.18.0~4
idf:
source:
type: idf
version: 5.4.2
direct_dependencies:
- espressif/esp_tinyusb
- espressif/mdns
- idf
manifest_hash: 3b18b5bbac91c9fe5098d3759a37c84ed0828546d8cbc92e26e4c1698e689c8a
target: esp32s2
version: 2.0.0
50 changes: 50 additions & 0 deletions ports/esp32/lockfiles/dependencies.lock.esp32s3
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
dependencies:
espressif/esp_tinyusb:
component_hash: 96d232ced7afe1976119b62f7fbf1944a2a78b36228ff6f7b9318394ac1153cc
dependencies:
- name: idf
require: private
version: '>=5.0'
- name: espressif/tinyusb
registry_url: https://components.espressif.com
require: public
version: '>=0.14.2'
source:
registry_url: https://components.espressif.com/
type: service
version: 1.7.6~1
espressif/mdns:
component_hash: 46ee81d32fbf850462d8af1e83303389602f6a6a9eddd2a55104cb4c063858ed
dependencies:
- name: idf
require: private
version: '>=5.0'
source:
registry_url: https://components.espressif.com/
type: service
version: 1.1.0
espressif/tinyusb:
component_hash: aa65639878f27a44d349044afd9c3fc134a92bd560874fdac1d836019b5c07ca
dependencies:
- name: idf
require: private
version: '>=5.0'
source:
registry_url: https://components.espressif.com
type: service
targets:
- esp32s2
- esp32s3
- esp32p4
version: 0.18.0~4
idf:
source:
type: idf
version: 5.4.2
direct_dependencies:
- espressif/esp_tinyusb
- espressif/mdns
- idf
manifest_hash: 3b18b5bbac91c9fe5098d3759a37c84ed0828546d8cbc92e26e4c1698e689c8a
target: esp32s3
version: 2.0.0
2 changes: 1 addition & 1 deletion ports/esp32/main/idf_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ dependencies:
espressif/esp_tinyusb:
rules:
- if: "target in [esp32s2, esp32s3]"
version: "~1.0.0"
version: "~1.7.6"
espressif/lan867x:
version: "~1.0.0"
rules:
Expand Down
18 changes: 18 additions & 0 deletions tools/ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -205,20 +205,38 @@ function ci_esp32_build_cmod_spiram_s2 {

make ${MAKEOPTS} -C ports/esp32 BOARD=ESP32_GENERIC BOARD_VARIANT=SPIRAM
make ${MAKEOPTS} -C ports/esp32 BOARD=ESP32_GENERIC_S2

ci_esp32_check_lockfiles
}

function ci_esp32_build_s3_c3 {
ci_esp32_build_common

make ${MAKEOPTS} -C ports/esp32 BOARD=ESP32_GENERIC_S3
make ${MAKEOPTS} -C ports/esp32 BOARD=ESP32_GENERIC_C3

ci_esp32_check_lockfiles
}

function ci_esp32_build_c2_c6 {
ci_esp32_build_common

make ${MAKEOPTS} -C ports/esp32 BOARD=ESP32_GENERIC_C2
make ${MAKEOPTS} -C ports/esp32 BOARD=ESP32_GENERIC_C6

ci_esp32_check_lockfiles
}

function ci_esp32_check_lockfiles {
if ! git diff --exit-code ports/esp32/lockfiles; then
echo
echo "The ESP-IDF Component Lockfiles were updated by the build."
echo
echo "Most likely changes have been made in idf_component.yml,"
echo "or the ESP-IDF version used in CI doesn't match the lockfile"
echo "version."
exit 1
fi
}

########################################################################################
Expand Down
Loading