Skip to content

Commit a6cc4ed

Browse files
authored
Merge branch 'master' into feat(boards-nesso-n1)
2 parents e28393c + d027ba1 commit a6cc4ed

Some content is hidden

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

49 files changed

+1136
-599
lines changed

.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/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: 6 additions & 5 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:
@@ -37,6 +37,7 @@ on:
3737
- "variants/esp32c3/**"
3838
- "variants/esp32c5/**"
3939
- "variants/esp32c6/**"
40+
- "variants/esp32c61/**"
4041
- "variants/esp32h2/**"
4142
- "variants/esp32p4/**"
4243
- "variants/esp32s2/**"
@@ -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/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ jobs:
6868
mkdir -p ${{ github.workspace }}/hosted
6969
7070
# Copy hosted binaries to proper directory without overwriting existing files
71-
cp -n ${{ github.workspace }}/hosted-latest/*.bin ${{ github.workspace }}/hosted/
71+
cp --update=none ${{ github.workspace }}/hosted-latest/*.bin ${{ github.workspace }}/hosted/
7272
7373
# Commit the changes
7474
git config user.name "github-actions[bot]"

.github/workflows/tests_hw_wokwi.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,14 @@ jobs:
361361
download_artifacts: 'true'
362362
download_artifacts_on_failure: 'true'
363363
download_path: './gitlab-artifacts'
364-
variables: '{"TEST_TYPES":"${{ steps.prepare-variables.outputs.test_types }}","TEST_CHIPS":"${{ steps.prepare-variables.outputs.test_chips }}","PIPELINE_ID":"${{ env.id }}","BINARIES_RUN_ID":"${{ github.event.workflow_run.id }}","GITHUB_REPOSITORY":"${{ github.repository }}"}'
364+
variables: >-
365+
{
366+
"TEST_TYPES":"${{ steps.prepare-variables.outputs.test_types }}",
367+
"TEST_CHIPS":"${{ steps.prepare-variables.outputs.test_chips }}",
368+
"PIPELINE_ID":"${{ env.id }}",
369+
"BINARIES_RUN_ID":"${{ github.event.workflow_run.id }}",
370+
"GITHUB_REPOSITORY":"${{ github.repository }}"
371+
}
365372
366373
- name: Process Downloaded Artifacts
367374
if: ${{ always() && steps.check-tests.outputs.enabled == 'true' }}
@@ -536,8 +543,11 @@ jobs:
536543
if: ${{ steps.check-tests.outputs.enabled == 'true' }}
537544
env:
538545
WOKWI_CLI_TOKEN: ${{ secrets.WOKWI_CLI_TOKEN }}
546+
WOKWI_WIFI_SSID: "Wokwi-GUEST"
547+
# The Wokwi Wi-Fi does not have a password, so we use an empty string
548+
WOKWI_WIFI_PASSWORD: ""
539549
run: |
540-
bash .github/scripts/tests_run.sh -c -type ${{ matrix.type }} -t ${{ matrix.chip }} -i 0 -m 1 -W
550+
bash .github/scripts/tests_run.sh -c -type "${{ matrix.type }}" -t "${{ matrix.chip }}" -i 0 -m 1 -W -wifi-ssid "${{ env.WOKWI_WIFI_SSID }}" -wifi-password "${{ env.WOKWI_WIFI_PASSWORD }}"
541551
542552
- name: Upload ${{ matrix.chip }} ${{ matrix.type }} Wokwi results as cache
543553
uses: actions/cache/save@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3

.gitlab/workflows/hw_test_template.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ include:
1212
hw-test-template:
1313
stage: test
1414
image: python:3.12-bookworm
15+
timeout: 5h
1516

1617
rules:
1718
- when: on_success
1819

1920
variables:
2021
RUNNER_SCRIPT_TIMEOUT: 4h
21-
RUNNER_AFTER_SCRIPT_TIMEOUT: 2h
2222
DEBIAN_FRONTEND: "noninteractive"
2323
TEST_TYPE: $TEST_TYPE
2424
TEST_CHIP: $TEST_CHIP
@@ -50,7 +50,7 @@ hw-test-template:
5050
[ -z "$d" ] && continue;
5151
sketch=$(basename "$d");
5252
echo Running $sketch in $d;
53-
bash .github/scripts/tests_run.sh -t $TEST_CHIP -s $sketch -e || rc=$?;
53+
bash .github/scripts/tests_run.sh -t "$TEST_CHIP" -s "$sketch" -e -wifi-ssid "$RUNNER_WIFI_SSID" -wifi-password "$RUNNER_WIFI_PASSWORD" || rc=$?;
5454
done <<< "$TEST_LIST"; exit $rc
5555
5656
artifacts:

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ Here are the ESP32 series supported by the Arduino-ESP32 project:
7676
| ESP32-S3 | Yes | Yes | [ESP32-S3](https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf) |
7777

7878
> [!NOTE]
79-
> ESP32-C2 is also supported by Arduino-ESP32 but requires using Arduino as an ESP-IDF component or rebuilding the static libraries.
79+
> ESP32-C2 and ESP32-C61 are also supported by Arduino-ESP32 but require using Arduino as an ESP-IDF component or rebuilding the static libraries.
8080
> For more information, see the [Arduino as an ESP-IDF component documentation](https://docs.espressif.com/projects/arduino-esp32/en/latest/esp-idf_component.html) or the
8181
> [Lib Builder documentation](https://docs.espressif.com/projects/arduino-esp32/en/latest/lib_builder.html), respectively.
8282

0 commit comments

Comments
 (0)