Skip to content

Commit c41b73f

Browse files
authored
Merge branch 'master' into feat/ota_sign
2 parents 7cbeab3 + 93193a8 commit c41b73f

File tree

357 files changed

+29714
-2387
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

357 files changed

+29714
-2387
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
/libraries/ArduinoOTA/ @me-no-dev
5555
/libraries/AsyncUDP/ @me-no-dev
5656
/libraries/BLE/ @lucasssvaz @SuGlider
57+
/libraries/ESP_HostedOTA/ @me-no-dev
5758
/libraries/ESP_I2S/ @me-no-dev
5859
/libraries/ESP_NOW/ @P-R-O-C-H-Y @lucasssvaz
5960
/libraries/ESP_SR/ @me-no-dev

.github/ISSUE_TEMPLATE/Issue-report.yml

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,10 @@ body:
4040
label: Version
4141
description: What version of Arduino ESP32 are you running? If possible, consider updating to the latest version.
4242
options:
43-
- latest stable Release (if not listed below)
44-
- latest development Release Candidate (RC-X)
43+
- Please select a version from the list below
4544
- latest master (checkout manually)
45+
- v3.3.4
46+
- v3.3.3
4647
- v3.3.2
4748
- v3.3.1
4849
- v3.3.0
@@ -60,26 +61,7 @@ body:
6061
- v3.0.2
6162
- v3.0.1
6263
- v3.0.0
63-
- v2.0.17
64-
- v2.0.16
65-
- v2.0.15
66-
- v2.0.14
67-
- v2.0.13
68-
- v2.0.12
69-
- v2.0.11
70-
- v2.0.10
71-
- v2.0.9
72-
- v2.0.8
73-
- v2.0.7
74-
- v2.0.6
75-
- v2.0.5
76-
- v2.0.4
77-
- v2.0.3
78-
- v2.0.2
79-
- v2.0.1
80-
- v2.0.0
81-
- v1.0.6
82-
- other
64+
- Older versions
8365
validations:
8466
required: true
8567
- type: dropdown

.github/scripts/find_all_boards.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ boards_list=$(grep '.tarch=' boards.txt)
88
while read -r line; do
99
board_name=$(echo "$line" | cut -d '.' -f1 | cut -d '#' -f1)
1010
# skip esp32c2 as we dont build libs for it
11-
if [ "$board_name" == "esp32c2" ]; then
11+
if [ "$board_name" == "esp32c2" ] || [ "$board_name" == "esp32c61" ]; then
1212
echo "Skipping 'espressif:esp32:$board_name'"
1313
continue
1414
fi

.github/scripts/get_affected.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -790,6 +790,19 @@ def find_affected_sketches(changed_files: list[str]) -> None:
790790
print(f"Total affected sketches: {len(affected_sketches)}", file=sys.stderr)
791791
return
792792

793+
# For component mode: if any *source code* file (not example or documentation) changed, recompile all examples
794+
if component_mode:
795+
for file in changed_files:
796+
if (is_source_file(file) or is_header_file(file)) and not file.endswith(".ino"):
797+
if file.startswith("cores/") or file.startswith("libraries/"):
798+
print("Component mode: file changed in cores/ or libraries/ - recompiling all IDF component examples", file=sys.stderr)
799+
all_examples = list_idf_component_examples()
800+
for example in all_examples:
801+
if example not in affected_sketches:
802+
affected_sketches.append(example)
803+
print(f"Total affected IDF component examples: {len(affected_sketches)}", file=sys.stderr)
804+
return
805+
793806
preprocess_changed_files(changed_files)
794807

795808
# Normal dependency-based analysis for non-critical changes

.github/scripts/on-release.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,11 @@ pushd "$OUTPUT_DIR" >/dev/null
391391
tar -cJf "$LIBS_XZ" "esp32-arduino-libs"
392392
popd >/dev/null
393393

394+
# Copy esp-hosted binaries
395+
396+
mkdir -p "$GITHUB_WORKSPACE/hosted"
397+
cp "$OUTPUT_DIR/esp32-arduino-libs/hosted"/*.bin "$GITHUB_WORKSPACE/hosted/"
398+
394399
# Upload ZIP and XZ libs to release page
395400

396401
echo "Uploading ZIP libs to release page ..."

.github/scripts/sketch_utils.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ function build_sketch { # build_sketch <ide_path> <user_path> <path-to-ino> [ext
155155
esp32c3_opts=$(echo "$debug_level,$fqbn_append" | sed 's/^,*//;s/,*$//;s/,\{2,\}/,/g')
156156
esp32c6_opts=$(echo "$debug_level,$fqbn_append" | sed 's/^,*//;s/,*$//;s/,\{2,\}/,/g')
157157
esp32h2_opts=$(echo "$debug_level,$fqbn_append" | sed 's/^,*//;s/,*$//;s/,\{2,\}/,/g')
158-
esp32p4_opts=$(echo "PSRAM=enabled,USBMode=default,$debug_level,$fqbn_append" | sed 's/^,*//;s/,*$//;s/,\{2,\}/,/g')
158+
esp32p4_opts=$(echo "PSRAM=enabled,USBMode=default,ChipVariant=postv3,$debug_level,$fqbn_append" | sed 's/^,*//;s/,*$//;s/,\{2,\}/,/g')
159159
esp32c5_opts=$(echo "PSRAM=enabled,$debug_level,$fqbn_append" | sed 's/^,*//;s/,*$//;s/,\{2,\}/,/g')
160160

