Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: johnvandewiel/arduino-esp32
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: espressif/arduino-esp32
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Able to merge. These branches can be automatically merged.
Loading
Showing with 4,275 additions and 1,661 deletions.
  1. +1 −1 .codespellrc
  2. +1 −0 .github/ISSUE_TEMPLATE/Feature-request.yml
  3. +5 −1 .github/ISSUE_TEMPLATE/Issue-report.yml
  4. +33 −0 .github/scripts/on-push-idf.sh
  5. +14 −0 .github/scripts/on-release.sh
  6. +1 −1 .github/scripts/sketch_utils.sh
  7. +5 −5 .github/workflows/allboards.yml
  8. +5 −5 .github/workflows/boards.yml
  9. +14 −5 .github/workflows/build_py_tools.yml
  10. +2 −2 .github/workflows/dangerjs.yml
  11. +6 −3 .github/workflows/docs_build.yml
  12. +5 −2 .github/workflows/docs_deploy.yml
  13. +3 −1 .github/workflows/gh-pages.yml
  14. +33 −5 .github/workflows/lib.json
  15. +8 −7 .github/workflows/lib.yml
  16. +2 −2 .github/workflows/pre-commit-status.yml
  17. +6 −6 .github/workflows/pre-commit.yml
  18. +2 −2 .github/workflows/publishlib.yml
  19. +3 −3 .github/workflows/publishsizes-2.x.yml
  20. +4 −4 .github/workflows/publishsizes.yml
  21. +37 −25 .github/workflows/push.yml
  22. +12 −4 .github/workflows/release.yml
  23. +3 −3 .github/workflows/tests.yml
  24. +5 −5 .github/workflows/tests_build.yml
  25. +6 −6 .github/workflows/tests_hw.yml
  26. +9 −9 .github/workflows/tests_qemu.yml
  27. +7 −7 .github/workflows/tests_results.yml
  28. +16 −16 .github/workflows/tests_wokwi.yml
  29. +2 −2 .github/workflows/upload-idf-component.yml
  30. +17 −17 .pre-commit-config.yaml
  31. +2 −0 CMakeLists.txt
  32. +6 −5 README.md
  33. +865 −195 boards.txt
  34. +4 −1 cores/esp32/Arduino.h
  35. +1 −0 cores/esp32/HWCDC.cpp
  36. +18 −0 cores/esp32/HardwareSerial.cpp
  37. +34 −0 cores/esp32/HardwareSerial.h
  38. +3 −0 cores/esp32/USB.cpp
  39. +1 −0 cores/esp32/USBCDC.cpp
  40. +1 −1 cores/esp32/esp32-hal-bt.c
  41. +1 −1 cores/esp32/esp32-hal-gpio.c
  42. +3 −1 cores/esp32/esp32-hal-i2c-slave.c
  43. +32 −6 cores/esp32/esp32-hal-ledc.c
  44. +4 −4 cores/esp32/esp32-hal-misc.c
  45. +9 −3 cores/esp32/esp32-hal-rmt.c
  46. +31 −24 cores/esp32/esp32-hal-spi.c
  47. +2 −0 cores/esp32/esp32-hal-spi.h
  48. +152 −65 cores/esp32/esp32-hal-uart.c
  49. +18 −1 cores/esp32/esp32-hal-uart.h
  50. +2 −1 cores/esp32/freertos_stats.cpp
  51. +6 −4 docs/en/boards/boards.rst
  52. +8 −4 docs/en/common/datasheet.inc
  53. +3 −0 docs/en/contributing.rst
  54. +6 −5 docs/en/getting_started.rst
  55. +15 −0 docs/en/installing.rst
  56. +2 −2 docs/en/lib_builder.rst
  57. +57 −49 docs/en/libraries.rst
  58. +17 −0 docs/en/troubleshooting.rst
  59. +4 −0 idf_component_examples/.gitignore
  60. +2 −1 idf_component_examples/esp_matter_light/CMakeLists.txt
  61. +16 −5 idf_component_examples/esp_matter_light/README.md
  62. +11 −0 idf_component_examples/esp_matter_light/ci.json
  63. +18 −78 idf_component_examples/esp_matter_light/main/Kconfig.projbuild
  64. +2 −2 idf_component_examples/esp_matter_light/main/idf_component.yml
  65. +0 −2 idf_component_examples/esp_matter_light/{sdkconfig.defaults.esp32c3 → sdkconfig.defaults}
  66. +0 −63 idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32c6
  67. +0 −64 idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32s3
  68. +2 −0 idf_component_examples/hello_world/CMakeLists.txt
  69. +1 −0 idf_component_examples/hw_cdc_hello_world/CMakeLists.txt
  70. +5 −0 idf_component_examples/hw_cdc_hello_world/ci.json
  71. +19 −15 libraries/BLE/src/BLEAdvertising.cpp
  72. +5 −5 libraries/BLE/src/BLEAdvertising.h
  73. +1 −0 libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp
  74. +260 −255 libraries/ESP32/examples/Camera/CameraWebServer/camera_index.h
  75. +31 −18 libraries/ESP32/examples/RMT/RMTLoopback/RMTLoopback.ino
  76. +2 −2 libraries/ESP32/examples/RMT/RMTReadXJT/RMTReadXJT.ino
  77. +23 −22 libraries/ESP32/examples/RMT/RMT_LED_Blink/RMT_LED_Blink.ino
  78. +15 −0 libraries/ESP32/examples/Serial/RxTimeout_Demo/RxTimeout_Demo.ino
  79. +57 −74 libraries/ESP32/examples/Serial/onReceiveExample/onReceiveExample.ino
  80. +80 −8 libraries/Ethernet/src/ETH.cpp
  81. +8 −0 libraries/Ethernet/src/ETH.h
  82. +5 −3 libraries/PPP/src/PPP.cpp
  83. +1 −0 libraries/PPP/src/PPP.h
  84. +3 −0 libraries/RainMaker/examples/RMakerCustom/ci.json
  85. +3 −0 libraries/RainMaker/examples/RMakerSwitch/ci.json
  86. +6 −0 libraries/SPI/src/SPI.cpp
  87. +1 −0 libraries/SPI/src/SPI.h
  88. +5 −1 libraries/USB/src/USBHIDConsumerControl.h
  89. +1 −1 libraries/USB/src/keyboardLayout/KeyboardLayout.h
  90. +4 −3 libraries/WiFi/src/AP.cpp
  91. +5 −3 libraries/WiFi/src/STA.cpp
  92. +2 −0 libraries/WiFi/src/WiFiAP.h
  93. +3 −3 libraries/WiFi/src/WiFiGeneric.cpp
  94. +1 −0 libraries/WiFi/src/WiFiSTA.h
  95. +14 −19 libraries/WiFi/src/WiFiScan.cpp
  96. +78 −0 libraries/Zigbee/examples/Zigbee_Illuminance_Sensor/README.md
  97. +141 −0 libraries/Zigbee/examples/Zigbee_Illuminance_Sensor/Zigbee_Illuminance_Sensor.ino
  98. +7 −0 libraries/Zigbee/examples/Zigbee_Illuminance_Sensor/ci.json
  99. +72 −0 libraries/Zigbee/examples/Zigbee_PM25_Sensor/README.md
  100. +109 −0 libraries/Zigbee/examples/Zigbee_PM25_Sensor/Zigbee_PM25_Sensor.ino
  101. +7 −0 libraries/Zigbee/examples/Zigbee_PM25_Sensor/ci.json
  102. +14 −6 libraries/Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy/Zigbee_Temp_Hum_Sensor_Sleepy.ino
  103. +4 −0 libraries/Zigbee/keywords.txt
  104. +17 −10 libraries/Zigbee/src/Zigbee.h
  105. +58 −14 libraries/Zigbee/src/ZigbeeCore.cpp
  106. +12 −4 libraries/Zigbee/src/ZigbeeCore.h
  107. +220 −64 libraries/Zigbee/src/ZigbeeEP.cpp
  108. +19 −10 libraries/Zigbee/src/ZigbeeEP.h
  109. +41 −43 libraries/Zigbee/src/ep/ZigbeeAnalog.cpp
  110. +9 −28 libraries/Zigbee/src/ep/ZigbeeAnalog.h
  111. +41 −11 libraries/Zigbee/src/ep/ZigbeeCarbonDioxideSensor.cpp
  112. +5 −5 libraries/Zigbee/src/ep/ZigbeeCarbonDioxideSensor.h
  113. +49 −20 libraries/Zigbee/src/ep/ZigbeeColorDimmableLight.cpp
  114. +6 −6 libraries/Zigbee/src/ep/ZigbeeColorDimmableLight.h
  115. +23 −8 libraries/Zigbee/src/ep/ZigbeeContactSwitch.cpp
  116. +3 −3 libraries/Zigbee/src/ep/ZigbeeContactSwitch.h
  117. +18 −8 libraries/Zigbee/src/ep/ZigbeeDimmableLight.cpp
  118. +3 −4 libraries/Zigbee/src/ep/ZigbeeDimmableLight.h
  119. +29 −10 libraries/Zigbee/src/ep/ZigbeeDoorWindowHandle.cpp
  120. +4 −4 libraries/Zigbee/src/ep/ZigbeeDoorWindowHandle.h
  121. +46 −12 libraries/Zigbee/src/ep/ZigbeeFlowSensor.cpp
  122. +5 −5 libraries/Zigbee/src/ep/ZigbeeFlowSensor.h
  123. +106 −0 libraries/Zigbee/src/ep/ZigbeeIlluminanceSensor.cpp
  124. +51 −0 libraries/Zigbee/src/ep/ZigbeeIlluminanceSensor.h
  125. +9 −2 libraries/Zigbee/src/ep/ZigbeeLight.cpp
  126. +1 −1 libraries/Zigbee/src/ep/ZigbeeLight.h
  127. +27 −7 libraries/Zigbee/src/ep/ZigbeeOccupancySensor.cpp
  128. +3 −3 libraries/Zigbee/src/ep/ZigbeeOccupancySensor.h
  129. +118 −0 libraries/Zigbee/src/ep/ZigbeePM25Sensor.cpp
  130. +60 −0 libraries/Zigbee/src/ep/ZigbeePM25Sensor.h
  131. +40 −12 libraries/Zigbee/src/ep/ZigbeePressureSensor.cpp
  132. +5 −5 libraries/Zigbee/src/ep/ZigbeePressureSensor.h
  133. +68 −20 libraries/Zigbee/src/ep/ZigbeeTempSensor.cpp
  134. +9 −9 libraries/Zigbee/src/ep/ZigbeeTempSensor.h
  135. +8 −3 libraries/Zigbee/src/ep/ZigbeeVibrationSensor.cpp
  136. +1 −1 libraries/Zigbee/src/ep/ZigbeeVibrationSensor.h
  137. +42 −12 libraries/Zigbee/src/ep/ZigbeeWindSpeedSensor.cpp
  138. +5 −5 libraries/Zigbee/src/ep/ZigbeeWindSpeedSensor.h
  139. +121 −35 libraries/Zigbee/src/ep/ZigbeeWindowCovering.cpp
  140. +8 −8 libraries/Zigbee/src/ep/ZigbeeWindowCovering.h
  141. +76 −67 package/package_esp32_index.template.json
  142. +1 −1 tests/validation/uart/diagram.esp32.json
  143. +4 −0 tests/validation/uart/uart.ino
  144. +7 −0 tools/partitions/default_32MB.csv
  145. +2 −2 tools/partitions/rainmaker_8MB.csv
  146. +40 −0 variants/adafruit_sparklemotionstick_esp32/pins_arduino.h
  147. +1 −0 variants/alfredo-nou3/pins_arduino.h
  148. +1 −0 variants/esp32s3usbotg/pins_arduino.h
  149. +102 −0 variants/lilygo_tlora_pager/pins_arduino.h
  150. +8 −1 variants/lilygo_twatch_s3/pins_arduino.h
  151. +37 −21 variants/lilygo_twatch_ultra/pins_arduino.h
  152. +9 −1 variants/lolin_c3_mini/pins_arduino.h
  153. +10 −2 variants/lolin_c3_pico/pins_arduino.h
  154. +46 −0 variants/um_edges3_d/pins_arduino.h
  155. +23 −0 variants/um_squixl/pins_arduino.h
