From e4d3c58a142af43047ae7e5500d4adfb87e99135 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Tue, 7 May 2024 11:28:20 +0200 Subject: [PATCH 1/6] ci(qemu): Add QEMU emulator to CI --- .github/scripts/sketch_utils.sh | 18 +++---- .github/scripts/tests_run.sh | 36 ++++++++++++- .github/workflows/hil.yml | 92 ++++++++++++++++++++++++++++----- .github/workflows/publish.yml | 2 +- platform.txt | 11 ++++ tests/democfg/.skip.qemu | 0 tests/nvs/.skip.qemu | 0 tests/periman/.skip.qemu | 0 tests/pytest.ini | 2 +- tests/requirements.txt | 5 +- tests/touch/.skip.qemu | 0 tests/uart/.skip.qemu | 0 12 files changed, 138 insertions(+), 28 deletions(-) create mode 100644 tests/democfg/.skip.qemu create mode 100644 tests/nvs/.skip.qemu create mode 100644 tests/periman/.skip.qemu create mode 100644 tests/touch/.skip.qemu create mode 100644 tests/uart/.skip.qemu diff --git a/.github/scripts/sketch_utils.sh b/.github/scripts/sketch_utils.sh index e8da865a067..33294710138 100755 --- a/.github/scripts/sketch_utils.sh +++ b/.github/scripts/sketch_utils.sh @@ -78,10 +78,10 @@ function build_sketch(){ # build_sketch [ex # Default FQBN options if none were passed in the command line. - esp32_opts="PSRAM=enabled,PartitionScheme=huge_app" + esp32_opts="FlashMode=dio,PSRAM=enabled,PartitionScheme=huge_app" esp32s2_opts="PSRAM=enabled,PartitionScheme=huge_app" esp32s3_opts="PSRAM=opi,USBMode=default,PartitionScheme=huge_app" - esp32c3_opts="PartitionScheme=huge_app" + esp32c3_opts="FlashMode=dio,PartitionScheme=huge_app" esp32c6_opts="PartitionScheme=huge_app" esp32h2_opts="PartitionScheme=huge_app" @@ -139,7 +139,7 @@ function build_sketch(){ # build_sketch [ex echo "Skipping $sketchname for target $target" exit 0 fi - + ARDUINO_CACHE_DIR="$HOME/.arduino/cache.tmp" if [ -n "$ARDUINO_BUILD_DIR" ]; then build_dir="$ARDUINO_BUILD_DIR" @@ -177,7 +177,7 @@ function build_sketch(){ # build_sketch [ex --build-path "$build_dir" \ $xtra_opts "${sketchdir}" \ > $output_file - + exit_status=$? if [ $exit_status -ne 0 ]; then echo ""ERROR: Compilation failed with error code $exit_status"" @@ -198,11 +198,11 @@ function build_sketch(){ # build_sketch [ex # Extract the desired substring using sed lib_sketch_name=$(echo "$directory_path" | sed "s|$constant_part||") #append json file where key is fqbn, sketch name, sizes -> extracted values - echo "{\"name\": \"$lib_sketch_name\", + echo "{\"name\": \"$lib_sketch_name\", \"sizes\": [{ - \"flash_bytes\": $flash_bytes, - \"flash_percentage\": $flash_percentage, - \"ram_bytes\": $ram_bytes, + \"flash_bytes\": $flash_bytes, + \"flash_percentage\": $flash_percentage, + \"ram_bytes\": $ram_bytes, \"ram_percentage\": $ram_percentage }] }," >> "$sizes_file" @@ -386,7 +386,7 @@ function build_sketches(){ # build_sketches > "$sizes_file" fi diff --git a/.github/scripts/tests_run.sh b/.github/scripts/tests_run.sh index ef56fcf2d0a..36ca8e68322 100755 --- a/.github/scripts/tests_run.sh +++ b/.github/scripts/tests_run.sh @@ -8,6 +8,11 @@ function run_test() { local sketchdir=$(dirname $sketch) local sketchname=$(basename $sketchdir) + if [[ -f "$sketchdir/.skip.$platform" ]] || [[ -f "$sketchdir/.skip.$target" ]] || [[ -f "$sketchdir/.skip.$platform.$target" ]]; then + echo "Skipping $sketchname test in $target for $platform" + exit 0 + fi + if [ $options -eq 0 ] && [ -f $sketchdir/cfg.json ]; then len=`jq -r --arg chip $target '.targets[] | select(.name==$chip) | .fqbn | length' $sketchdir/cfg.json` else @@ -33,7 +38,24 @@ function run_test() { report_file="tests/$sketchname/$sketchname$i.xml" fi - pytest tests --build-dir $build_dir -k test_$sketchname --junit-xml=$report_file + if [ $platform == "qemu" ]; then + PATH=$HOME/qemu/bin:$PATH + extra_args="--embedded-services qemu --qemu-image-path $build_dir/$sketchname.ino.merged.bin" + + if [ $target == "esp32" ] || [ $target == "esp32s3" ]; then + extra_args+=" --qemu-prog-path qemu-system-xtensa --qemu-cli-args=\"-machine $target -m 4M -nographic\"" + elif [ $target == "esp32c3" ]; then + extra_args+=" --qemu-prog-path qemu-system-riscv32 --qemu-cli-args=\"-machine $target -icount 3 -nographic\"" + else + echo "Unsupported QEMU target: $target" + exit 1 + fi + else + extra_args="--embedded-services esp,arduino" + fi + + echo "pytest tests --build-dir $build_dir -k test_$sketchname --junit-xml=$report_file $extra_args" + bash -c "pytest tests --build-dir $build_dir -k test_$sketchname --junit-xml=$report_file $extra_args" result=$? if [ $result -ne 0 ]; then return $result @@ -44,6 +66,7 @@ function run_test() { SCRIPTS_DIR="./.github/scripts" COUNT_SKETCHES="${SCRIPTS_DIR}/sketch_utils.sh count" +platform="hardware" chunk_run=0 options=0 erase=0 @@ -53,6 +76,13 @@ while [ ! -z "$1" ]; do -c ) chunk_run=1 ;; + -q ) + if [ ! -d $QEMU_PATH ]; then + echo "QEMU path $QEMU_PATH does not exist" + exit 1 + fi + platform="qemu" + ;; -o ) options=1 ;; @@ -86,7 +116,9 @@ while [ ! -z "$1" ]; do shift done -source ${SCRIPTS_DIR}/install-arduino-ide.sh +if [ ! $platform == "qemu" ]; then + source ${SCRIPTS_DIR}/install-arduino-ide.sh +fi if [ $chunk_run -eq 0 ]; then run_test $target $PWD/tests/$sketch/$sketch.ino $options $erase diff --git a/.github/workflows/hil.yml b/.github/workflows/hil.yml index bc3afe4193a..5b0ea751eff 100644 --- a/.github/workflows/hil.yml +++ b/.github/workflows/hil.yml @@ -1,4 +1,4 @@ -name: Run tests in hardware +name: Run tests on: pull_request: @@ -16,9 +16,7 @@ concurrency: jobs: gen_chunks: - if: | - contains(github.event.pull_request.labels.*.name, 'hil_test') || - (github.event_name == 'schedule' && github.repository == 'espressif/arduino-esp32') + if: github.repository == 'espressif/arduino-esp32' name: Generate Chunks matrix runs-on: ubuntu-latest outputs: @@ -41,7 +39,7 @@ jobs: CHUNKS=$(jq -c -n '$ARGS.positional' --args `seq 0 1 $((sketches - 1))`) echo "chunks=${CHUNKS}" >>$GITHUB_OUTPUT - Build: + build: needs: gen_chunks name: ${{matrix.chip}}-Build#${{matrix.chunks}} runs-on: ubuntu-latest @@ -63,9 +61,79 @@ jobs: ~/.arduino/tests/*/build*.tmp/*.bin ~/.arduino/tests/*/build*.tmp/*.json if-no-files-found: error - Test: - needs: [gen_chunks, Build] - name: ${{matrix.chip}}-Test#${{matrix.chunks}} + + qemu-test: + needs: [gen_chunks, build] + name: ${{matrix.chip}}-QEMU_Test#${{matrix.chunks}} + strategy: + fail-fast: false + matrix: + chip: ['esp32', 'esp32c3'] # Currently only ESP32 and ESP32-C3 are supported by QEMU + chunks: ${{fromJson(needs.gen_chunks.outputs.chunks)}} + runs-on: ubuntu-latest + env: + QEMU_INSTALL_PATH: "$HOME" + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Get QEMU version + uses: pozetroninc/github-action-get-latest-release@v0.7.0 + id: get-qemu-version + with: + token: ${{secrets.GITHUB_TOKEN}} + owner: espressif + repo: qemu + excludes: prerelease, draft + + - name: Cache tools + id: cache-linux + uses: actions/cache@v4 + with: + path: | + ~/qemu + ~/.cache/pip + key: ${{ steps.get-qemu-version.outputs.release }}-${{ hashFiles('.github/workflows/hil.yml') }} + + - name: Install dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt --extra-index-url https://dl.espressif.com/pypi + sudo apt update && sudo apt install libpixman-1-0 libnuma1 libglib2.0-0 libslirp0 libsdl2-2.0-0 + + - name: Download QEMU + if: steps.cache-linux.outputs.cache-hit != 'true' + run: | + cd ${{ env.QEMU_INSTALL_PATH }} + underscore_release=$(echo ${{ steps.get-qemu-version.outputs.release }} | sed 's/\-/_/g') + curl -L https://github.com/espressif/qemu/releases/download/${{ steps.get-qemu-version.outputs.release }}/qemu-riscv32-softmmu-${underscore_release}-x86_64-linux-gnu.tar.xz > qemu-riscv32.tar.xz + curl -L https://github.com/espressif/qemu/releases/download/${{ steps.get-qemu-version.outputs.release }}/qemu-xtensa-softmmu-${underscore_release}-x86_64-linux-gnu.tar.xz > qemu-xtensa.tar.xz + tar -xf qemu-riscv32.tar.xz + tar -xf qemu-xtensa.tar.xz + rm qemu-* + echo "QEMU_PATH=${{ env.QEMU_INSTALL_PATH }}/qemu" >> $GITHUB_ENV + + - name: Download ${{matrix.chip}}-${{matrix.chunks}} artifacts + uses: actions/download-artifact@v4 + with: + name: ${{matrix.chip}}-${{matrix.chunks}}.artifacts + path: ~/.arduino/tests/ + + - name: Run Tests + run: QEMU_PATH="${{env.QEMU_PATH}}" bash .github/scripts/tests_run.sh -c -t ${{matrix.chip}} -i ${{matrix.chunks}} -m ${{env.MAX_CHUNKS}} -q + + - name: Upload test result artifacts + uses: actions/upload-artifact@v4 + if: always() + with: + name: qemu_results-${{matrix.chip}}-${{matrix.chunks}} + path: tests/*/*.xml + + hardware-test: + needs: [gen_chunks, build] + name: ${{matrix.chip}}-Hardware_Test#${{matrix.chunks}} + if: | + contains(github.event.pull_request.labels.*.name, 'hil_test') || github.event_name == 'schedule' strategy: fail-fast: false matrix: @@ -100,15 +168,13 @@ jobs: uses: actions/upload-artifact@v4 if: always() with: - name: test_results-${{matrix.chip}}-${{matrix.chunks}} + name: hw_results-${{matrix.chip}}-${{matrix.chunks}} path: tests/*/*.xml event_file: name: "Event File" - if: | - contains(github.event.pull_request.labels.*.name, 'hil_test') || - github.event_name == 'schedule' - needs: Test + if: ${{ always() && !failure() && !cancelled() }} + needs: [hardware-test, qemu-test] runs-on: ubuntu-latest steps: - name: Upload diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 34d3564c4a8..026c9d59094 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -2,7 +2,7 @@ name: Unit Test Results on: workflow_run: - workflows: [Run tests in hardware] + workflows: [Run tests] branches-ignore: [master] types: diff --git a/platform.txt b/platform.txt index b6cae322e73..ea78d92897c 100644 --- a/platform.txt +++ b/platform.txt @@ -169,6 +169,17 @@ recipe.hooks.objcopy.postobjcopy.1.pattern.windows=cmd /c if exist "{build.path} recipe.hooks.objcopy.postobjcopy.2.pattern=/usr/bin/env bash -c "[ ! -d "{build.path}"/libraries/ESP_SR ] || [ ! -f "{compiler.sdk.path}"/esp_sr/srmodels.bin ] || cp -f "{compiler.sdk.path}"/esp_sr/srmodels.bin "{build.path}"/srmodels.bin" recipe.hooks.objcopy.postobjcopy.2.pattern.windows=cmd /c if exist "{build.path}\libraries\ESP_SR" if exist "{compiler.sdk.path}\esp_sr\srmodels.bin" COPY /y "{compiler.sdk.path}\esp_sr\srmodels.bin" "{build.path}\srmodels.bin" +## Create flash_args file +flash_args.path={build.path}/flash_args +recipe.hooks.objcopy.postobjcopy.3.pattern_args=(echo --fill-flash-size {build.flash_size} --flash_mode keep --flash_freq keep --flash_size keep; echo {build.bootloader_addr} "{build.path}/{build.project_name}.bootloader.bin"; echo 0x8000 "{build.path}/{build.project_name}.partitions.bin"; echo 0xe000 "{runtime.platform.path}/tools/partitions/boot_app0.bin"; echo 0x10000 "{build.path}/{build.project_name}.bin") > "{flash_args.path}" +recipe.hooks.objcopy.postobjcopy.3.pattern=/usr/bin/env bash -c "{recipe.hooks.objcopy.postobjcopy.3.pattern_args}" +recipe.hooks.objcopy.postobjcopy.3.pattern.windows=cmd /c {recipe.hooks.objcopy.postobjcopy.3.pattern_args} + +# Create merged binary +recipe.hooks.objcopy.postobjcopy.4.pattern_args=--chip {build.mcu} merge_bin -o "{build.path}/{build.project_name}.merged.bin" "@{flash_args.path}" +recipe.hooks.objcopy.postobjcopy.4.pattern="{tools.esptool_py.path}/{tools.esptool_py.cmd}" {recipe.hooks.objcopy.postobjcopy.4.pattern_args} +recipe.hooks.objcopy.postobjcopy.4.pattern.linux=python3 "{tools.esptool_py.path}/{tools.esptool_py.cmd}" {recipe.hooks.objcopy.postobjcopy.4.pattern_args} + ## Save bin recipe.output.tmp_file={build.project_name}.bin recipe.output.save_file={build.project_name}.{build.variant}.bin diff --git a/tests/democfg/.skip.qemu b/tests/democfg/.skip.qemu new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/nvs/.skip.qemu b/tests/nvs/.skip.qemu new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/periman/.skip.qemu b/tests/periman/.skip.qemu new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/pytest.ini b/tests/pytest.ini index ef7e6d7c5ae..9646d2f554d 100644 --- a/tests/pytest.ini +++ b/tests/pytest.ini @@ -1,5 +1,5 @@ [pytest] -addopts = --embedded-services esp,arduino +addopts = --embedded-services esp,arduino,qemu # log related log_cli = True diff --git a/tests/requirements.txt b/tests/requirements.txt index 896699b5752..364d2db8084 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,5 +1,6 @@ cryptography>=2.1.4 --only-binary cryptography pytest-cov -pytest-embedded-serial-esp>=1.3.4 -pytest-embedded-arduino>=1.3.4 +pytest-embedded-serial-esp>=1.10.1 +pytest-embedded-arduino>=1.10.1 +pytest-embedded-qemu>=1.10.1 diff --git a/tests/touch/.skip.qemu b/tests/touch/.skip.qemu new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/uart/.skip.qemu b/tests/uart/.skip.qemu new file mode 100644 index 00000000000..e69de29bb2d From bfb3a38ae1e8548d8dd1709e4cdd177856aef947 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Thu, 9 May 2024 16:56:00 +0200 Subject: [PATCH 2/6] ci(qemu): Fix windows build --- .github/scripts/on-push.sh | 2 +- .github/workflows/hil.yml | 17 +++++++---------- platform.txt | 8 +------- 3 files changed, 9 insertions(+), 18 deletions(-) diff --git a/.github/scripts/on-push.sh b/.github/scripts/on-push.sh index 30fd1653deb..dabfc3f35e2 100755 --- a/.github/scripts/on-push.sh +++ b/.github/scripts/on-push.sh @@ -60,7 +60,7 @@ elif [ "$CHUNK_INDEX" -eq "$CHUNKS_CNT" ]; then BUILD_PIO=1 fi -if [ "$BUILD_LOG" -le 0 ]; then +if [ -z "$BUILD_LOG" ] || [ "$BUILD_LOG" -le 0 ]; then BUILD_LOG=0 fi diff --git a/.github/workflows/hil.yml b/.github/workflows/hil.yml index b41bb84d13d..d8bd3e55ace 100644 --- a/.github/workflows/hil.yml +++ b/.github/workflows/hil.yml @@ -86,10 +86,9 @@ jobs: ~/.arduino/tests/**/build*.tmp/*.elf ~/.arduino/tests/**/build*.tmp/*.json - wokwi-test: + qemu-test: needs: [gen_chunks, build] - if: github.event_name == 'schedule' - name: ${{matrix.chip}}-Wokwi_Test#${{matrix.chunks}} + name: ${{matrix.chip}}-QEMU_Test#${{matrix.chunks}} strategy: fail-fast: false matrix: @@ -118,7 +117,7 @@ jobs: path: | ~/qemu ~/.cache/pip - key: ${{ steps.get-qemu-version.outputs.release }}-${{ hashFiles('.github/workflows/hil.yml') }} + key: qemu-${{ steps.get-qemu-version.outputs.release }}-${{ hashFiles('.github/workflows/hil.yml') }} - name: Install dependencies run: | @@ -154,11 +153,10 @@ jobs: name: qemu_results-${{matrix.chip}}-${{matrix.chunks}} path: tests/*/*.xml - hardware-test: + wokwi-test: needs: [gen_chunks, build] - name: ${{matrix.chip}}-Hardware_Test#${{matrix.chunks}} - if: | - contains(github.event.pull_request.labels.*.name, 'hil_test') || github.event_name == 'schedule' + if: github.event_name == 'schedule' + name: ${{matrix.chip}}-Wokwi_Test#${{matrix.chunks}} strategy: fail-fast: false matrix: @@ -174,7 +172,7 @@ jobs: with: name: ${{matrix.chip}}-${{matrix.chunks}}.artifacts path: ~/ - + - name: Install Wokwi CLI run: curl -L https://wokwi.com/ci/install.sh | sh @@ -274,4 +272,3 @@ jobs: with: name: Event File path: ${{github.event_path}} - diff --git a/platform.txt b/platform.txt index ea78d92897c..bc443b68a03 100644 --- a/platform.txt +++ b/platform.txt @@ -169,14 +169,8 @@ recipe.hooks.objcopy.postobjcopy.1.pattern.windows=cmd /c if exist "{build.path} recipe.hooks.objcopy.postobjcopy.2.pattern=/usr/bin/env bash -c "[ ! -d "{build.path}"/libraries/ESP_SR ] || [ ! -f "{compiler.sdk.path}"/esp_sr/srmodels.bin ] || cp -f "{compiler.sdk.path}"/esp_sr/srmodels.bin "{build.path}"/srmodels.bin" recipe.hooks.objcopy.postobjcopy.2.pattern.windows=cmd /c if exist "{build.path}\libraries\ESP_SR" if exist "{compiler.sdk.path}\esp_sr\srmodels.bin" COPY /y "{compiler.sdk.path}\esp_sr\srmodels.bin" "{build.path}\srmodels.bin" -## Create flash_args file -flash_args.path={build.path}/flash_args -recipe.hooks.objcopy.postobjcopy.3.pattern_args=(echo --fill-flash-size {build.flash_size} --flash_mode keep --flash_freq keep --flash_size keep; echo {build.bootloader_addr} "{build.path}/{build.project_name}.bootloader.bin"; echo 0x8000 "{build.path}/{build.project_name}.partitions.bin"; echo 0xe000 "{runtime.platform.path}/tools/partitions/boot_app0.bin"; echo 0x10000 "{build.path}/{build.project_name}.bin") > "{flash_args.path}" -recipe.hooks.objcopy.postobjcopy.3.pattern=/usr/bin/env bash -c "{recipe.hooks.objcopy.postobjcopy.3.pattern_args}" -recipe.hooks.objcopy.postobjcopy.3.pattern.windows=cmd /c {recipe.hooks.objcopy.postobjcopy.3.pattern_args} - # Create merged binary -recipe.hooks.objcopy.postobjcopy.4.pattern_args=--chip {build.mcu} merge_bin -o "{build.path}/{build.project_name}.merged.bin" "@{flash_args.path}" +recipe.hooks.objcopy.postobjcopy.4.pattern_args=--chip {build.mcu} merge_bin -o "{build.path}/{build.project_name}.merged.bin" --fill-flash-size {build.flash_size} --flash_mode keep --flash_freq keep --flash_size keep {build.bootloader_addr} "{build.path}/{build.project_name}.bootloader.bin" 0x8000 "{build.path}/{build.project_name}.partitions.bin" 0xe000 "{runtime.platform.path}/tools/partitions/boot_app0.bin" 0x10000 "{build.path}/{build.project_name}.bin" recipe.hooks.objcopy.postobjcopy.4.pattern="{tools.esptool_py.path}/{tools.esptool_py.cmd}" {recipe.hooks.objcopy.postobjcopy.4.pattern_args} recipe.hooks.objcopy.postobjcopy.4.pattern.linux=python3 "{tools.esptool_py.path}/{tools.esptool_py.cmd}" {recipe.hooks.objcopy.postobjcopy.4.pattern_args} From f19a5633b635afa7fe033cf38b2223908ded73e3 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Fri, 10 May 2024 01:10:09 +0200 Subject: [PATCH 3/6] ci(qemu): Fix skips --- .github/workflows/hil.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/hil.yml b/.github/workflows/hil.yml index 34a5cf615ae..a9e81d7846b 100644 --- a/.github/workflows/hil.yml +++ b/.github/workflows/hil.yml @@ -141,14 +141,23 @@ jobs: uses: actions/download-artifact@v4 with: name: ${{matrix.chip}}-${{matrix.chunks}}.artifacts - path: ~/.arduino/tests/ + path: ~/ - name: Run Tests run: QEMU_PATH="${{env.QEMU_PATH}}" bash .github/scripts/tests_run.sh -c -t ${{matrix.chip}} -i ${{matrix.chunks}} -m ${{env.MAX_CHUNKS}} -q + - name: Check if tests were skipped + id: check-test-skipped + run: | + if [ $(find "tests" -name ".test_skipped") ]; then + echo "skipped=true" >> $GITHUB_OUTPUT + else + echo "skipped=false" >> $GITHUB_OUTPUT + fi + - name: Upload test result artifacts uses: actions/upload-artifact@v4 - if: always() + if: ${{ always() && steps.check-test-skipped.outputs.skipped == 'false' }} with: name: qemu_results-${{matrix.chip}}-${{matrix.chunks}} path: tests/*/*.xml From fbc6066091aaa74402a9aaed93a1f14db1bfa7b9 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Fri, 10 May 2024 09:02:30 +0200 Subject: [PATCH 4/6] ci(qemu): Skip performance tests --- tests/performance/coremark/.skip.qemu | 0 tests/performance/fibonacci/.skip.qemu | 0 tests/performance/psramspeed/.skip.qemu | 0 tests/performance/ramspeed/.skip.qemu | 0 tests/performance/superpi/.skip.qemu | 0 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/performance/coremark/.skip.qemu create mode 100644 tests/performance/fibonacci/.skip.qemu create mode 100644 tests/performance/psramspeed/.skip.qemu create mode 100644 tests/performance/ramspeed/.skip.qemu create mode 100644 tests/performance/superpi/.skip.qemu diff --git a/tests/performance/coremark/.skip.qemu b/tests/performance/coremark/.skip.qemu new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/performance/fibonacci/.skip.qemu b/tests/performance/fibonacci/.skip.qemu new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/performance/psramspeed/.skip.qemu b/tests/performance/psramspeed/.skip.qemu new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/performance/ramspeed/.skip.qemu b/tests/performance/ramspeed/.skip.qemu new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/performance/superpi/.skip.qemu b/tests/performance/superpi/.skip.qemu new file mode 100644 index 00000000000..e69de29bb2d From ea3d0f4c360195c44a819ac0d479639e44505d66 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Mon, 13 May 2024 22:02:40 +0200 Subject: [PATCH 5/6] ci(qemu): Disable QEMU tests for now --- .github/workflows/hil.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/hil.yml b/.github/workflows/hil.yml index a9e81d7846b..4f3d3ac4df9 100644 --- a/.github/workflows/hil.yml +++ b/.github/workflows/hil.yml @@ -89,6 +89,7 @@ jobs: qemu-test: needs: [gen_chunks, build] name: ${{matrix.chip}}-QEMU_Test#${{matrix.chunks}} + if: ${{ false }} strategy: fail-fast: false matrix: From 6e7072b3fcb968844f20a5206c46763d4afab081 Mon Sep 17 00:00:00 2001 From: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Date: Mon, 13 May 2024 22:09:39 +0200 Subject: [PATCH 6/6] fix(platform): Fix build script recipe number --- platform.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platform.txt b/platform.txt index bc443b68a03..4e379e86577 100644 --- a/platform.txt +++ b/platform.txt @@ -170,9 +170,9 @@ recipe.hooks.objcopy.postobjcopy.2.pattern=/usr/bin/env bash -c "[ ! -d "{build. recipe.hooks.objcopy.postobjcopy.2.pattern.windows=cmd /c if exist "{build.path}\libraries\ESP_SR" if exist "{compiler.sdk.path}\esp_sr\srmodels.bin" COPY /y "{compiler.sdk.path}\esp_sr\srmodels.bin" "{build.path}\srmodels.bin" # Create merged binary -recipe.hooks.objcopy.postobjcopy.4.pattern_args=--chip {build.mcu} merge_bin -o "{build.path}/{build.project_name}.merged.bin" --fill-flash-size {build.flash_size} --flash_mode keep --flash_freq keep --flash_size keep {build.bootloader_addr} "{build.path}/{build.project_name}.bootloader.bin" 0x8000 "{build.path}/{build.project_name}.partitions.bin" 0xe000 "{runtime.platform.path}/tools/partitions/boot_app0.bin" 0x10000 "{build.path}/{build.project_name}.bin" -recipe.hooks.objcopy.postobjcopy.4.pattern="{tools.esptool_py.path}/{tools.esptool_py.cmd}" {recipe.hooks.objcopy.postobjcopy.4.pattern_args} -recipe.hooks.objcopy.postobjcopy.4.pattern.linux=python3 "{tools.esptool_py.path}/{tools.esptool_py.cmd}" {recipe.hooks.objcopy.postobjcopy.4.pattern_args} +recipe.hooks.objcopy.postobjcopy.3.pattern_args=--chip {build.mcu} merge_bin -o "{build.path}/{build.project_name}.merged.bin" --fill-flash-size {build.flash_size} --flash_mode keep --flash_freq keep --flash_size keep {build.bootloader_addr} "{build.path}/{build.project_name}.bootloader.bin" 0x8000 "{build.path}/{build.project_name}.partitions.bin" 0xe000 "{runtime.platform.path}/tools/partitions/boot_app0.bin" 0x10000 "{build.path}/{build.project_name}.bin" +recipe.hooks.objcopy.postobjcopy.3.pattern="{tools.esptool_py.path}/{tools.esptool_py.cmd}" {recipe.hooks.objcopy.postobjcopy.3.pattern_args} +recipe.hooks.objcopy.postobjcopy.3.pattern.linux=python3 "{tools.esptool_py.path}/{tools.esptool_py.cmd}" {recipe.hooks.objcopy.postobjcopy.3.pattern_args} ## Save bin recipe.output.tmp_file={build.project_name}.bin