161161
# Select the common part of the FQBN based on the target. The rest will be

.github/scripts/tests_run.sh

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,6 @@ function run_test {
9292
if [[ -f "$sketchdir/diagram.$target.json" ]]; then
9393
extra_args+=("--wokwi-diagram" "$sketchdir/diagram.$target.json")
9494
fi
95-
9695
elif [ $platform == "qemu" ]; then
9796
PATH=$HOME/qemu/bin:$PATH
9897
extra_args=("--embedded-services" "qemu" "--qemu-image-path" "$build_dir/$sketchname.ino.merged.bin")
@@ -111,15 +110,23 @@ function run_test {
111110

112111
rm "$sketchdir"/diagram.json 2>/dev/null || true
113112

113+
local wifi_args=""
114+
if [ -n "$wifi_ssid" ]; then
115+
wifi_args="--wifi-ssid \"$wifi_ssid\""
116+
fi
117+
if [ -n "$wifi_password" ]; then
118+
wifi_args="$wifi_args --wifi-password \"$wifi_password\""
119+
fi
120+
114121
result=0
115-
printf "\033[95mpytest -s \"%s/test_%s.py\" --build-dir \"%s\" --junit-xml=\"%s\" -o junit_suite_name=%s_%s_%s_%s%s %s\033[0m\n" "$sketchdir" "$sketchname" "$build_dir" "$report_file" "$test_type" "$platform" "$target" "$sketchname" "$i" "${extra_args[*]@Q}"
116-
bash -c "set +e; pytest -s \"$sketchdir/test_$sketchname.py\" --build-dir \"$build_dir\" --junit-xml=\"$report_file\" -o junit_suite_name=${test_type}_${platform}_${target}_${sketchname}${i} ${extra_args[*]@Q}; exit \$?" || result=$?
122+
printf "\033[95mpytest -s \"%s/test_%s.py\" --build-dir \"%s\" --junit-xml=\"%s\" -o junit_suite_name=%s_%s_%s_%s%s %s %s\033[0m\n" "$sketchdir" "$sketchname" "$build_dir" "$report_file" "$test_type" "$platform" "$target" "$sketchname" "$i" "${extra_args[*]@Q}" "$wifi_args"
123+
bash -c "set +e; pytest -s \"$sketchdir/test_$sketchname.py\" --build-dir \"$build_dir\" --junit-xml=\"$report_file\" -o junit_suite_name=${test_type}_${platform}_${target}_${sketchname}${i} ${extra_args[*]@Q} $wifi_args; exit \$?" || result=$?
117124
printf "\n"
118125
if [ $result -ne 0 ]; then
119126
result=0
120127
printf "\033[95mRetrying test: %s -- Config: %s\033[0m\n" "$sketchname" "$i"
121-
printf "\033[95mpytest -s \"%s/test_%s.py\" --build-dir \"%s\" --junit-xml=\"%s\" -o junit_suite_name=%s_%s_%s_%s%s %s\033[0m\n" "$sketchdir" "$sketchname" "$build_dir" "$report_file" "$test_type" "$platform" "$target" "$sketchname" "$i" "${extra_args[*]@Q}"
122-
bash -c "set +e; pytest -s \"$sketchdir/test_$sketchname.py\" --build-dir \"$build_dir\" --junit-xml=\"$report_file\" -o junit_suite_name=${test_type}_${platform}_${target}_${sketchname}${i} ${extra_args[*]@Q}; exit \$?" || result=$?
128+
printf "\033[95mpytest -s \"%s/test_%s.py\" --build-dir \"%s\" --junit-xml=\"%s\" -o junit_suite_name=%s_%s_%s_%s%s %s %s\033[0m\n" "$sketchdir" "$sketchname" "$build_dir" "$report_file" "$test_type" "$platform" "$target" "$sketchname" "$i" "${extra_args[*]@Q}" "$wifi_args"
129+
bash -c "set +e; pytest -s \"$sketchdir/test_$sketchname.py\" --build-dir \"$build_dir\" --junit-xml=\"$report_file\" -o junit_suite_name=${test_type}_${platform}_${target}_${sketchname}${i} ${extra_args[*]@Q} $wifi_args; exit \$?" || result=$?
123130
printf "\n"
124131
if [ $result -ne 0 ]; then
125132
printf "\033[91mFailed test: %s -- Config: %s\033[0m\n\n" "$sketchname" "$i"
@@ -137,6 +144,8 @@ platform="hardware"
137144
chunk_run=0
138145
options=0
139146
erase=0
147+
wifi_ssid=""
148+
wifi_password=""
140149

141150
while [ -n "$1" ]; do
142151
case $1 in
@@ -151,7 +160,6 @@ while [ -n "$1" ]; do
151160
platform="qemu"
152161
;;
153162
-W )
154-
shift
155163
if [[ -z $WOKWI_CLI_TOKEN ]]; then
156164
echo "Wokwi CLI token is not set"
157165
exit 1
@@ -188,6 +196,14 @@ while [ -n "$1" ]; do
188196
shift
189197
test_type=$1
190198
;;
199+
-wifi-ssid )
200+
shift
201+
wifi_ssid=$1
202+
;;
203+
-wifi-password )
204+
shift
205+
wifi_password=$1
206+
;;
191207
* )
192208
break
193209
;;