2 changes: 1 addition & 1 deletion .codespellrc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[codespell]
# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/spell-check/.codespellrc
# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here:
ignore-words-list = ba,licence,ot,dout,als,exten
ignore-words-list = ba,licence,ot,dout,als,exten,emac
skip = ./.git,./.licenses,__pycache__,.clang-format,.codespellrc,.editorconfig,.flake8,.prettierignore,.yamllint.yml,.gitignore,boards.txt,platform.txt,programmers.txt
builtin = clear,informal,en-GB_to_en-US
check-filenames =
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/Feature-request.yml
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@ body:
- type: markdown
attributes:
value: |
* Please note that we can only process feature requests reported in English to ensure effective communication and support. Feature requests written in other languages will be closed, with a request to rewrite them in English.
* We welcome any ideas or feature requests! It is helpful if you can explain exactly why the feature would be useful.
* There are usually some outstanding feature requests in the [existing issues list](https://github.com/espressif/arduino-esp32/issues?q=is%3Aopen+is%3Aissue+label%3A%22Type%3A+Feature+request%22), feel free to add comments to them.
* If you would like to contribute, please read the [contributions guide](https://docs.espressif.com/projects/arduino-esp32/en/latest/contributing.html).
6 changes: 5 additions & 1 deletion .github/ISSUE_TEMPLATE/Issue-report.yml
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@ body:
- type: markdown
attributes:
value: |
* Please note that we can only process issues reported in English to ensure effective communication and support. Issues written in other languages will be closed, with a request to rewrite them in English.
* Before reporting a new issue please check and search in [List of existing issues](https://github.com/espressif/arduino-esp32/issues?q=is%3Aissue)
* Please check [Online Documentation](https://docs.espressif.com/projects/arduino-esp32/en/latest/index.html)
* Take a look on [Troubleshooting guide](https://docs.espressif.com/projects/arduino-esp32/en/latest/troubleshooting.html)
@@ -39,8 +40,11 @@ body:
label: Version
description: What version of Arduino ESP32 are you running? If possible, consider updating to the latest version.
options:
- latest master (checkout manually)
- latest stable Release (if not listed below)
- latest development Release Candidate (RC-X)
- latest master (checkout manually)
- v3.2.0
- v3.1.3
- v3.1.2
- v3.1.1
- v3.1.0
33 changes: 33 additions & 0 deletions .github/scripts/on-push-idf.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/bin/bash

set -e

CHECK_REQUIREMENTS="./components/arduino-esp32/.github/scripts/sketch_utils.sh check_requirements"

# Export IDF environment
. ${IDF_PATH}/export.sh

# Find all examples in ./components/arduino-esp32/idf_component_examples
idf_component_examples=$(find ./components/arduino-esp32/idf_component_examples -mindepth 1 -maxdepth 1 -type d)

for example in $idf_component_examples; do
if [ -f "$example"/ci.json ]; then
# If the target is listed as false, skip the sketch. Otherwise, include it.
is_target=$(jq -r --arg target "$IDF_TARGET" '.targets[$target]' "$example"/ci.json)
if [[ "$is_target" == "false" ]]; then
printf "\n\033[93mSkipping %s for target %s\033[0m\n\n" "$example" "$IDF_TARGET"
continue
fi
fi

idf.py -C "$example" set-target "$IDF_TARGET"

has_requirements=$(${CHECK_REQUIREMENTS} "$example" "$example/sdkconfig")
if [ "$has_requirements" -eq 0 ]; then
printf "\n\033[93m%s does not meet the requirements for %s. Skipping...\033[0m\n\n" "$example" "$IDF_TARGET"
continue
fi

printf "\n\033[95mBuilding %s\033[0m\n\n" "$example"
idf.py -C "$example" -DEXTRA_COMPONENT_DIRS="$PWD/components" build
done
14 changes: 14 additions & 0 deletions .github/scripts/on-release.sh
Original file line number Diff line number Diff line change
@@ -35,6 +35,8 @@ PACKAGE_JSON_MERGE="$GITHUB_WORKSPACE/.github/scripts/merge_packages.py"
PACKAGE_JSON_TEMPLATE="$GITHUB_WORKSPACE/package/package_esp32_index.template.json"
PACKAGE_JSON_DEV="package_esp32_dev_index.json"
PACKAGE_JSON_REL="package_esp32_index.json"
PACKAGE_JSON_DEV_CN="package_esp32_dev_index_cn.json"
PACKAGE_JSON_REL_CN="package_esp32_index_cn.json"

echo "Event: $GITHUB_EVENT_NAME, Repo: $GITHUB_REPOSITORY, Path: $GITHUB_WORKSPACE, Ref: $GITHUB_REF"
echo "Action: $action, Branch: $RELEASE_BRANCH, ID: $RELEASE_ID"
@@ -339,9 +341,13 @@ jq_arg=".packages[0].platforms[0].version = \"$RELEASE_TAG\" | \
# Generate package JSONs
echo "Generating $PACKAGE_JSON_DEV ..."
cat "$PACKAGE_JSON_TEMPLATE" | jq "$jq_arg" > "$OUTPUT_DIR/$PACKAGE_JSON_DEV"
# On MacOS the sed command won't skip the first match. Use gsed instead.
sed '0,/github\.com\/espressif\//!s|github\.com/espressif/|dl.espressif.cn/github_assets/espressif/|g' "$OUTPUT_DIR/$PACKAGE_JSON_DEV" > "$OUTPUT_DIR/$PACKAGE_JSON_DEV_CN"
if [ "$RELEASE_PRE" == "false" ]; then
echo "Generating $PACKAGE_JSON_REL ..."
cat "$PACKAGE_JSON_TEMPLATE" | jq "$jq_arg" > "$OUTPUT_DIR/$PACKAGE_JSON_REL"
# On MacOS the sed command won't skip the first match. Use gsed instead.
sed '0,/github\.com\/espressif\//!s|github\.com/espressif/|dl.espressif.cn/github_assets/espressif/|g' "$OUTPUT_DIR/$PACKAGE_JSON_REL" > "$OUTPUT_DIR/$PACKAGE_JSON_REL_CN"
fi

# Figure out the last release or pre-release
@@ -373,12 +379,14 @@ echo
if [ -n "$prev_any_release" ] && [ "$prev_any_release" != "null" ]; then
echo "Merging with JSON from $prev_any_release ..."
merge_package_json "$prev_any_release/$PACKAGE_JSON_DEV" "$OUTPUT_DIR/$PACKAGE_JSON_DEV"
merge_package_json "$prev_any_release/$PACKAGE_JSON_DEV_CN" "$OUTPUT_DIR/$PACKAGE_JSON_DEV_CN"
fi

if [ "$RELEASE_PRE" == "false" ]; then
if [ -n "$prev_release" ] && [ "$prev_release" != "null" ]; then
echo "Merging with JSON from $prev_release ..."
merge_package_json "$prev_release/$PACKAGE_JSON_REL" "$OUTPUT_DIR/$PACKAGE_JSON_REL"
merge_package_json "$prev_release/$PACKAGE_JSON_REL_CN" "$OUTPUT_DIR/$PACKAGE_JSON_REL_CN"
fi
fi

@@ -388,6 +396,8 @@ echo "Installing arduino-cli ..."
export PATH="/home/runner/bin:$PATH"
source "${SCRIPTS_DIR}/install-arduino-cli.sh"

# For the Chinese mirror, we can't test the package JSONs as the Chinese mirror might not be updated yet.

echo "Testing $PACKAGE_JSON_DEV install ..."

echo "Installing esp32 ..."
@@ -445,11 +455,15 @@ fi
echo "Uploading $PACKAGE_JSON_DEV ..."
echo "Download URL: $(git_safe_upload_asset "$OUTPUT_DIR/$PACKAGE_JSON_DEV")"
echo "Pages URL: $(git_safe_upload_to_pages "$PACKAGE_JSON_DEV" "$OUTPUT_DIR/$PACKAGE_JSON_DEV")"
echo "Download CN URL: $(git_safe_upload_asset "$OUTPUT_DIR/$PACKAGE_JSON_DEV_CN")"
echo "Pages CN URL: $(git_safe_upload_to_pages "$PACKAGE_JSON_DEV" "$OUTPUT_DIR/$PACKAGE_JSON_DEV_CN")"
echo
if [ "$RELEASE_PRE" == "false" ]; then
echo "Uploading $PACKAGE_JSON_REL ..."
echo "Download URL: $(git_safe_upload_asset "$OUTPUT_DIR/$PACKAGE_JSON_REL")"
echo "Pages URL: $(git_safe_upload_to_pages "$PACKAGE_JSON_REL" "$OUTPUT_DIR/$PACKAGE_JSON_REL")"
echo "Download CN URL: $(git_safe_upload_asset "$OUTPUT_DIR/$PACKAGE_JSON_REL_CN")"
echo "Pages CN URL: $(git_safe_upload_to_pages "$PACKAGE_JSON_REL" "$OUTPUT_DIR/$PACKAGE_JSON_REL_CN")"
echo
fi

2 changes: 1 addition & 1 deletion .github/scripts/sketch_utils.sh
Original file line number Diff line number Diff line change
@@ -16,7 +16,7 @@ function check_requirements { # check_requirements <sketchdir> <sdkconfig_path>
local requirements_or

if [ ! -f "$sdkconfig_path" ] || [ ! -f "$sketchdir/ci.json" ]; then
echo "ERROR: sdkconfig or ci.json not found" 1>&2
echo "WARNING: sdkconfig or ci.json not found. Assuming requirements are met." 1>&2
# Return 1 on error to force the sketch to be built and fail. This way the
# CI will fail and the user will know that the sketch has a problem.
else
10 changes: 5 additions & 5 deletions .github/workflows/allboards.yml
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ github.event.client_payload.branch }}

@@ -32,13 +32,13 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ github.event.client_payload.branch }}

- run: npm install
- name: Setup jq
uses: dcarbone/install-jq-action@v1.0.1
uses: dcarbone/install-jq-action@e397bd87438d72198f81efd21f876461183d383a # v3.0.1

- id: set-test-chunks
name: Set Chunks
@@ -64,7 +64,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ github.event.client_payload.branch }}