.github/workflows/build_component.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ on:
44
workflow_dispatch:
55
inputs:
66
idf_ver:
7-
description: "IDF Versions"
8-
default: "release-v5.3,release-v5.4,release-v5.5"
7+
description: "Comma separated list of IDF branches to build"
8+
default: "release-v5.5"
99
type: "string"
1010
required: true
1111
idf_targets:
12-
description: "IDF Targets"
13-
default: "esp32,esp32s2,esp32s3,esp32c2,esp32c3,esp32c6,esp32h2,esp32p4"
12+
description: "Comma separated list of IDF targets to build"
13+
default: "esp32,esp32s2,esp32s3,esp32c2,esp32c3,esp32c5,esp32c6,esp32c61,esp32h2,esp32p4"
1414
type: "string"
1515
required: false
1616
push:
@@ -26,7 +26,6 @@ on:
2626
- "idf_component_examples/**"
2727
- "idf_component.yml"
2828
- "Kconfig.projbuild"
29-
- "CMakeLists.txt"
3029
- ".github/workflows/build_component.yml"
3130
- ".github/scripts/check-cmakelists.sh"
3231
- ".github/scripts/on-push-idf.sh"
@@ -37,13 +36,15 @@ on:
3736
- "variants/esp32c3/**"
3837
- "variants/esp32c5/**"
3938
- "variants/esp32c6/**"
39+
- "variants/esp32c61/**"
4040
- "variants/esp32h2/**"
4141
- "variants/esp32p4/**"
4242
- "variants/esp32s2/**"
4343
- "variants/esp32s3/**"
4444
- "!*.md"
4545
- "!*.txt"
4646
- "!*.properties"
47+
- "CMakeLists.txt"
4748

4849
permissions:
4950
contents: read
@@ -125,7 +126,7 @@ jobs:
125126
echo "esp32,esp32s2,esp32s3,esp32c2,esp32c3,esp32c6,esp32h2,esp32p4"
126127
;;
127128
"release-v5.5")
128-
echo "esp32,esp32s2,esp32s3,esp32c2,esp32c3,esp32c5,esp32c6,esp32h2,esp32p4"
129+
echo "esp32,esp32s2,esp32s3,esp32c2,esp32c3,esp32c5,esp32c6,esp32c61,esp32h2,esp32p4"
129130
;;
130131
*)
131132
echo ""

.github/workflows/build_py_tools.yml

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -121,16 +121,14 @@ jobs:
121121
122122
- name: Sign binaries
123123
if: matrix.os == 'windows-latest'
124-
env:
125-
CERTIFICATE: ${{ secrets.CERTIFICATE }}
126-
CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }}
127-
shell: pwsh
128-
run: |
129-
$data = Write-Output ${{ env.CHANGED_TOOLS }}
130-
foreach ( $node in $data )
131-
{
132-
./.github/pytools/Sign-File.ps1 -Path ./${{ env.DISTPATH }}/$node.exe
133-
}
124+
uses: espressif/release-sign@33f3684091168d78b2cf6c8265bd9968c376254c # master
125+
with:
126+
path: ./${{ env.DISTPATH }}
127+
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
128+
azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }}
129+
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
130+
azure-keyvault-uri: ${{ secrets.AZURE_KEYVAULT_URI }}
131+
azure-keyvault-cert-name: ${{ secrets.AZURE_KEYVAULT_CERT_NAME }}
134132

135133
- name: Test binaries
136134
shell: bash

.github/workflows/push.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ on:
3232
- "libraries/**/ci.yml"
3333
- "package/**"
3434
- "tools/get.*"
35-
- "platform.txt"
36-
- "programmers.txt"
3735
- "package.json"
3836
- ".github/workflows/push.yml"
3937
- ".github/scripts/install-*"
@@ -51,6 +49,8 @@ on:
5149
- "!*.md"
5250
- "!*.txt"
5351
- "!*.properties"
52+
- "platform.txt"
53+
- "programmers.txt"
5454

5555
concurrency:
5656
group: build-${{github.event.pull_request.number || github.ref}}

0 commit comments

Comments
 (0)