@@ -74,7 +74,7 @@ jobs:
FQBN: ${{ toJSON(matrix.chunk) }}

- name: Compile sketch
uses: P-R-O-C-H-Y/compile-sketches@main
uses: P-R-O-C-H-Y/compile-sketches@a62f069b92dc8f5053da4ac439ea6d1950cf6379 # main
with:
platforms: |
${{ env.REPOSITORY }}
10 changes: 5 additions & 5 deletions .github/workflows/boards.yml
Original file line number Diff line number Diff line change
@@ -22,10 +22,10 @@ jobs:
steps:
# This step makes the contents of the repository available to the workflow
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Setup jq
uses: dcarbone/install-jq-action@v1.0.1
uses: dcarbone/install-jq-action@e397bd87438d72198f81efd21f876461183d383a # v3.0.1

- name: Get board name
run: bash .github/scripts/find_new_boards.sh ${{ github.repository }} ${{github.base_ref}}
@@ -47,7 +47,7 @@ jobs:
steps:
# This step makes the contents of the repository available to the workflow
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Check if build.board is uppercase
run: |
@@ -60,7 +60,7 @@ jobs:
fi
- name: Get libs cache
uses: actions/cache@v4
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
with:
key: libs-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('package/package_esp32_index.template.json', 'tools/get.py') }}
path: |
@@ -73,7 +73,7 @@ jobs:
./tools/xtensa-*
- name: Compile sketch
uses: P-R-O-C-H-Y/compile-sketches@main
uses: P-R-O-C-H-Y/compile-sketches@a62f069b92dc8f5053da4ac439ea6d1950cf6379 # main
with:
platforms: |
${{ env.REPOSITORY }}
19 changes: 14 additions & 5 deletions .github/workflows/build_py_tools.yml
Original file line number Diff line number Diff line change
@@ -18,7 +18,7 @@ jobs:
all_changed_files: ${{ steps.verify-changed-files.outputs.all_changed_files }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 2
ref: ${{ github.event.pull_request.head.ref }}
@@ -30,7 +30,7 @@ jobs:
echo "Make sure you are using a branch inside the repository and not a fork."
- name: Verify Python Tools Changed
uses: tj-actions/changed-files@v41
uses: tj-actions/changed-files@2f7c5bfce28377bc069a65ba478de0a74aa0ca32 # v46.0.1
id: verify-changed-files
with:
fetch_depth: "2"
@@ -40,6 +40,7 @@ jobs:
tools/espota.py
tools/gen_esp32part.py
tools/gen_insights_package.py
- name: List all changed files
shell: bash
run: |
@@ -88,25 +89,30 @@ jobs:
for tool in ${{ env.CHANGED_TOOLS }}; do
echo "tool $tool was changed"
done
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
token: ${{ secrets.TOOLS_UPLOAD_PAT }}
ref: ${{ github.event.pull_request.head.ref }}

- name: Set up Python 3.8
uses: actions/setup-python@master
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.0.4
with:
python-version: 3.8

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pyinstaller requests
- name: Build with PyInstaller
shell: bash
run: |
for tool in ${{ env.CHANGED_TOOLS }}; do
pyinstaller --distpath ./${{ env.DISTPATH }} -F --icon=.github/pytools/espressif.ico tools/$tool.py
done
- name: Sign binaries
if: matrix.os == 'windows-latest'
env:
@@ -119,12 +125,14 @@ jobs:
{
./.github/pytools/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/$node.exe
}
- name: Test binaries
shell: bash
run: |
for tool in ${{ env.CHANGED_TOOLS }}; do
./${{ env.DISTPATH }}/$tool${{ matrix.EXTEN }} -h
done
- name: Push binary to tools
if: matrix.os == 'windows-latest'
env:
@@ -135,8 +143,9 @@ jobs:
cp -f ./${{ env.DISTPATH }}/$tool.exe tools/$tool.exe
done
bash .github/scripts/upload_py_tools.sh "${{ env.CHANGED_TOOLS }}"
- name: Archive artifact
uses: actions/upload-artifact@master
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: ${{ env.DISTPATH }}
path: ${{ env.DISTPATH }}
4 changes: 2 additions & 2 deletions .github/workflows/dangerjs.yml
Original file line number Diff line number Diff line change
@@ -12,12 +12,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out PR head
uses: actions/checkout@v4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: DangerJS pull request linter
uses: espressif/shared-github-dangerjs@v1
uses: espressif/shared-github-dangerjs@fb17367fd3e8ff7412603b8e946d9b19ffdb2d7f # v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
9 changes: 6 additions & 3 deletions .github/workflows/docs_build.yml
Original file line number Diff line number Diff line change
@@ -21,14 +21,16 @@ jobs:
run:
shell: bash
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: true
- uses: actions/setup-python@v5

- uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.0.4
with:
cache-dependency-path: docs/requirements.txt
cache: "pip"
python-version: "3.10"

- name: Build
run: |
sudo apt update
@@ -38,8 +40,9 @@ jobs:
cd ./docs
PATH=/home/runner/.local/bin:$PATH pip3 install -r requirements.txt --prefer-binary
PATH=/home/runner/.local/bin:$PATH SPHINXOPTS="-W" build-docs -l en
- name: Archive Docs
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: docs
path: docs
7 changes: 5 additions & 2 deletions .github/workflows/docs_deploy.yml
Original file line number Diff line number Diff line change
@@ -26,14 +26,17 @@ jobs:
run: |
echo "Release workflow failed. Exiting..."
exit 1
- uses: actions/checkout@v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
submodules: true
- uses: actions/setup-python@v5

- uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.0.4
with:
cache-dependency-path: docs/requirements.txt
cache: "pip"
python-version: "3.10"

- name: Deploy Documentation
env:
# Deploy to production server
4 changes: 3 additions & 1 deletion .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
@@ -15,7 +15,9 @@ jobs:
name: Build GitHub Pages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Copy Files
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading